private void _onStartAnim(ViewStatus status, UIAnimResult callback) { mIsPlayinngAni = true; UIAnimResult _callback = (bool ret) => { switch (status) { case ViewStatus.onHideBegin: gameObject.SetActive(false); this.onDisabled(); this._onLuaStatusChange(ViewStatus.onDisable); break; case ViewStatus.onShowBegin: this.onEnabled(); this._onLuaStatusChange(ViewStatus.onEnable); //gameObject.SetActive(true); break; } mIsPlayinngAni = false; //Debug.LogWarningFormat("status:{0}", status.ToString()); if (null != callback) { callback(ret); } }; if (null != mLuaFuncs) { LuaFunction func = _getLuaFunc(status.ToString()); if (null != func) { OnAnimCallbcak = _callback; func.Call(); return; } } //不在lua上修改动画直接使用C#定义的 switch (status) { case ViewStatus.onHideBegin: onHide(_callback); break; case ViewStatus.onShowBegin: onShow(_callback); gameObject.SetActive(true); break; } }
private bool onLuaStatusChange(ViewStatus status) { if (null != mLuaFuncs) { LuaFunction func = getLuaFunc(status.ToString()); if (null != func) { if (ViewStatus.onInit == status) { func.Call <UIBase, UIHandler>(this, Handler); } else { func.Call(); } return(true); } } return(false); }