public override void onAddCallBack <T>(T data) { if (data is UIData) { Debug.Log("Toast position: " + this.transform.localPosition); UIData uiData = data as UIData; // Child { uiData.state.allAddCallBack(this); } dirty = true; return; } // Child if (data is UIData.State) { UIData.State state = data as UIData.State; // Update { switch (state.getType()) { case UIData.State.Type.Hide: { Hide hide = state as Hide; UpdateUtils.makeUpdate <HideUpdate, Hide>(hide, this.transform); } break; case UIData.State.Type.Appear: { Appear appear = state as Appear; UpdateUtils.makeUpdate <AppearUpdate, Appear>(appear, this.transform); } break; case UIData.State.Type.Show: { Show show = state as Show; UpdateUtils.makeUpdate <ShowUpdate, Show>(show, this.transform); } break; case UIData.State.Type.Disappear: { Disappear disappear = state as Disappear; UpdateUtils.makeUpdate <DisappearUpdate, Disappear>(disappear, this.transform); } break; default: Logger.LogError("unknown type: " + state.getType()); break; } } dirty = true; return; } Debug.LogError("Don't process: " + data + "; " + this); }
public override void onRemoveCallBack <T>(T data, bool isHide) { if (data is UIData) { UIData uiData = data as UIData; // Child { uiData.state.allRemoveCallBack(this); } this.setDataNull(uiData); return; } // Child if (data is UIData.State) { UIData.State state = data as UIData.State; // Update { switch (state.getType()) { case UIData.State.Type.Hide: { Hide hide = state as Hide; hide.removeCallBackAndDestroy(typeof(HideUpdate)); } break; case UIData.State.Type.Appear: { Appear appear = state as Appear; appear.removeCallBackAndDestroy(typeof(AppearUpdate)); } break; case UIData.State.Type.Show: { Show show = state as Show; show.removeCallBackAndDestroy(typeof(ShowUpdate)); } break; case UIData.State.Type.Disappear: { Disappear disappear = state as Disappear; disappear.removeCallBackAndDestroy(typeof(DisappearUpdate)); } break; default: Logger.LogError("unknown type: " + state.getType()); break; } } return; } Debug.LogError("Don't process: " + data + "; " + this); }