public override void EnterState(SpikyFSM spiky) { Setup(spiky); PlayAnimation(spiky); PlayAudio(); BeingHitAction(spiky); }
public override void Update(SpikyFSM spiky) { if (base.CheckTransitionToAttacking(spiky)) { return; } }
public virtual bool CheckTransitionToAttacking(SpikyFSM spiky) { if (spiky.attackCooldownTimer <= 0) { spiky.TransitionToState(spiky.AttackingState); return(true); } return(false); }
public virtual bool CheckTransitionToDying(SpikyFSM spiky) { if (spiky.currentHealth <= 0) { spiky.TransitionToState(spiky.DyingState); return(true); } return(false); }
public override void FixedUpdate(SpikyFSM spiky) { if (attackingTimer >= 0) { attackingTimer -= Time.deltaTime; return; } AttackAction(spiky); if (base.CheckTransitionToIdle(spiky)) { return; } }
private void AttackAction(SpikyFSM spiky) { if (spiky.spriteRenderer.isVisible) { Manager.audio.Play("Enemy Shoot"); } Vector3[] bulletDirections = spiky.CalculateDirections(); for (int i = 0; i < bulletDirections.Length; i++) { Vector3 position = spiky.bulletStartTransforms[i].position; Vector3 angle = spiky.bulletStartTransforms[i].eulerAngles; spiky.SpawnBullet(position, angle, bulletDirections[i]); } spiky.attackCooldownTimer = spiky.startAttackCooldownTimer; }
public override void FixedUpdate(SpikyFSM spiky) { if (base.CheckTransitionToDying(spiky)) { return; } if (hitTimer >= 0) { hitTimer -= Time.deltaTime; return; } if (base.CheckTransitionToIdle(spiky)) { return; } }
public override void EnterState(SpikyFSM spiky) { PlayAnimation(spiky); IdleAction(spiky); }
private void IdleAction(SpikyFSM spiky) { spiky.rb.velocity = Vector2.zero; }
private void PlayAnimation(SpikyFSM spiky) { spiky.animator.Play("Idle"); }
public override void EnterState(SpikyFSM spiky) { Enemy.DieAction(spiky.gameObject); }
private void PlayAnimation(SpikyFSM spiky) { spiky.animator.Play("Attacking"); }
private void BeingHitAction(SpikyFSM spiky) { spiky.rb.velocity = Vector2.zero; }
private void PlayAnimation(SpikyFSM spiky) { spiky.animator.Play("BeingHit", -1, 0f); }
private void Setup(SpikyFSM spiky) { hitTimer = Helper.GetAnimationDuration("BeingHit", spiky.animator); }
private void Setup(SpikyFSM spiky) { attackingTimer = spiky.bulletSpawnTimerSyncedWithAnimation; bulletDirections = new Vector2[5]; }
public virtual void FixedUpdate(SpikyFSM spiky) { }
public override void EnterState(SpikyFSM spiky) { Setup(spiky); PlayAnimation(spiky); }
public virtual bool CheckTransitionToIdle(SpikyFSM spiky) { spiky.TransitionToState(spiky.IdleState); return(true); }
public abstract void EnterState(SpikyFSM spiky);