Alpha v0.6.0
Pre-release
Pre-release
Additions:
- Danmaku Colliders is now an open abstract class. IDanmakuCollider still exists for behaviours that want to interact with danmaku, but can't sublcass DanmakuCollider. DanmakuCollider generalizes functionality previously seen in DanmakuBoundary with the addition of regex filtering on the tags.
- Added DeactivationCollider, deactivates all bullets that match it's target tags. Previous functionality seen in Danmaku Boundary has been moved here.
- Added RedirectionCollider, it changes the direction Danmaku travel in based on some parameters. It works only once per danmaku, and it's implemented in a similar fashion to that of DelayedAngleChange Danmaku Controller.
- Added ConstantForceCollider: pushes danmaku in a certain direction so long as it is contacting the collider.
- Added AccelerationCollider: speeds up or slows down danmaku so long as it is contacting the collider.
- Added ReflectionCollider: reflects danmaku using vector reflection.
- Added ColorChangeCollider, makes bullets change color on contact
- Added PrefabChangeCollider, changes the prefab of the bullet on contact.
- Added AddControllerCollider, adds additional Danmaku Controllers to the bullets that come in contact with it.
- Added ClearControllersCollider, clears all Danmaku Controllers from the bullets that come in contact with it.
- Added HomingController, makes bullets home on the player.
- Added AddControllersModifier, adds additional Danmaku Controllers when used to fire bullets.
- Added ClearControllersModifier, clears all Danmaku Controllers used on bullets when used to firing.
- Added ChangePrefabModifier, changes the prefab used when firing.
- Added additional collision types for bullets. Box, Line and Point colliders are now available.
- Added utility functions for easier manipulations of bullets that also make the code a bit easier to read.
Changes:
- Danmaku can now be fired without being bound to a Danmaku Field
- FireBuilder has been completely rewritten to allow for easier use, using a fluent interface design, it makes the code easy to write and easy to read.
- The dependency on UnityUtilLib was removed. Instead a Util package is seperated for utility functions specific to DanmakU.
- DanmakuGroups are not limited to HashSet derivations.
- DanmakuGroup is now an abstract class, and can use any implementation of ICollection as the underlying backing collection. (Note that only HashSets are assured to maintain a no-duplicate property).
- Danmaku Field no longer restricts what can and can't be done with the field's camera.
- Multiple 3D cameras can be attached to the same Danmaku Field. All will share the same viewport on the screen with the 2D camera. Using the depth property on them, the cameras can be used to render different items as needed.
- Danmaku Prefabs can now support MeshRenderers, you can make 3D danmaku with any Mesh/Material combination.
- Changed IDanmakuCollider to pass in a RaycastHit2D parameter as well to provide more information on the collision.
- ColorFadeController is now ColorChangeController, and several additional options for changing the color of the bullets have been added.
- Previous packages have been moved to separate repositories and have separate releases altogether. Releases and code provided in this repository will now be solely for the core DanmakU package.
- Operations that previously allowed mass manipulation of bullets via Danmaku Groups is now generalized as extension methods for any container that extends IEnumerable. This ranges from Lists, to HashSets, to simple arrays of Danmaku.