public override void Init() { base.Init(); ShipDockApp app = ShipDockApp.Instance; Datas = app.Datas; ABs = app.ABs; UIs = app.UIs; if (mUI == default) { GameObject prefab = ABs.Get(ABName, UIAssetName); GameObject ui = UnityEngine.Object.Instantiate(prefab, UIs.UIRoot.MainCanvas.transform); ParamNotice <MonoBehaviour> notice = Pooling <ParamNotice <MonoBehaviour> > .From(); int id = ui.GetInstanceID(); id.Broadcast(notice); mUI = (T)notice.ParamValue; notice.ToPool(); } else { } UILayer layer = mUI.GetComponent <UILayer>(); SetUIParent(ref layer); mUI.Add(UIModularHandler); }
private void CreateShipDockApp(ref IUIRoot UIRoot) { ShipDockApp.Instance.InitUIRoot(UIRoot); #if RELEASE Debug.unityLogger.logEnabled = false;//编译发布版时关闭日志 #endif ShipDockApp.StartUp(m_FrameRate, OnShipDockStart); }
/// <summary> /// 添加服务容器解析器配置 /// </summary> private void AddResolvableConfigs() { ShipDockApp app = ShipDockApp.Instance; IResolvableConfig[] resolvableConfs = GetServerConfigs(); app.Servers.AddResolvableConfig(resolvableConfs); AssertShipDockGameInit(1);//Assert IoC }
/// <summary> /// 初始化IoC服务容器 /// </summary> private void InitServerContainers() { ShipDockApp app = ShipDockApp.Instance; bool isOn = m_DevelopSubgroup.startUpIoC;//根据开发参数确定是否启动IoC模块 Action[] onInited = isOn ? new Action[] { AddResolvableConfigs } : default; Action[] onFinished = isOn ? new Action[] { OnServersFinished } : default; IServer[] servers = isOn ? GetGameServers() : default; app.StartIoC(servers, MainThreadServerReady, onInited, onFinished); }
public void CommitRelate() { int name; ShipDockApp app = ShipDockApp.Instance; int max = (ComponentNames != default) ? ComponentNames.Length : 0; if (max > 0) { if (mCompCached == default) { mCompCached = new KeyValueList <int, IShipDockComponent>(); } var components = app.Components; for (int i = 0; i < max; i++) { name = ComponentNames[i]; mCompCached[name] = components.RefComponentByName(name); } } max = (DataNames != default) ? DataNames.Length : 0; if (max > 0) { if (mDataCached == default) { mDataCached = new KeyValueList <int, IData>(); } var datas = app.Datas; for (int i = 0; i < max; i++) { name = DataNames[i]; mDataCached[name] = datas.GetData <IData>(name); } } max = (ServerNames != default) ? ServerNames.Length : 0; if (max > 0) { if (mServerCached == default) { mServerCached = new KeyValueList <string, IServer>(); } string serverName; var servers = app.Servers; for (int i = 0; i < max; i++) { serverName = ServerNames[i]; mServerCached[serverName] = servers.GetServer <IServer>(serverName); } } }
public override void InitServer() { base.InitServer(); ShipDockApp app = ShipDockApp.Instance; var datas = app.Datas; IData[] dataList = DataList; int max = dataList.Length; for (int i = 0; i < max; i++) { datas.AddData(dataList[i]); } }
protected override void Init() { if (m_EnterDll == default) { "debug".Log("HotFixerAppEnter EnterDll field must be set not null object."); return; } #if ILRUNTIME ShipDockApp app = ShipDockApp.Instance; //app.SetHotFixSetting(new ILRuntimeHotFix(ShipDockApp.Instance), new T()); app.InitILRuntime <T>(); app.ILRuntimeHotFix.Start(); #endif base.Init(); StartHotFixeByAsset(this, m_EnterDll, m_EnterPdb); }
private void OnDestroy() { m_GameAppEvents.createTestersEvent.RemoveAllListeners(); m_GameAppEvents.enterGameEvent.RemoveAllListeners(); m_GameAppEvents.getDataProxyEvent.RemoveAllListeners(); m_GameAppEvents.getGameServersEvent.RemoveAllListeners(); m_GameAppEvents.initProfileDataEvent.RemoveAllListeners(); m_GameAppEvents.getLocalsConfigItemEvent.RemoveAllListeners(); m_GameAppEvents.getServerConfigsEvent.RemoveAllListeners(); m_GameAppEvents.initProfileEvent.RemoveAllListeners(); m_GameAppEvents.serversFinishedEvent.RemoveAllListeners(); ShipDockApp.Close(); LogShipDockAppClose(); m_GameAppEvents.frameworkCloseEvent.Invoke(); m_GameAppEvents.frameworkCloseEvent.RemoveAllListeners(); }
private void Awake() { ShipDockApp shipDockApp = ShipDockApp.Instance; if (shipDockApp != default && m_Labels != default) { Text ui; TextMesh textMesh; string id, content; int max = m_LanguageIDs.Length; for (int i = 0; i < max; i++) { id = m_LanguageIDs[i]; ui = i < m_Labels.Length ? m_Labels[i] : default; textMesh = i < m_LabelMeshs.Length ? m_LabelMeshs[i] : default; content = shipDockApp.Locals.Language(id); if (!string.IsNullOrEmpty(id) && ui != default) { ui.text = content; } else { } if (!string.IsNullOrEmpty(id) && textMesh != default) { textMesh.text = content; } else { } SetTextLanguage(i, ref content); } } else { } }