private void ClearGamepads() { foreach (KeyValuePair <int, Gamepad> to_remove in gamepads) { EventGamepadRemoved ev = new EventGamepadRemoved(to_remove.Value); EventManager.Instance.SendEvent(ev); } gamepads.Clear(); }
private void OnEvent(GameEvent ev) { switch (ev.Type()) { case GameEventType.EVENT_GAMEPAD_ADDED: { EventGamepadAdded c_ev = (EventGamepadAdded)ev; Player pl = GetPlayerByIndex(c_ev.gamepad.GetGamepadIndex()); if (pl != null) { pl.SetAssignedGamepad(c_ev.gamepad); } break; } case GameEventType.EVENT_GAMEPAD_REMOVED: { EventGamepadRemoved c_ev = (EventGamepadRemoved)ev; Player pl = GetPlayerByIndex(c_ev.gamepad.GetGamepadIndex()); if (pl != null) { pl.SetAssignedGamepad(null); } break; } case GameEventType.EVENT_HOUSES_SPAWNED: { EventHousesSpawned c_ev = (EventHousesSpawned)ev; SpawnPlayersOnHousePositions(c_ev.houses); break; } case GameEventType.EVENT_MATCH_FINISH: { break; } } }