Update() public method

public Update ( ) : void
return void
コード例 #1
0
ファイル: Tank.cs プロジェクト: yueChin/tanks-test
 public virtual void Update()
 {
     if (mIsKilled)
     {
         mDestroyTimer -= Time.deltaTime;
         if (mDestroyTimer <= 0) //播放完特效后,销毁
         {
             mCanDestroy = true;
         }
         return;
     }
     mTurret.Update();
 }
コード例 #2
0
        private void UpdatePlayerTurrets(GameTime gameTime, ContentManager content, int screenWidth, int screenHeight)
        {
            if (hasTurretOne)
            {
                playerTurretOne.Update(gameTime, screenWidth, screenHeight);
                if (playerTurretOne.CanAttack)
                {
                    foreach (Soldier enemyTroop in soldierManager.EnemyTroops)
                    {
                        if ((double)Vector2.Distance(playerTurretOne.Position, enemyTroop.Position) < 400.0 && !playerTurretOne.Arrow.IsActive && (double)enemyTroop.Position.X > (double)playerTurretOne.Position.X)
                        {
                            playerTurretOne.Shoot(enemyTroop.Position, content);
                        }
                    }
                    foreach (RangedSoldier enemyRangedTroop in soldierManager.EnemyRangedTroops)
                    {
                        if ((double)Vector2.Distance(playerTurretOne.Position, enemyRangedTroop.Position) < 400.0 && !playerTurretOne.Arrow.IsActive && (double)enemyRangedTroop.Position.X > (double)playerTurretOne.Position.X)
                        {
                            playerTurretOne.Shoot(enemyRangedTroop.Position, content);
                        }
                    }
                }
                foreach (Soldier enemyTroop in soldierManager.EnemyTroops)
                {
                    if (playerTurretOne.Arrow.Rectangle.Intersects(enemyTroop.Rectangle) && playerTurretOne.Arrow.IsActive)
                    {
                        enemyTroop.Health -= playerTurretOne.Damage;
                        enemyTroop.Hit();
                        playerTurretOne.Arrow.Kill();
                    }
                }
                foreach (RangedSoldier enemyRangedTroop in soldierManager.EnemyRangedTroops)
                {
                    if (playerTurretOne.Arrow.Rectangle.Intersects(enemyRangedTroop.Rectangle) && playerTurretOne.Arrow.IsActive)
                    {
                        enemyRangedTroop.Health -= playerTurretOne.Damage;
                        enemyRangedTroop.Hit();
                        playerTurretOne.Arrow.Kill();
                    }
                }
            }
            if (!hasTurretTwo)
            {
                return;
            }

            playerTurretTwo.Update(gameTime, screenWidth, screenHeight);
            foreach (Soldier enemyTroop in soldierManager.EnemyTroops)
            {
                if ((double)Vector2.Distance(playerTurretTwo.Position, enemyTroop.Position) < 275.0 && playerTurretTwo.CanAttack && (!playerTurretTwo.Arrow.IsActive && (double)enemyTroop.Position.X > (double)playerTurretTwo.Position.X))
                {
                    playerTurretTwo.Shoot(enemyTroop.Position, content);
                }
            }
            foreach (RangedSoldier enemyRangedTroop in soldierManager.EnemyRangedTroops)
            {
                if ((double)Vector2.Distance(playerTurretTwo.Position, enemyRangedTroop.Position) < 275.0 && playerTurretTwo.CanAttack && (!playerTurretTwo.Arrow.IsActive && (double)enemyRangedTroop.Position.X > (double)playerTurretTwo.Position.X))
                {
                    playerTurretTwo.Shoot(enemyRangedTroop.Position, content);
                }
            }
            if (playerTurretTwo.Arrow.IsActive)
            {
                foreach (Soldier enemyTroop in soldierManager.EnemyTroops)
                {
                    if (playerTurretTwo.Arrow.Rectangle.Intersects(enemyTroop.Rectangle) && playerTurretTwo.Arrow.IsActive)
                    {
                        enemyTroop.Health -= playerTurretTwo.Damage;
                        enemyTroop.Hit();
                        playerTurretTwo.Arrow.Kill();
                    }
                }
                foreach (RangedSoldier enemyRangedTroop in soldierManager.EnemyRangedTroops)
                {
                    if (playerTurretTwo.Arrow.Rectangle.Intersects(enemyRangedTroop.Rectangle) && playerTurretTwo.Arrow.IsActive)
                    {
                        enemyRangedTroop.Health -= playerTurretTwo.Damage;
                        enemyRangedTroop.Hit();
                        playerTurretTwo.Arrow.Kill();
                    }
                }
            }
        }