/// <summary> /// 热更界面模块添加要监听的数据代理,并返回此数据代理的引用 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="modular"></param> /// <param name="dataName"></param> /// <returns></returns> public static T UIModularRegisterData <T>(this UIModularHotFixer modular, int dataName) where T : DataProxy { T result = dataName.GetData <T>(); UIModularRegisterData(modular, dataName); return(result); }
/// <summary> /// 热更界面模块移除多个不再监听的数据代理 /// </summary> /// <param name="modular"></param> /// <param name="dataNames"></param> public static void UIModularUnregisterData(this UIModularHotFixer modular, params int[] dataNames) { DataProxy data; int max = dataNames.Length; for (int i = 0; i < max; i++) { data = dataNames[i].GetData <DataProxy>(); data.RemoveDataProxyNotify(modular.OnDataProxyNotify); } }
/// <summary> /// 热更界面模块添加多个需要监听的数据代理 /// </summary> /// <param name="modular"></param> /// <param name="dataNames"></param> /// <returns></returns> public static DataProxyCacher UIModularRegisterData(this UIModularHotFixer modular, params int[] dataNames) { DataProxyCacher result = default; int max = dataNames.Length; if (max > 0) { DataProxy data; DataProxy[] list = new DataProxy[max]; for (int i = 0; i < max; i++) { data = dataNames[i].GetData <DataProxy>(); data.AddDataProxyNotify(modular.OnDataProxyNotify); list[i] = data; } result = new DataProxyCacher(list); } else { } return(result); }