Example #1
0
    /// <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);
    }
Example #2
0
    /// <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);
        }
    }
Example #3
0
    /// <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);
    }