public virtual bool CheckTransitionToAttacking(BeeFSM bee) { if (bee.attackCooldownTimer <= 0) { bee.TransitionToState(bee.AttackingState); return(true); } return(false); }
public virtual bool CheckTransitionToDying(BeeFSM bee) { if (bee.currentHealth <= 0) { bee.TransitionToState(bee.DyingState); return(true); } return(false); }
public override void Update(BeeFSM bee) { Helper.PlayAnimationIfPossible("Moving", bee.animator, waitAnimations); base.MoveAction(bee); if (base.CheckTransitionToAttacking(bee)) { return; } }
private Vector2 NewTargetPosition(BeeFSM bee) { if (bee.moveVertically) { return(new Vector2(bee.transform.position.x, bee.initialCoord + bee.distanceToMove)); } else { return(new Vector2(bee.initialCoord + bee.distanceToMove, bee.transform.position.y)); } }
public override void FixedUpdate(BeeFSM bee) { base.MoveAction(bee); if (attackingTimer >= 0) { attackingTimer -= Time.deltaTime; return; } AttackAction(bee); if (base.CheckTransitionToMoving(bee)) { return; } }
public override void FixedUpdate(BeeFSM bee) { if (base.CheckTransitionToDying(bee)) { return; } if (hitTimer >= 0) { hitTimer -= Time.deltaTime; return; } if (base.CheckTransitionToMoving(bee)) { return; } }
private void Setup(BeeFSM bee) { hitTimer = Helper.GetAnimationDuration("BeingHit", bee.animator); }
void Awake() { myAnimator = GetComponent<Animator>(); motor = GetComponent<BasicMotor>(); myFSM = new BeeFSM(this); }
public override void EnterState(BeeFSM bee) { Setup(bee); PlayAnimation(bee); }
private void PlayAnimation(BeeFSM bee) { bee.animator.Play("Attacking"); }
private void Setup(BeeFSM bee) { attackingTimer = bee.bulletTimerSyncedWithAnimation; }
public override void EnterState(BeeFSM bee) { Setup(); }
public virtual void FixedUpdate(BeeFSM bee) { }
public abstract void EnterState(BeeFSM bee);
public virtual bool CheckTransitionToMoving(BeeFSM bee) { bee.TransitionToState(bee.MovingState); return(true); }
private void PlayAnimation(BeeFSM bee) { bee.animator.Play("BeingHit", -1, 0f); }
private void BeingHitAction(BeeFSM bee) { bee.rb.velocity = Vector2.zero; }
public override void EnterState(BeeFSM bee) { Enemy.DieAction(bee.gameObject); }