Пример #1
0
 public override void Initialize(params object[] args)
 {
     m_ObjectPoolComponent = GameEntry.GetComponent <ObjectPoolComponent>();
     if (m_ObjectPoolComponent == null)
     {
         Log.Fatal("Object pool component is invalid.");
         return;
     }
 }
 private void Start()
 {
     m_ResourceComponent = GameEntry.GetComponent <ResourceComponent>();
     if (m_ResourceComponent == null)
     {
         Log.Fatal("[DefaultSoundHelper.Start] Resource component is invalid.");
         return;
     }
 }
        private void Start()
        {
            //基础组件
            BaseComponent baseComponent = GameEntry.GetComponent <BaseComponent>();

            if (baseComponent == null)
            {
                Log.Fatal("[EntityComponent.Start] Base component is invalid.");
                return;
            }
            //设置资源管理器
            m_EntityManager.SetResourceManager(baseComponent.ResourceManager);

            //事件组件
            m_EventComponent = GameEntry.GetComponent <EventComponent>();
            if (m_EventComponent == null)
            {
                Log.Fatal("[EntityComponent.Start] Event component is invalid.");
                return;
            }

            //设置对象池
            m_EntityManager.SetObjectPoolManager(GameFrameworkEntry.GetModule <IObjectPoolManager>());

            //实体辅助器
            EntityHelperBase entityHelper = Helper.CreateHelper(m_EntityHelperTypeName, m_CustomEntityHelper);

            if (entityHelper == null)
            {
                Log.Error("[EntityComponent.Start] Can not create entity helper.");
                return;
            }
            entityHelper.name = "Entity Helper";
            Transform trans = entityHelper.transform;

            trans.SetParent(this.transform);
            trans.localScale = Vector3.one;

            m_EntityManager.SetEntityHelper(entityHelper);  //设置实体辅助器

            if (m_InstanceRoot == null)
            {
                m_InstanceRoot = (new GameObject("Entity Instances")).transform;
                m_InstanceRoot.SetParent(trans);
                m_InstanceRoot.localScale = Vector3.one;
            }

            for (int i = 0; i < m_EntityGroups.Length; i++)
            {
                if (!AddEntityGroup(m_EntityGroups[i].Name, m_EntityGroups[i].InstanceAutoReleaseInterval, m_EntityGroups[i].InstanceCapacity, m_EntityGroups[i].InstanceExpireTime, m_EntityGroups[i].InstancePriority))
                {
                    Log.Warning("[EntityComponent.Start] Add entity group '{0}' failure.", m_EntityGroups[i].Name);
                    continue;
                }
            }
        }
 private void Start()
 {
     //获取事件组件
     m_EventComponent = GameEntry.GetComponent <EventComponent>();
     if (m_EventComponent == null)
     {
         Log.Fatal("[NetworkComponent.Start] Event component is invalid.");
         return;
     }
 }
        private void Start()
        {
            //基础组件
            BaseComponent baseComponent = GameEntry.GetComponent <BaseComponent>();

            if (baseComponent == null)
            {
                Log.Fatal("[SoundComponent.Start] Base component is invalid.");
                return;
            }

            //事件组件
            m_EventComponent = GameEntry.GetComponent <EventComponent>();
            if (m_EventComponent == null)
            {
                Log.Fatal("[SoundComponent.Start] Event component is invalid.");
                return;
            }

            m_SoundManager.SetResourceManager(baseComponent.ResourceManager);   //设置资源管理器

            //声音辅助器
            SoundHelperBase soundHelper = Helper.CreateHelper(m_SoundHelperTypeName, m_CustomSoundHelper);

            if (soundHelper == null)
            {
                Log.Error("[SoundComponent.Start] Can not create sound helper.");
                return;
            }
            soundHelper.name = "Sound Helper";
            Transform trans = soundHelper.transform;

            trans.SetParent(this.transform);
            trans.localScale = Vector3.one;
            m_SoundManager.SetSoundHelper(soundHelper);

            //根对象
            if (m_InstanceRoot == null)
            {
                m_InstanceRoot = (new GameObject("Sound Instances")).transform;
                m_InstanceRoot.SetParent(gameObject.transform);
                m_InstanceRoot.localScale = Vector3.one;
            }

            for (int i = 0; i < m_SoundGroups.Length; i++)
            {
                if (!AddSoundGroup(m_SoundGroups[i].Name, m_SoundGroups[i].AvoidBeingReplacedBySamePriority, m_SoundGroups[i].Mute, m_SoundGroups[i].Volume, m_SoundGroups[i].AgentHelperCount))
                {
                    Log.Warning("[SoundComponent.Start] Add sound group '{0}' failure.", m_SoundGroups[i].Name);
                    continue;
                }
            }
        }
        void Start()
        {
            //基础组件
            BaseComponent baseComponent = GameEntry.GetComponent <BaseComponent>();

            if (baseComponent == null)
            {
                Log.Fatal("[EditorResourceManager.Start] Base component is invalid -> baseComponent == null.");
                return;
            }

            m_MinLoadAssetRandomDelaySeconds = baseComponent.MinLoadAssetRandomDelaySeconds;
            m_MaxLoadAssetRandomDelaySeconds = baseComponent.MaxLoadAssetRandomDelaySeconds;
        }
Пример #7
0
 private void Start()
 {
     m_ResourceComponent = GameEntry.GetComponent <ResourceComponent>();
     if (m_ResourceComponent == null)
     {
         Log.Fatal("[DefaultLocalizationHelper.Start] Resource component is invalid.");
         return;
     }
     m_LocalizationManager = GameFrameworkEntry.GetModule <ILocalizationManager>();
     if (m_LocalizationManager == null)
     {
         Log.Fatal("[DefaultLocalizationHelper.Start] Localization manager is invalid.");
         return;
     }
 }
            protected override void OnDrawScrollableWindow()
            {
                GUILayout.Label("<b>Operations</b>");
                GUILayout.BeginVertical("box");
                {
                    ObjectPoolComponent objectPoolComponent = GameEntry.GetComponent <ObjectPoolComponent>();
                    if (objectPoolComponent != null)
                    {
                        if (GUILayout.Button("Object Pool Release", GUILayout.Height(30f)))
                        {
                            objectPoolComponent.Release();
                        }

                        if (GUILayout.Button("Object Pool Release All Unused", GUILayout.Height(30f)))
                        {
                            objectPoolComponent.ReleaseAllUnused();
                        }
                    }

                    ResourceComponent resourceCompoent = GameEntry.GetComponent <ResourceComponent>();
                    if (resourceCompoent != null)
                    {
                        if (GUILayout.Button("Unload Unused Assets", GUILayout.Height(30f)))
                        {
                            resourceCompoent.ForceUnloadUnusedAssets(false);
                        }

                        if (GUILayout.Button("Unload Unused Assets and Garbage Collect", GUILayout.Height(30f)))
                        {
                            resourceCompoent.ForceUnloadUnusedAssets(true);
                        }
                    }

                    if (GUILayout.Button("Shutdown Game Framework (None)", GUILayout.Height(30f)))
                    {
                        GameEntry.Shutdown(ShutdownType.None);
                    }
                    if (GUILayout.Button("Shutdown Game Framework (Restart)", GUILayout.Height(30f)))
                    {
                        GameEntry.Shutdown(ShutdownType.Restart);
                    }
                    if (GUILayout.Button("Shutdown Game Framework (Quit)", GUILayout.Height(30f)))
                    {
                        GameEntry.Shutdown(ShutdownType.Quit);
                    }
                }
                GUILayout.EndVertical();
            }
Пример #9
0
            public void Initialize(params object[] args)
            {
                m_SettingComponent = GameEntry.GetComponent <SettingComponent>();
                if (m_SettingComponent == null)
                {
                    Log.Fatal("Setting component is invalid.");
                    return;
                }

                Application.logMessageReceived += OnLogMessageReceived;
                m_LockScroll    = m_LastLockScroll = m_SettingComponent.GetBool("Debugger.Console.LockScroll", true);
                m_InfoFilter    = m_LastInfoFilter = m_SettingComponent.GetBool("Debugger.Console.InfoFilter", true);
                m_WarningFilter = m_LastWarningFilter = m_SettingComponent.GetBool("Debugger.Console.WarningFilter", true);
                m_ErrorFilter   = m_LastErrorFilter = m_SettingComponent.GetBool("Debugger.Console.ErrorFilter", true);
                m_FatalFilter   = m_LastFatalFilter = m_SettingComponent.GetBool("Debugger.Console.FatalFilter", true);
            }
            public override void Initialize(params object[] args)
            {
                m_BaseComponent = GameEntry.GetComponent <BaseComponent>();
                if (m_BaseComponent == null)
                {
                    Log.Fatal("Base component is invalid.");
                    return;
                }

                m_ResourceComponent = GameEntry.GetComponent <ResourceComponent>();
                if (m_ResourceComponent == null)
                {
                    Log.Fatal("Resource component is invalid.");
                    return;
                }
            }
        //低内存回调
        private void OnLowMemory()
        {
            Log.Info("[BaseComponent.OnLowMemory] Low memory reported...");
            ObjectPoolComponent objectPoolComponent = GameEntry.GetComponent <ObjectPoolComponent>();

            if (objectPoolComponent != null)
            {
                objectPoolComponent.ReleaseAllUnused(); //释放所有未使用的对象
            }
            ResourceComponent resourceCompoent = GameEntry.GetComponent <ResourceComponent>();

            if (resourceCompoent != null)
            {
                resourceCompoent.ForceUnloadUnusedAssets(true); //强制卸载未使用的资源
            }
        }
Пример #12
0
        private IConfigManager m_ConfigManager        = null;                          //配置管理器

        private void Start()
        {
            //获取资源组件
            m_ResourceComponent = GameEntry.GetComponent <ResourceComponent>();
            if (m_ResourceComponent == null)
            {
                Log.Fatal("[DefaultConfigHelper.Start] Resource component is invalid.");
                return;
            }

            //获取配置管理器模块
            m_ConfigManager = GameFrameworkEntry.GetModule <IConfigManager>();
            if (m_ConfigManager == null)
            {
                Log.Fatal("[DefaultConfigHelper.Start] Config manager is invalid.");
                return;
            }
        }
        private void Start()
        {
            //基础组件
            BaseComponent baseComponent = GameEntry.GetComponent <BaseComponent>();

            if (baseComponent == null)
            {
                Log.Fatal("[SceneComponent.Start] Base component is invalid.");
                return;
            }

            //事件组件
            m_EventComponent = GameEntry.GetComponent <EventComponent>();
            if (m_EventComponent == null)
            {
                Log.Fatal("[SceneComponent.Start] Event component is invalid.");
                return;
            }
            //设置资源管理器
            m_SceneManager.SetResourceManager(baseComponent.ResourceManager);
        }
Пример #14
0
 private void Start()
 {
     m_EventComponent = GameEntry.GetComponent <EventComponent>();
     if (m_EventComponent == null)
     {
         Log.Fatal("[WebRequestComponent.Start] Event component is invalid.");
         return;
     }
     //配置根对象
     if (m_InstanceRoot == null)
     {
         m_InstanceRoot = (new GameObject("Web Request Agent Instances")).transform;
         m_InstanceRoot.SetParent(gameObject.transform);
         m_InstanceRoot.localScale = Vector3.one;
     }
     //添加代理辅助器
     for (int i = 0; i < m_WebRequestAgentHelperCount; i++)
     {
         AddWebRequestAgentHelper(i);
     }
 }
Пример #15
0
        private void Start()
        {
            //获取基础组件
            BaseComponent baseComponent = GameEntry.GetComponent <BaseComponent>();

            if (baseComponent == null)
            {
                Log.Fatal("[ConfigComponent.Start] Base component is invalid -> baseComponent == null.");
                return;
            }

            //获取事件组件
            m_EventComponent = GameEntry.GetComponent <EventComponent>();
            if (m_EventComponent == null)
            {
                Log.Fatal("[ConfigComponent.Start] Event component is invalid -> m_EventComponent == null.");
                return;
            }

            //设置资源管理器
            m_ConfigManager.SetResourceManager(baseComponent.ResourceManager);

            //设置配置辅助器
            ConfigHelperBase configHelper = Helper.CreateHelper <ConfigHelperBase>(m_ConfigHelperTypeName, m_CustomConfigHelper);

            if (configHelper == null)
            {
                Log.Error("[ConfigComponent.Start] Config helper is invalid -> configHelper == null.");
                return;
            }
            configHelper.name = "Config Helper";
            Transform trans = configHelper.transform;

            trans.SetParent(transform);
            trans.localScale = Vector3.one;
            m_ConfigManager.SetConfigHelper(configHelper);
        }
        private void Start()
        {
            //事件组件
            m_EventComponent = GameEntry.GetComponent <EventComponent>();
            if (m_EventComponent == null)
            {
                Log.Fatal("[DownloadComponent.Start] Event component is invalid.");
                return;
            }

            //辅助器根对象
            if (m_InstanceRoot == null)
            {
                m_InstanceRoot = new GameObject("Download Agent Instances").transform;
                m_InstanceRoot.SetParent(transform);
                m_InstanceRoot.localScale = Vector3.one;
            }

            //添加配置数量的下载代理辅助器
            for (int i = 0; i < m_DownloadAgentHelperCount; i++)
            {
                AddDownloadAgentHelper(i);
            }
        }
        private void Start()
        {
            BaseComponent baseComponent = GameEntry.GetComponent <BaseComponent>();

            if (baseComponent == null)
            {
                Log.Fatal("[LocalizationComponent.Start] Base component is invalid.");
                return;
            }

            m_EventComponent = GameEntry.GetComponent <EventComponent>();
            if (m_EventComponent == null)
            {
                Log.Fatal("[LocalizationComponent.Start] Event component is invalid.");
                return;
            }

            m_LocalizationManager.SetResourceManager(baseComponent.ResourceManager);    //设置资源加载管理器
            LocalizationHelperBase localizationHelper = Helper.CreateHelper(m_LocalizationHelperTypeName, m_CustomLocalizationHelper);

            if (localizationHelper == null)
            {
                Log.Error("[LocalizationComponent.Start] Can not create localization helper.");
                return;
            }
            localizationHelper.name = "Localization Helper";
            Transform trans = localizationHelper.transform;

            trans.SetParent(this.transform);
            trans.localScale = Vector3.one;

            //设置辅助器
            m_LocalizationManager.SetLocalizationHelper(localizationHelper);
            //设置语言
            m_LocalizationManager.Language = baseComponent.IsEditorResourceMode && baseComponent.EditorLanguage != Language.Unspecified ? baseComponent.EditorLanguage : m_LocalizationManager.SystemLanguage;
        }
        private void Start()
        {
            //基础组件
            BaseComponent baseComponent = GameEntry.GetComponent <BaseComponent>();

            if (baseComponent == null)
            {
                Log.Fatal("[ResourceComponent.Start] Base component is invalid -> baseComponent == null.");
                return;
            }
            //事件组件
            m_EventComponent = GameEntry.GetComponent <EventComponent>();
            if (m_EventComponent == null)
            {
                Log.Fatal("[ResourceComponent.Start] Event component is invalid -> m_EventComponent == null.");
                return;
            }
            //资源管理器

            ResourceManager = baseComponent.ResourceManager;
            if (ResourceManager == null)
            {
                Log.Fatal("[ResourceComponent.Start] Resource manager is invalid -> m_ResourceManager == null.");
                return;
            }

            //绑定事件
            ResourceManager.ResourceUpdateStart   += OnResourceUpdateStart;
            ResourceManager.ResourceUpdateChanged += OnResourceUpdateChanged;
            ResourceManager.ResourceUpdateSuccess += OnResourceUpdateSuccess;
            ResourceManager.ResourceUpdateFailure += OnResourceUpdateFailure;

            ResourceManager.SetReadOnlyPath(Application.streamingAssetsPath); //设置只读路径
            if (m_ReadWritePathType == ReadWritePathType.TemporaryCache)
            {
                ResourceManager.SetReadWritePath(Application.temporaryCachePath);
            }
            else
            {
                if (m_ReadWritePathType == ReadWritePathType.Unspecified)
                {
                    m_ReadWritePathType = ReadWritePathType.PersistentData;
                }
                ResourceManager.SetReadWritePath(Application.persistentDataPath);
            }

#if UNITY_EDITOR
            m_IsEditorResourceMode = baseComponent.IsEditorResourceMode;
            if (m_IsEditorResourceMode) //编辑器模式直接返回即可
            {
                return;
            }
#endif

            SetResourceMode(m_ResourceMode);
            ResourceManager.SetDownloadManager(GameFrameworkEntry.GetModule <IDownloadManager>());     //设置下载管理器
            ResourceManager.SetObjectPoolManager(GameFrameworkEntry.GetModule <IObjectPoolManager>()); //设置对象池管理器
            ResourceManager.AssetAutoReleaseInterval    = m_AssetAutoReleaseInterval;
            ResourceManager.AssetCapacity               = m_AssetCapacity;
            ResourceManager.AssetExpireTime             = m_AssetExpireTime;
            ResourceManager.AssetPriority               = m_AssetPriority;
            ResourceManager.ResourceAutoReleaseInterval = m_ResourceAutoReleaseInterval;
            ResourceManager.ResourceCapacity            = m_ResourceCapacity;
            ResourceManager.ResourceExpireTime          = m_ResourceExpireTime;
            ResourceManager.ResourcePriority            = m_ResourcePriority;

            if (m_ResourceMode == ResourceMode.Updatable)
            {
                ResourceManager.UpdatePrefixUri             = m_UpdatePrefixUri;
                ResourceManager.UpdateFileCacheLength       = m_UpdateFileCacheLength;
                ResourceManager.GenerateReadWriteListLength = m_GenerateReadWriteListLength;
                ResourceManager.UpdateRetryCount            = m_UpdateRetryCount;
            }

            //资源辅助器
            m_ResourceHelper = Helper.CreateHelper(m_ResourceHelperTypeName, m_CustomResourceHelper);
            if (m_ResourceHelper == null)
            {
                Log.Error("[ResourceComponent.Start] Can not create resource helper -> m_ResourceHelper == null.");
                return;
            }
            m_ResourceHelper.name = "Resource Helper";
            Transform trans = m_ResourceHelper.transform;
            trans.SetParent(transform);
            transform.localScale = Vector3.one;
            ResourceManager.SetResourceHelper(m_ResourceHelper);

            if (m_InstanceRoot == null)
            {
                m_InstanceRoot = new GameObject("Load Resource Agent Instances").transform;
                m_InstanceRoot.SetParent(transform);
                m_InstanceRoot.localScale = Vector3.one;
            }

            for (int i = 0; i < m_LoadResourceAgentHelperCount; i++)
            {
                AddLoadResourceAgentHelper(i);
            }
        }
Пример #19
0
        private void Start()
        {
            //基础组件
            BaseComponent baseComponent = GameEntry.GetComponent <BaseComponent>();

            if (baseComponent == null)
            {
                Log.Fatal("[UIComponent.Start] Base component is invalid.");
                return;
            }
            m_UIManager.SetResourceManager(baseComponent.ResourceManager);  //设置资源管理器

            //事件
            m_EventComponent = GameEntry.GetComponent <EventComponent>();
            if (m_EventComponent == null)
            {
                Log.Fatal("[UIComponent.Start] Event component is invalid.");
                return;
            }

            //设置对象池
            m_UIManager.SetObjectPoolManager(GameFrameworkEntry.GetModule <IObjectPoolManager>());
            m_UIManager.InstanceAutoReleaseInterval = m_InstanceAutoReleaseInterval;
            m_UIManager.InstanceCapacity            = m_InstanceCapacity;
            m_UIManager.InstanceExpireTime          = m_InstanceExpireTime;
            m_UIManager.InstancePriority            = m_InstancePriority;

            //界面辅助器
            UIFormHelperBase uiFormHelper = Helper.CreateHelper(m_UIFormHelperTypeName, m_CustomUIFormHelper);

            if (uiFormHelper == null)
            {
                Log.Error("[UIComponent.Start] Can not create UI form helper.");
                return;
            }
            uiFormHelper.name = "UI Form Helper";
            Transform trans = uiFormHelper.transform;

            trans.SetParent(this.transform);
            trans.localScale = Vector3.one;
            m_UIManager.SetUIFormHelper(uiFormHelper);  //设置界面辅助器

            //根对象
            if (m_InstanceRoot == null)
            {
                m_InstanceRoot = (new GameObject("UI Form Instances")).transform;
                m_InstanceRoot.SetParent(gameObject.transform);
                m_InstanceRoot.localScale = Vector3.one;
            }

            m_InstanceRoot.gameObject.layer = LayerMask.NameToLayer("UI");  //设置层

            //添加配置的界面组
            for (int i = 0; i < m_UIGroups.Length; i++)
            {
                if (!AddUIGroup(m_UIGroups[i].Name, m_UIGroups[i].Depth))
                {
                    Log.Warning("[UIComponent.Start] Add UI group '{0}' failure.", m_UIGroups[i].Name);
                    continue;
                }
            }

            UICamera = GetComponentInChildren <Camera>();    //获取UI相机
        }