Beispiel #1
0
    public virtual bool CheckTransitionToAttacking(BeeFSM bee)
    {
        if (bee.attackCooldownTimer <= 0)
        {
            bee.TransitionToState(bee.AttackingState);
            return(true);
        }

        return(false);
    }
Beispiel #2
0
    public virtual bool CheckTransitionToDying(BeeFSM bee)
    {
        if (bee.currentHealth <= 0)
        {
            bee.TransitionToState(bee.DyingState);
            return(true);
        }

        return(false);
    }
Beispiel #3
0
    public override void Update(BeeFSM bee)
    {
        Helper.PlayAnimationIfPossible("Moving", bee.animator, waitAnimations);
        base.MoveAction(bee);

        if (base.CheckTransitionToAttacking(bee))
        {
            return;
        }
    }
Beispiel #4
0
 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));
     }
 }
Beispiel #5
0
    public override void FixedUpdate(BeeFSM bee)
    {
        base.MoveAction(bee);

        if (attackingTimer >= 0)
        {
            attackingTimer -= Time.deltaTime;
            return;
        }

        AttackAction(bee);
        if (base.CheckTransitionToMoving(bee))
        {
            return;
        }
    }
Beispiel #6
0
    public override void FixedUpdate(BeeFSM bee)
    {
        if (base.CheckTransitionToDying(bee))
        {
            return;
        }

        if (hitTimer >= 0)
        {
            hitTimer -= Time.deltaTime;
            return;
        }

        if (base.CheckTransitionToMoving(bee))
        {
            return;
        }
    }
Beispiel #7
0
 private void Setup(BeeFSM bee)
 {
     hitTimer = Helper.GetAnimationDuration("BeingHit", bee.animator);
 }
 void Awake()
 {
     myAnimator = GetComponent<Animator>();
     motor = GetComponent<BasicMotor>();
     myFSM = new BeeFSM(this);
 }
Beispiel #9
0
 public override void EnterState(BeeFSM bee)
 {
     Setup(bee);
     PlayAnimation(bee);
 }
Beispiel #10
0
 private void PlayAnimation(BeeFSM bee)
 {
     bee.animator.Play("Attacking");
 }
Beispiel #11
0
 private void Setup(BeeFSM bee)
 {
     attackingTimer = bee.bulletTimerSyncedWithAnimation;
 }
Beispiel #12
0
 public override void EnterState(BeeFSM bee)
 {
     Setup();
 }
Beispiel #13
0
 public virtual void FixedUpdate(BeeFSM bee)
 {
 }
Beispiel #14
0
 public abstract void EnterState(BeeFSM bee);
Beispiel #15
0
 public virtual bool CheckTransitionToMoving(BeeFSM bee)
 {
     bee.TransitionToState(bee.MovingState);
     return(true);
 }
Beispiel #16
0
 private void PlayAnimation(BeeFSM bee)
 {
     bee.animator.Play("BeingHit", -1, 0f);
 }
Beispiel #17
0
 private void BeingHitAction(BeeFSM bee)
 {
     bee.rb.velocity = Vector2.zero;
 }
Beispiel #18
0
 public override void EnterState(BeeFSM bee)
 {
     Enemy.DieAction(bee.gameObject);
 }