예제 #1
0
        //Constructor
        public PlayerGameObject(Vector2 position, GameObjectIndex container, PlayerRegistry players, InputManager inputManager, KeyboardFormat format) : base(position, new BoxCollider(position, HITBOX_SIZE), container)
        {
            //Initialize keyboard input source
            keyboardInput = new PlayerKeyboardInputSource(this, format);

            //Register in subsystems
            players.AddPlayer(this);
            inputManager.registerInputSource(keyboardInput);

            //Set subsystem references
            this.players = players;
            this.input   = inputManager;

            //Get player images
            images = new List <CanvasBitmap>();
            images.Add(ImageManager.getImageByName("red_ghost_up"));
            images.Add(ImageManager.getImageByName("red_ghost_right"));
            images.Add(ImageManager.getImageByName("red_ghost_down"));
            images.Add(ImageManager.getImageByName("red_ghost_left"));

            //Initialize image
            Image = images[1];

            //Initialize movement array
            movement = new bool[4] {
                false, false, false, false
            };

            //Initialize direction
            Direction = CardinalDirection.EAST;
        }
예제 #2
0
        public async Task <IActionResult> AddPlayer([FromBody] CreatePlayerRequest request)
        {
            PlayerServerSide player = new PlayerServerSide(request.Name, request.AvatarUrl, request.Id);

            playerRegistry.AddPlayer(request.Id, player);

            await lobbyHubContext.Clients.All.NewPlayer(new ServerSidePlayerOverview
            {
                AvatarUrl = request.AvatarUrl,
                Id        = request.Id,
                Name      = request.Name,
            });

            Guid lobbyId = playerRegistry.GetLobbyIdByPlayerId(request.Id);

            return(base.Ok(new AddPlayerResponse {
                LobbyId = lobbyId
            }));
        }
예제 #3
0
        public async Task <IActionResult> AddPlayer([FromBody] AddPlayerRequest request)
        {
            ServerSidePlayer player = new ServerSidePlayer(request.Name, request.AvatarUrl);

            _registry.AddPlayer(player);

            AddPlayerResponse response = new AddPlayerResponse
            {
                PlayerId = player.Id,
                LobbyId  = player.Lobby.Id,
            };

            await _hubContext.Clients.All.NewPlayer(new ServerSidePlayerOverview
            {
                Id        = player.Id,
                Name      = player.Name,
                AvatarUrl = player.AvatarUrl,
            });

            return(base.Ok(response));
        }