示例#1
0
    void InitGame()
    {
        //add a bunch of startup logic (other classes, other components).
        SM_ScreenMgr_     = gameObject.AddComponent <SM_ScreenMgr>();
        GPM_GamepadMgr_   = gameObject.AddComponent <GPM_GamepadMgr>();
        PM_PlayerMgr_     = gameObject.AddComponent <PM_PlayerMgr>();
        GSM_GameStateMgr_ = gameObject.AddComponent <GSM_GameStateMgr>();
        MM_MazeMgr_       = gameObject.AddComponent <MM_MazeMgr>();

        EM_EventMgr.TriggerEvent("get players");
    }
    //void UpdateGamepadIconsInSceneS1(string[] gamepadChanges)   //prefer to add parameter suppported in event meanager
    void UpdateGamepadIconsInSceneS1()
    {
        //access gamepadIcons by-the-way via coupled dependency for time-being
        GPM_GamepadMgr gamepadMgr = gameObject.GetComponent <GPM_GamepadMgr>();

        string[] coupledGamepadChanges = gamepadMgr.coupledGamepadChanges;      //prefer to remove coupling dependency

        for (int i = 0; i < gamepadIconGos.Count && i < coupledGamepadChanges.Length; i++)
        {
            gamepadIconGos[i].GetComponent <GamepadIcon>().Connected = (coupledGamepadChanges[i].Substring(0, 1) == "+");
        }
    }
    void UpdatePlayerActiveCount()
    {
        //access gamepadIcons by-the-way via coupled dependency for time-being
        GPM_GamepadMgr gamepadMgr = gameObject.GetComponent <GPM_GamepadMgr>();

        string[] coupledGamepadChanges = gamepadMgr.coupledGamepadChanges;      //prefer to remove coupling dependency

        int players = 0;

        for (int i = 0; i < coupledGamepadChanges.Length; i++)
        {
            bool active = coupledGamepadChanges[i].Substring(0, 1) == "+";
            if (active)
            {
                players++;
            }
        }
        coupledPlayersActive = players;
    }