using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
//Model 的基类,注意热更工程的model 一定要继承此类,不要继承主工程的
|
public abstract class ILModel<T> where T : ILModel<T>, new()
|
{
|
|
private static T m_Instance;
|
public static T Instance {
|
get {
|
if (m_Instance == null)
|
{
|
m_Instance = new T();
|
}
|
return m_Instance;
|
}
|
}
|
|
public ILModel()
|
{
|
Init();
|
}
|
|
public static void Dispose()
|
{
|
m_Instance?.UnInit();
|
m_Instance = null;
|
}
|
|
~ILModel()
|
{
|
//m_Instance?.UnInit();
|
m_Instance = null;
|
}
|
|
//写一个空方法,方便提前初始化。
|
public void Register() { }
|
protected abstract void Init(); //整个游戏生命周期只有一次
|
protected abstract void UnInit();//整个游戏生命周期最多有一次
|
|
//理论上每个model都要有个清理数据的步骤,在OnBeforePlayerDataInitialize调用,或者退回角色时清理
|
//GameEvent.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
|
}
|
|
|
class ModelMgr : ILSingleton<ModelMgr>
|
{
|
|
//需要提前初始化的model 写在这里
|
public void Init()
|
{
|
SpiritEquipModel.Instance.Register();
|
SkillMatchModel.Instance.Register();
|
InvestModel.Instance.Register();
|
BossModel.Instance.Register();
|
ManyDayRechargeModel.Instance.Register();
|
NeedForWhiteModel.Instance.Register();
|
OnlineRechargeModel.Instance.Register();
|
FuncSysPrivilegeModel.Instance.Register();
|
BagSelectModel.Instance.Register();
|
|
//竞技场
|
ArenaManagerModel.Instance.Register();
|
ArenaModel.Instance.Register();
|
|
HolidayRefuseClassificationModel.Instance.Register();
|
HolidayXianXiaMJModel.Instance.Register();
|
HeroControler.Instance.Register();
|
EquipEvolveModel.Instance.Register();
|
ILDayOnlineModel.Instance.Register();
|
MergeServerActivityModel.Instance.Register();
|
MergeServerCollectWordsModel.Instance.Register();
|
MergeServerLimitedTimePackageModel.Instance.Register();
|
MergeServerRechargeModel.Instance.Register();
|
MergeServerQCSYModel.Instance.Register();
|
MergeServerFlashRushToBuyModel.Instance.Register();
|
MergeServerTurntableModel.Instance.Register();
|
|
//跨服充值
|
CSRechargeModel.Instance.Register();
|
FaQiLVUPModel.Instance.Register();
|
CrossServerMHBossModel.Instance.Register();
|
|
FuncAwardModel.Instance.Register();
|
CommonFunc.Instance.Register();
|
//情缘
|
FlowerGiftModel.Instance.Register();
|
WeddingModel.Instance.Register();
|
UICommom.Instance.Register();
|
|
HolidayRecharge2GiftModel.Instance.Register();
|
LuckyCloudBuyModel.Instance.Register();
|
GodKingGiftModel.Instance.Register();
|
TreasurePavilionModel.Instance.Register();
|
ILSkillManager.Instance.Register();
|
ShentongModel.Instance.Register();
|
CrossServerQualifyingModel.Instance.Register();
|
UIFixModel.Instance.Register();
|
MapLevelModel.Instance.Register();
|
ILAchievementModel.Instance.Register();
|
Buy1Free5Model.Instance.Register();
|
|
DailySpecialsModel.Instance.Register();
|
RechargeGenerousGiftModel.Instance.Register();
|
LvZhanlingModel.Instance.Register();
|
RealmLVZhanlingModel.Instance.Register();
|
CelestialStarTowerModel.Instance.Register();
|
GuBaoTotalStarsModel.Instance.Register();
|
LimitedTimeLuxuryGiftModel.Instance.Register();
|
TTLBattlePassModel.Instance.Register();
|
ILCrossServerModel.Instance.Register();
|
}
|
|
}
|