Update() public method

public Update ( ) : void
return void
Exemplo n.º 1
0
    public void Update()
    {
        if (_totalTimeOnGame != float.MaxValue)
        {
            _totalTimeOnGame += Time.deltaTime;
            if (_totalTimeOnGame < 0.0f)
            {
                _totalTimeOnGame = float.MaxValue;
            }
        }

        _aiPlayer.Update();
    }
Exemplo n.º 2
0
        public void UpdateAllPlayers(GameTime gameTime)
        {
            if ((this.GetPlayer(this.LocalPlayer) != null))
            {
                if (this.GetPlayer(this.LocalPlayer).CharacterController.Body != null)
                {
                    this.OnPlayerStateChanged(this.GetPlayer(this.LocalPlayer));
                }
            }

            foreach (long key in players.Keys)
            {
                if (!players[key].IsDead)
                {
                    if (players[key].Health <= 0)
                    {
                        players[key].die();
                        game.Space.Remove(players[key].CharacterController);
                        if (this.game.NetworkManager == null || this.game.NetworkManager.GetType().Equals(typeof(ServerNetworkManager)))
                        {
                            game.ScoreBoard.kill(players[key].LastHit, key);
                        }
                    }
                    if (!players[key].IsDead)
                    {
                        if (key == LocalPlayer)
                        {
                            ((HumanPlayer)players[key]).Update(gameTime);
                        }
                        else if (!(players[key] is AIPlayer))
                        {
                            players[key].Update(gameTime);
                        }
                    }
                }
                else
                {
                    if (players[key].TimeOfDeath.Add(new TimeSpan(0, 0, 10)) < DateTime.Now)
                    {
                        players[key].respawn(nextSpawnPoint());
                        game.Space.Add(players[key].CharacterController);
                    }
                }
                AIPlayer test = players[key] as AIPlayer;
                if (test != null)
                {
                    test.Update(gameTime);
                }
            }
        }
Exemplo n.º 3
0
        public void Update(float elapsedSeconds)
        {
            switch (state)
            {
            case GameState.Ready:
                totalElapsedSeconds += elapsedSeconds;
                if (totalElapsedSeconds > 2)
                {
                    SetState(GameState.Playing);
                }
                break;

            case GameState.Playing:
                switch (substate)
                {
                case GameSubstate.Normal:
                    totalElapsedSeconds += elapsedSeconds;
                    if (player != null)
                    {
                        player.Update(elapsedSeconds);
                    }
                    if (aiPlayer != null)
                    {
                        aiPlayer.Update(elapsedSeconds);
                    }
                    if (food != null)
                    {
                        food.Update(elapsedSeconds);
                    }

                    if (player.IsCollideWith(food))
                    {
                        isPlayerWin = true;
                        SetState(GameState.Finished);
                    }
                    else if (aiPlayer != null && aiPlayer.IsCollideWith(food))
                    {
                        isPlayerWin = false;
                        SetState(GameState.Finished);
                    }

                    if (totalElapsedSeconds > 15.0f)
                    {
                        Random rand = new Random();
                        if (rand.Next(0, 100) % 7 == 0)
                        {
                            Rotate();
                            totalElapsedSeconds = 0;
                        }
                    }
                    break;

                case GameSubstate.Rotating:
                    angle += 5;
                    if (angle >= targetAngle)
                    {
                        angle    = targetAngle;
                        substate = GameSubstate.Normal;
                    }
                    double rad = angle * Math.PI / 180;
                    foreach (UIWall wall in uiWalls)
                    {
                        wall.Rotate(centerPoint, rad, targetAngle, angle >= targetAngle);
                    }
                    uiPlayer.Rotate(centerPoint, rad, targetAngle, angle >= targetAngle);
                    uiAIPlayer.Rotate(centerPoint, rad, targetAngle, angle >= targetAngle);
                    uiFood.Rotate(centerPoint, rad, targetAngle, angle >= targetAngle);
                    if (substate == GameSubstate.Normal)
                    {
                        RotateAll();
                    }
                    break;
                }
                break;

            case GameState.Paused:
                break;

            case GameState.Finished:
                totalElapsedSeconds += elapsedSeconds;
                break;
            }
        }