Ejemplo n.º 1
0
 public static BaseUnit GetUnit(string id, Type unitType = null, bool isLogError = true)
 {
     if (id.IsInv())
     {
         return(null);
     }
     if (unitType == null)
     {
         foreach (var item in UnitSpawnMgrs)
         {
             var temp = item.Value.GetBaseUnit(id);
             if (temp != null)
             {
                 return(temp);
             }
         }
     }
     else
     {
         if (UnitSpawnMgrs.ContainsKey(unitType))
         {
             return(UnitSpawnMgrs[unitType].GetBaseUnit(id));
         }
     }
     if (isLogError)
     {
         CLog.Error("无法获得Entity,ID:{0},Type:{1}", id, unitType != null ? unitType.ToString() : "None");
     }
     return(null);
 }
Ejemplo n.º 2
0
 public static IUnitSpawnMgr GetSpawnMgr(Type unitType)
 {
     if (UnitSpawnMgrs.ContainsKey(unitType))
     {
         return(UnitSpawnMgrs[unitType]);
     }
     return(null);
 }
Ejemplo n.º 3
0
 public override void OnDestroy()
 {
     //CALLBACK
     LoaderMgr.Callback_OnAllLoadEnd1 -= OnAllLoadEnd1;
     LoaderMgr.Callback_OnAllLoadEnd2 -= OnAllLoadEnd2;
     LuaMgr.Callback_OnParseStart     -= OnLuaParseStart;
     LuaMgr.Callback_OnParseEnd       -= OnLuaParseEnd;
     Application.wantsToQuit          -= OnWantsToQuit;
     UIMgrs.Clear();
     UnitSpawnMgrs.Clear();
     base.OnDestroy();
 }
Ejemplo n.º 4
0
        public override T AddComponent <T>()
        {
            var ret = base.AddComponent <T>();

            //自动赋值
            if (ret is IUnitSpawnMgr spawner)
            {
                UnitSpawnMgrs.Add(spawner.UnitType, spawner);
            }
            else if (ret is BaseUIMgr uiMgr)
            {
                UIMgrs.Add(uiMgr);
            }
            //自动赋值的基类组件
            else if (ret is IBaseSettingsMgr && SettingsMgr == null)
            {
                SettingsMgr = ret as IBaseSettingsMgr;
            }

            else if (ret is IBaseDBMgr && DBMgr == null)
            {
                DBMgr = ret as IBaseDBMgr;
            }

            else if (ret is IBaseDifficultMgr && DiffMgr == null)
            {
                DiffMgr = ret as IBaseDifficultMgr;
            }

            else if (ret is IBaseScreenMgr && ScreenMgr == null)
            {
                ScreenMgr = ret as IBaseScreenMgr;
            }

            else if (ret is BaseLoaderMgr && LoaderMgr == null)
            {
                LoaderMgr = ret as BaseLoaderMgr;
            }

            else if (ret is BaseGRMgr && GRMgr == null)
            {
                GRMgr = ret as BaseGRMgr;
            }

            else if (ret is BaseLogoMgr && LogoMgr == null)
            {
                LogoMgr = ret as BaseLogoMgr;
            }

            else if (ret is BaseExcelMgr && ExcelMgr == null)
            {
                ExcelMgr = ret as BaseExcelMgr;
            }

            else if (ret is BaseLuaMgr && LuaMgr == null)
            {
                LuaMgr = ret as BaseLuaMgr;
            }

            else if (ret is BaseTextAssetsMgr && TextAssetsMgr == null)
            {
                TextAssetsMgr = ret as BaseTextAssetsMgr;
            }

            else if (ret is BaseLanguageMgr && LangMgr == null)
            {
                LangMgr = ret as BaseLanguageMgr;
            }

            else if (ret is BaseConditionMgr && ACM == null)
            {
                ACM = ret as BaseConditionMgr;
            }

            else if (ret is BaseInputMgr && InputMgr == null)
            {
                InputMgr = ret as BaseInputMgr;
            }

            else if (ret is BasePoolMgr && PoolMgr == null)
            {
                PoolMgr = ret as BasePoolMgr;
            }

            else if (ret is BaseAudioMgr && AudioMgr == null)
            {
                AudioMgr = ret as BaseAudioMgr;
            }

            //非必要组件
            else if (ret is IBaseAttrMgr && AttrMgr == null)
            {
                AttrMgr = ret as IBaseAttrMgr;
            }
            else if (ret is IBaseBuffMgr && BuffMgr == null)
            {
                BuffMgr = ret as IBaseBuffMgr;
            }
            else if (ret is IBaseArticleMgr && ArticleMgr == null)
            {
                ArticleMgr = ret as IBaseArticleMgr;
            }
            else if (ret is IBasePlotMgr && PlotMgr == null)
            {
                PlotMgr = ret as IBasePlotMgr;
            }
            else if (ret is IBaseTalkMgr && TalkMgr == null)
            {
                TalkMgr = ret as IBaseTalkMgr;
            }
            else if (ret is IBaseNarrationMgr && NarrationMgr == null)
            {
                NarrationMgr = ret as IBaseNarrationMgr;
            }
            else if (ret is IBaseRelationMgr && RelationMgr == null)
            {
                RelationMgr = ret as IBaseRelationMgr;
            }
            else if (ret is IBaseLogicTurnMgr && LogicTurnMgr == null)
            {
                LogicTurnMgr = ret as IBaseLogicTurnMgr;
            }
            else if (ret is IBaseBattleMgr && BattleMgr == null)
            {
                BattleMgr = ret as IBaseBattleMgr;
            }
            else if (ret is IBaseSubBattleMgr && SubBattleMgr == null)
            {
                SubBattleMgr = ret as IBaseSubBattleMgr;
            }
            else if (ret is BaseUnlockMgr && UnlockMgr == null)
            {
                UnlockMgr = ret as BaseUnlockMgr;
            }
            else if (ret is BaseNetMgr && NetMgr == null)
            {
                NetMgr = ret as BaseNetMgr;
            }
            else if (ret is BaseFOWMgr && FOWMgr == null)
            {
                FOWMgr = ret as BaseFOWMgr;
            }
            else if (ret is BaseLoggerMgr && LoggerMgr == null)
            {
                LoggerMgr = ret as BaseLoggerMgr;
            }
            else if (ret is BaseAStarMgr && AStarMgr == null)
            {
                AStarMgr = ret as BaseAStarMgr;
            }
            else if (ret is BaseAStar2DMgr && AStar2DMgr == null)
            {
                AStar2DMgr = ret as BaseAStar2DMgr;
            }
            else if (ret is BasePerformMgr && PerformMgr == null)
            {
                PerformMgr = ret as BasePerformMgr;
            }
            else if (ret is BaseRefMgr && RefMgr == null)
            {
                RefMgr = ret as BaseRefMgr;
            }
            else if (ret is BaseBGMMgr && BGMMgr == null)
            {
                BGMMgr = ret as BaseBGMMgr;
            }
            else if (ret is BaseConsoleMgr && DevConsoleMgr == null)
            {
                DevConsoleMgr = ret as BaseConsoleMgr;
            }
            else if (ret is BasePlatSDKMgr && PlatSDKMgr == null)
            {
                PlatSDKMgr = ret as BasePlatSDKMgr;
            }
            else if (ret is BaseCursorMgr && CursorMgr == null)
            {
                CursorMgr = ret as BaseCursorMgr;
            }
            else if (ret is BaseDateTimeMgr && DateTimeMgr == null)
            {
                DateTimeMgr = ret as BaseDateTimeMgr;
            }
            else if (ret is BaseCameraMgr && CameraMgr == null)
            {
                CameraMgr = ret as BaseCameraMgr;
            }
            else if (ret is BaseCamera2DMgr && Camera2DMgr == null)
            {
                Camera2DMgr = ret as BaseCamera2DMgr;
            }

            return(ret);
        }