Esempio n. 1
0
        public static void StartHotFixeByAsset(HotFixer target, TextAsset dll, TextAsset pdb = default)
        {
            byte[] dllVS = dll != default ? dll.bytes : default;
#if RELEASE
            target.StartHotfix(dllVS);//正式发布时不加载pdb文件
#else
            byte[] pdbVS = pdb != default ? pdb.bytes : default;
            target.StartHotfix(dllVS, pdbVS);
#endif
        }
Esempio n. 2
0
        public override void ShellInited(MonoBehaviour target)
        {
            HotFixer = target as HotFixerComponent;

            IsTheme = HotFixer.GetDataField("IsTheme").Result().Bool;
            if (IsTheme)
            {
                ValueSubgroup subgroup = HotFixer.GetDataField("IsApplyAfterReady");
                IsApplyAfterReady = subgroup != default ? subgroup.Result().Bool : true;

                GameObject theme = HotFixer.GetSceneNode("Theme").value;
                mThemeSkins = new List <UISkin>();

                List <HotFixerComponent> list = new List <HotFixerComponent>();
                Utils.GetComponentsInAllChildren(ref list, theme.transform);

                int noticeName;
                HotFixerComponent skinItem;
                int max = list.Count;
                for (int i = 0; i < max; i++)
                {
                    skinItem = list[i];

                    noticeName = skinItem.gameObject.GetInstanceID();
                    noticeName.Add(OnSkinReady);

                    skinItem.RunHotFix();
                }
            }
            else
            {
                mImage = HotFixer.GetSceneNode("Image").image;
                GameObject skin = HotFixer.GetSceneNode("Skin").value;

                mRes = skin.GetComponent <ResSpriteBridge>();
                mRes.CreateRaw();

                UpdateSkin();
            }
        }