Exemple #1
0
    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;
        }
        }
    }