private void AddGamepad(int index, string gamepad_name) { if (!gamepads.ContainsKey(index)) { Gamepad new_gamepad = new Gamepad(); new_gamepad.SetGamepadName(gamepad_name); new_gamepad.SetGamepadIndex(index); gamepads.Add(index, new_gamepad); EventGamepadAdded ev = new EventGamepadAdded(new_gamepad); EventManager.Instance.SendEvent(ev); } }
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; } } }