public override void HandleJoystickButtonPressed(JoystickButtonPressedEvent e) { if (e.Button == JoystickButton.Back) { SceneManager.Singleton.LoadScene <MainMenu.MainMenu>(); return; } if (e.Button == JoystickButton.A) { if (players[e.JoystickID] == null) { this.RemoveElementById(ConnectNotification.ID); var newPlayer = new Player(e.JoystickID); this.players[e.JoystickID] = newPlayer; newPlayer.CollisionHandler += this.map.GetMaximumColllisions; newPlayer.BorderCollisionHandler += this.map.GetMapBorderCollisions; this.map.AddEntity(newPlayer); SceneManager.Singleton.LoadScene <CharacterSelection>(); var characterSelection = SceneManager.Singleton.CurrentScene as CharacterSelection; characterSelection.EditingPlayer = this.players[e.JoystickID]; PlayerOverlay overlay = new PlayerOverlay(newPlayer); this.AddChild(overlay); newPlayer.overlay = overlay; Debug.AddDebugInformation(() => $"Player {e.JoystickID} - X: {(int)newPlayer.Position.X} Y: {(int)newPlayer.Position.Y}"); CameraFocus(newPlayer); } } //attack button if (e.Button == JoystickButton.B) { } }