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 }
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(); } }