|
| virtual void | OnTriggerEnter2D (Collider2D collider) |
| | On trigger enter 2D, we call our colliding endpoint.
|
| virtual void | PreventedCollision2D (RaycastHit2D hit) |
| | If we get a prevent collision 2D message, we check if we should bounce.
|
| virtual void | Movement () |
| | Handles the projectile's movement, every frame.
|
| virtual void | SetDirection (Vector3 newDirection, Quaternion newRotation, bool spawnerIsFacingRight=true) |
| | Sets the projectile's direction.
|
| virtual void | Flip () |
| | Flip the projectile.
|
| virtual void | SetWeapon (Weapon newWeapon) |
| | Sets the projectile's parent weapon.
|
| virtual void | SetOwner (GameObject newOwner) |
| | Sets the projectile's owner.
|
| virtual GameObject | GetOwner () |
| | Returns the current Owner of the projectile.
|
| virtual void | SetDamage (int newDamage) |
| | Sets the damage caused by the projectile's DamageOnTouch to the specified value.
|
| delegate void | Events () |
| virtual void | Destroy () |
| | Turns the instance inactive, in order to eventually reuse it.
|
| virtual void | TriggerOnSpawnComplete () |
| | Triggers the on spawn complete event.
|
| virtual Bounds | GetBounds () |
| | Returns the bounds of the object, based on what has been defined.
|
|
| float | BounceRaycastLength = 1f |
| | the length of the raycast used to detect bounces, should be proportionate to the size and speed of your projectile
|
| LayerMask | BounceLayers |
| | the layers you want this projectile to bounce on
|
| MMFeedbacks | BounceFeedback |
| | a feedback to trigger at every bounce
|
| Vector2Int | AmountOfBounces = new Vector2Int(10, 10) |
| | the min and max amount of bounces (a value will be picked at random between both bounds)
|
| Vector2 | SpeedModifier = Vector2.one |
| | the min and max speed multiplier to apply at every bounce (a value will be picked at random between both bounds)
|
| bool | FaceDirection = true |
| | if true, the projectile will rotate at initialization towards its rotation
|
| bool | FaceMovementDirection = false |
| | if this is true, the projectile will update its rotation every frame to match its movement direction
|
| float | Speed = 200 |
| | the speed of the object (relative to the level's speed)
|
| float | Acceleration = 0 |
| | the acceleration of the object over time. Starts accelerating on enable.
|
| Vector3 | Direction = Vector3.left |
| | the current direction of the object
|
| bool | DirectionCanBeChangedBySpawner = true |
| | if set to true, the spawner can change the direction of the object. If not the one set in its inspector will be used.
|
| Vector3 | FlipValue = new Vector3(-1,1,1) |
| | the flip factor to apply if and when the projectile is mirrored - this will only be taken into account if this projectile's game object doesn't have a SpriteRenderer component. If it does, the flipX property of the SpriteRenderer will be used instead.
|
| bool | ProjectileIsFacingRight = true |
| | determines whether or not the projectile is facing right
|
| float | InitialInvulnerabilityDuration =0f |
| | the initial delay during which the projectile can't be destroyed
|
| bool | DamageOwner = false |
| | should the projectile damage its owner ?
|
| bool | SpawnSecurityCheck = false |
| | if this is true, the projectile will perform an extra check on initialization to make sure it's not within an obstacle. If it is, it'll disable itself.
|
| LayerMask | SpawnSecurityCheckLayerMask |
| | the layermask to use when performing the security check
|
| UnityEvent | ExecuteOnEnable |
| UnityEvent | ExecuteOnDisable |
| float | LifeTime = 0f |
| | The life time, in seconds, of the object. If set to 0 it'll live forever, if set to any positive value it'll be set inactive after that time.
|
| WaysToDetermineBounds | BoundsBasedOn |
|
| override void | Initialization () |
| | On init we randomize our values, refresh our 2D collider because Unity is weird sometimes.
|
| virtual void | Colliding (GameObject collider) |
| | Colliding endpoint.
|
| virtual void | EvaluateHit (RaycastHit2D hit) |
| | Decides whether or not we should bounce.
|
| virtual void | Bounce (RaycastHit2D hit) |
| | Applies a bounce in 2D.
|
| virtual void | LateUpdate () |
| | On late update we store our position.
|
| virtual void | Awake () |
| | On awake, we store the initial speed of the object.
|
| virtual IEnumerator | InitialInvulnerability () |
| | Handles the projectile's initial invincibility.
|
| virtual void | CheckForCollider () |
| | Performs a local check to see if the projectile is within a collider or not.
|
| virtual void | FixedUpdate () |
| | On FixedUpdate(), we move the object based on the level's speed and the object's speed, and apply acceleration.
|
| virtual void | HandleFaceMovement () |
| | If FaceMovementDirection is true, orients the projectile to match its current movement direction.
|
| virtual void | OnHit () |
| | On hit, we trigger a hit on our owner weapon.
|
| virtual void | OnHitDamageable () |
| | On hit damageable, we trigger a hit damageable on our owner weapon.
|
| virtual void | OnHitNonDamageable () |
| | On hit non damageable, we trigger a hit non damageable on our owner weapon.
|
| virtual void | OnKill () |
| | On kill, we trigger a kill on our owner weapon.
|
| override void | OnEnable () |
| | On enable, we reset the object's speed.
|
| override void | OnDisable () |
| | On disable, we unsubscribe from our delegates.
|
| virtual void | Update () |
| | Called every frame.
|
| virtual void | Reset () |
| | When this component is added we define its bounds.
|
| virtual void | DefineBoundsChoice () |
| | Tries to determine automatically what the bounds should be based on. In this order, it'll keep the last found of these : Collider2D, Collider or Renderer. If none of these is found, it'll be set as Undefined.
|
Projectile class that will bounce off walls instead of exploding on impact.