示例#1
0
        private void Run(double gameTime)
        {
            //ManagerCamera.Move(Direction.Up); //For test
            ManagerCamera.Update(gameTime);

            var list = new List<Entity>();
            list.AddRange(Players.Select(p => p.Player));
            list.AddRange(Enemies);
            foreach (var entity in list)
            {
                entity.Update(gameTime);

                var entityPosition = entity.Position;
                var position = new Vector2(entityPosition.XPosition, entityPosition.YPosition);
                if (ManagerCamera.InScreenCheck(position))
                {
                    var screenPosition =
                        ManagerCamera.WorldToScreenPosition(new Vector2(position.X, position.Y));

                    entityPosition.ScreenXPosition = (int)screenPosition.X;
                    entityPosition.ScreenYPosition = (int)screenPosition.Y;
                }
            }

            var command = new AllPlayersCommand {CameraUpdate = true};
            command.Run(_logger, _server, null, null, this);
            var commandE = new AllEnemiesCommand { CameraUpdate = true };
            commandE.Run(_logger, _server, null, null, this);
        }
        private void Run()
        {
            ManagerCamera.Move(Direction.Up); //For test
            ManagerCamera.Update(0);

            foreach (var playerAndConnection in Players)
            {
                var player = playerAndConnection.Player;
                var playerPosition = new Vector2(player.XPosition, player.YPosition);
                if (ManagerCamera.InScreenCheck(playerPosition))
                {
                    var screenPosition =
                        ManagerCamera.WorldToScreenPosition(new Vector2(playerPosition.X, playerPosition.Y));

                    player.ScreenXPosition = (int) screenPosition.X;
                    player.ScreenYPosition = (int) screenPosition.Y; 
                }
            }

            var command = new AllPlayersCommand {CameraUpdate = true};
            command.Run(_logger, _server, null, null, this);
        }