public void RemoveMsg(TurnMsg msg) { int msgIdx = model.Msgs.IndexOf(msg); if (msgIdx == -1) { return; } model.Msgs.Remove(msg); EventView vv = view.EventViewList[msgIdx]; view.EventViewList.RemoveAt(msgIdx); vv.icon.gameObject.SetActive(false); DOTween.To ( () => vv.root.sizeDelta, (x) => vv.root.sizeDelta = x, new Vector2(0, vv.root.sizeDelta.y), 0.3f ).OnComplete(delegate { GameObject.Destroy(vv.root.gameObject); }).OnUpdate(delegate { LayoutRebuilder.ForceRebuildLayoutImmediate(view.EventsContainer as RectTransform); //view.EventsContainer. }); }
public void AddMsg(TurnMsg msg) { model.Msgs.Add(msg); GameObject go = pResLoader.Instantiate("UI/Main/e0", view.EventsContainer); EventView vv = new EventView(); vv.BindView(go.transform); ClickEventListerner listerner = vv.icon.gameObject.GetComponent <ClickEventListerner>(); if (listerner == null) { listerner = vv.icon.gameObject.AddComponent <ClickEventListerner>(); } listerner.ClearClickEvent(); listerner.OnClickEvent += delegate { mUIMgr.ShowMsgBox(msg.content); RemoveMsg(msg); }; view.EventViewList.Add(vv); }