public static void AddHpItemInfo(this UIComponent uiComponent, string name, Transform tf, int hp) { if (uiComponent.HasUIForm(UIFormId.DynamicForm)) { AddHpItemInfoEventArgs eventArgs = ReferencePool.Acquire <AddHpItemInfoEventArgs>(); eventArgs.Fill(name, tf, hp); GameEntry.Event.Fire(uiComponent, eventArgs); } else { uiComponent.OpenUIForm(UIFormId.DynamicForm); } }
private void AddHpItemInfo(object sender, GameEventArgs e) { AddHpItemInfoEventArgs ne = e as AddHpItemInfoEventArgs; ItemEntityHP item = null; if (itemDic.TryGetValue(ne.Name, out item)) { return; } else { AddHpItemInfoEventArgs ne1 = ReferencePool.Acquire <AddHpItemInfoEventArgs>(); ne1.Fill(ne.Name, ne.Tf, ne.Hp); GameEntry.Res.LoadPrefab(PathDefine.HPItemPrefab, LoadAssetSucessCallBack, LoadAssetFailCallBack, ne1); } }
private void LoadAssetSucessCallBack(string assetName, object asset, float duration, object userData) { GameObject go = asset as GameObject; AddHpItemInfoEventArgs ne = userData as AddHpItemInfoEventArgs; if (!go || ne == null) { Debug.LogError("Sprite:" + assetName + "资源不存在"); return; } go = Instantiate(go); go.transform.SetParent(hpItemRoot); go.transform.localPosition = new Vector3(-1000, 0, 0); ItemEntityHP ieh = go.GetComponent <ItemEntityHP>(); ieh.InitItemInfo(ne.Tf, ne.Hp); itemDic.Add(ne.Name, ieh); GameEntry.Resource.UnloadAsset(asset); ReferencePool.Release(ne); }