Example #1
0
 private void DoSpecial(Vector2 inputVector, IsometricCharacterRenderer isoRenderer, string animatedString)
 {
     if (animatedString == "zxx")
     {
         LinearBullet spawned = Instantiate <LinearBullet>(normalRangedAttackPrefab);
         spawned.Setup(transform.position, (Vector2)transform.position + IntDirectionToVector(isoRenderer.LastDirection), 0.25f, 40);
     }
 }
Example #2
0
 private void RapidShootPerFrame()
 {
     if (currentState == BossState.Shoot && shootState == ShootState.Rapid)
     {
         if (shootCounter > rapidShootRateFrame)
         {
             //shoot
             LinearBullet spawned = Instantiate <LinearBullet>(basicBullet);
             spawned.Setup(spawner1.transform.position, player.transform.position, basicBulletVelocity, basicBulletDamage);
             animator.Play("attack_FULL");
             shootCounter = 0;
         }
         else
         {
             shootCounter++;
         }
     }
 }
Example #3
0
 private void StarShootPerFrame()
 {
     if (currentState == BossState.Shoot && shootState == ShootState.Star)
     {
         if (shootCounter > rapidShootRateFrame)
         {
             //shoot
             for (int i = 0; i < starDirections.Count; i++)
             {
                 LinearBullet spawned     = Instantiate <LinearBullet>(basicBullet);
                 Vector2      targetPoint = (Vector2)spawner1.transform.position + starDirections[i];
                 animator.Play("attack_FULL");
                 spawned.Setup(spawner1.transform.position, targetPoint, basicBulletVelocity, basicBulletDamage);
             }
             shootCounter = 0;
         }
         else
         {
             shootCounter++;
         }
     }
 }
Example #4
0
 private void StateMachineRunningPerFrame()
 {
     BasicRangeState nextState = BasicRangeState.Idle;
     if (currentState == BasicRangeState.Meet)
     {
         if (canAttack)
         {
             LinearBullet spawned = Instantiate<LinearBullet>(linearBullet);
             spawned.Setup(transform.position, player.transform.position, bulletVelocity, damage);
             canAttack = false;
         }
         if (!IsPlayerInMeetRange()) nextState = BasicRangeState.Idle;
         else if (IsPlayerInEscapeRange()) nextState = BasicRangeState.Escape;
         else nextState = BasicRangeState.Meet;
     }
     else if (currentState == BasicRangeState.Escape)
     {
         if (!IsPlayerInMeetRange()) nextState = BasicRangeState.Idle;
         else if (!IsPlayerInEscapeRange()) nextState = BasicRangeState.Meet;
         else nextState = BasicRangeState.Escape;
     }
     else if (currentState == BasicRangeState.Death)
     {
         if (stateCounter >= deathFrame)
         {
             nextState = BasicRangeState.Death;
             monsterHealth.Die();
         }
         else
         {
             stateCounter++;
             nextState = BasicRangeState.Death;
         }
     }
     else if (currentState == BasicRangeState.Hurt)
     {
         if (stateCounter >= hurtFrame)
         {
             nextState = BasicRangeState.Meet;
         }
         else
         {
             stateCounter++;
             nextState = BasicRangeState.Hurt;
         }
     }
     else
     {
         // Check if meet
         if (IsPlayerInMeetRange()) nextState = BasicRangeState.Meet;
         else nextState = BasicRangeState.Idle;
     }
     if (currentState != BasicRangeState.Hurt && monsterHealth.IsHurt)
     {
         nextState = BasicRangeState.Hurt;
     }
     if (currentState != BasicRangeState.Death && monsterHealth.IsDie)
     {
         nextState = BasicRangeState.Death;
     }
     if(nextState != currentState) changeState(nextState);
 }