public void Show <T>(ViewTipsController controller) where T : IViewTipsState { T t = IViewTipsState.Create <T>(controller); _controller.SetState(t); _controller.StateUpdate(); Debug.Log(t); }
public static T Create <T>(ViewTipsController controller) where T : IViewTipsState { Transform uiRoot = GameObject.Find("Canvas").transform; switch (typeof(T).Name) { case "UINumberTips": s_uINumberTips = uiRoot.Find("Normal/UINumberTips").GetComponent <UINumberTips>(); s_uINumberTips.Init(controller); return((T)s_uINumberTips); case "UIGoldTips": s_uINumberTips = uiRoot.Find("Normal/UIGoldTips").GetComponent <UIGoldTips>(); s_uINumberTips.Init(controller); return((T)s_uINumberTips); } return(null); }
//public UINumberTips(ViewTipsController controller) : base(controller) //{ // this.StateName = "UINumberTips"; //} protected override void Init(ViewTipsController controller) { base.Init(controller); this.StateName = "UINumberTips"; }
//public IViewTipsState(ViewTipsController controller) //{ // _tipsController = controller; //} //建造者 protected virtual void Init(ViewTipsController controller) { _tipsController = controller; }