예제 #1
0
    void Awake()
    {
        m_Instance = this;

        DontDestroyOnLoad(gameObject);

        //We don't want to destroy manager ever, but if we have to, keep this list for later
        List <ManagerInitializer> listScriptManager = new List <ManagerInitializer>();

        foreach (GameObject manager in m_ListManager)
        {
            ManagerInitializer managerScript = CreateNewManager(manager);
            if (managerScript != null)
            {
                listScriptManager.Add(managerScript);
            }
        }

        foreach (ManagerInitializer managerScript in listScriptManager)
        {
            managerScript.PostInit();
        }

        m_IsInitialized = true;
        OnManagersInitialized();
    }
예제 #2
0
    ManagerInitializer CreateNewManager(GameObject aManager)
    {
        GameObject instance = Instantiate(aManager);

        instance.transform.SetParent(transform, false);

        ManagerInitializer managerScript = instance.GetComponent <ManagerInitializer>();

        if (managerScript != null)
        {
            managerScript.PreInit();

            return(managerScript);
        }

        Debug.LogError("You want to create a Manager without the needed BaseManager extended class");

        return(null);
    }
 private void Start()
 {
     _characterEquipmentManager = ManagerInitializer.Get <CharacterEquipmentManager>();
 }