Exemple #1
0
        /// <summary>
        /// 创建实例
        /// </summary>
        private void CreateInstance()
        {
            while (true)
            {
                if (m_CreateTotalCount == m_Types.Count)
                {
                    return;
                }
                if (m_CreateCount == m_EveryCount)
                {
                    m_CreateCount = 0;
                    return;
                }

                m_TypeIndex++;
                m_CreateCount++;
                m_CreateTotalCount++;
                if (m_ExplicitCreatedIndexs.Contains(m_TypeIndex))
                {
                    continue;
                }

                m_CurrentType = m_Types[m_TypeIndex];
                var instance = Activator.CreateInstance(m_CurrentType) as T;
#if UNITY_EDITOR || DEBUG
                AiukDebugUtility.Log(string.Format("加载器{0}成功创建了一个类型{1}的实例!", m_Name, m_CurrentType.Name));
#endif
                m_Instances.Add(instance);
            }
        }
        public void BuildAppModule()
        {
            CreateAppModuleCsDir();
            CrewateAssetDatabaseDir();
            CreateOriginalAssetDir();

            AiukDebugUtility.Log("更新成功",
                                 string.Format("应用模块{0}的文件结构及资源已更新。", m_AppModule.Name),
                                 "知道了");
        }
Exemple #3
0
        private void Update()
        {
            if (m_CreateTotalCount == m_Types.Count)
            {
                Destroy(this);
                AiukDebugUtility.Log(string.Format("帧实例加载器{0}已创建完所有实例,加载器将销毁!", m_Name));
                return;
            }

            CreateInstance();
        }
Exemple #4
0
        /// <summary>
        /// 获得目标资源的资源数据。
        /// </summary>
        /// <param name="assetName"></param>
        /// <returns></returns>
        public AiukAssetInfo GetAssetInfo(string assetName)
        {
            if (!m_AssetTypeMap.ContainsKey(assetName))
            {
                AiukDebugUtility.Log(string.Format("目标资源{0}没有资源数据!", assetName));
                return(null);
            }

            var type      = m_AssetTypeMap[assetName];
            var typeInfos = m_AssetInfos[type];
            var info      = typeInfos[assetName];

            return(info);
        }
        public void Close()
        {
            if (!m_RunToggle)
            {
                return;
            }

#if UNITY_EDITOR || DEBUG
            var runAtStopTime = (DateTime.Now - m_StarTime).TotalSeconds;
            AiukDebugUtility.Log(string.Format("编号为{0}的计时器总共运行{1}秒,已停止!"
                                               , Id, runAtStopTime));
#endif

            m_RunToggle = false;
            m_CloseTime = DateTime.Now;
            if (m_OnClose != null)
            {
                m_OnClose(this);
            }
        }
        /// <summary>
        /// 结束一次执行周期。
        /// </summary>
        public virtual void FinishExecute()
        {
#if UNITY_EDITOR || DEBUG
            AiukDebugUtility.Log(GetType().Name + "_FinishExecute!");
#endif
        }
 public override void HandleMessage(AiukButtonMessage message)
 {
     AiukDebugUtility.Log("AiukButtonSystem: HandleMessage, this action name is " + message.EventTypeStr);
 }