/*===============================================界面显示与关闭===============================================*/ private void OnOpenView(IEvent evt) { if (evt == null || evt.data == null) { return; } this.currentView = (TopViewHelper.ETopView)evt.data; //Debug.LogFormat("<><MainSceneMediator.OnOpenView>{0}", this.currentView); this.crossContextAction.Enqueue((System.Action)(() => { switch (this.currentView) { case TopViewHelper.ETopView.eAchievement: if (!this.ViewOpened(this.currentView)) { this.ShowCommingSoon(); this.CloseMainMenuModule(TopViewHelper.ETopView.eCommingSoon); } break; case TopViewHelper.ETopView.eFriend: if (!this.ViewOpened(this.currentView)) { this.ShowCommingSoon(); this.CloseMainMenuModule(TopViewHelper.ETopView.eCommingSoon); } break; case TopViewHelper.ETopView.ePetDress: RoleInfo roleInfo = this.RoleConfig.GetRoleInfo(this.dataManager.CurrentPet); if (roleInfo != null && !roleInfo.IsLocal && !this.mLocalPetInfoAgent.ModelExists(roleInfo.Name)) { //当前选中的小宠物的资源不存在,不进入换装页,显示下载页或提示请联网下载资源 if (NativeWifiManager.Instance.IsConnected()) { this.ShowDownloadPage2View(); } else { SoundPlayer.GetInstance().PlaySoundType("download_popup_no_network"); } return; } else if (RoleManager.Instance.CurrentRole.PetName != this.dataManager.CurrentPet) { //当前选中的小宠物的资源已存在,但可能还没加载出来 //Debug.LogFormat("<><MainSceneMediator.OnOpenView>PetDress, CurrentName: {0}, Actual Name: {1}", RoleManager.Instance.CurrentRole.PetName, this.dataManager.CurrentPet); return; } if (!this.ViewOpened(this.currentView)) { this.ShowPetDress(); this.CloseMainMenuModule(TopViewHelper.ETopView.ePetDress); } break; } })); }
protected override void OnTopViewChanged(string operate, TopViewHelper.ETopView topView) { base.OnTopViewChanged(operate, topView); if (operate == TopViewHelper.REMOVE_VIEW || operate == TopViewHelper.RESET_VIEW) { this.CancelInvoke(); this.Invoke("UnloadAllUnusedAssets", 0.5f); } }
public static void LogEvent(TopViewHelper.ETopView view, MainKeys key) { if (mFlurryUtils == null) { mFlurryUtils = new Cup.Utils.android.FlurryUtils(); } mFlurryUtils.onEvent(string.Format("{0}_{1}", view, key)); }
public static void EndTimedEvent(TopViewHelper.ETopView view) { if (mFlurryUtils == null) { mFlurryUtils = new Cup.Utils.android.FlurryUtils(); } mFlurryUtils.endTimedEvent(view.ToString()); }
/// <summary> /// 当TopView发生改变时(暂停和回复对输入信号的接收) /// </summary> /// <param name="topView"></param> protected virtual void OnTopViewChanged(string operate, TopViewHelper.ETopView topView) { UnityEngine.Debug.LogFormat("<><BaseMediator.OnTopViewChanged>View: {0}, Operate: {1}, TopView: {2}", this.View, operate, topView); if (this.View == TopViewHelper.ETopView.eMainMenu || (topView == this.View && !TopViewHelper.Instance.IsOpenedView(TopViewHelper.ETopView.eMainMenu))) { this.RegisterInput(); } else if (this.View != topView || TopViewHelper.Instance.IsOpenedView(TopViewHelper.ETopView.eMainMenu)) { this.UnregisterInput(); } }
/*--------------------------------------------------功能介绍--------------------------------------------------*/ private void ShowGuideTip(IEvent evt) { if (evt != null && evt.data != null) {//切换星球 object viewObject = Enum.Parse(typeof(TopViewHelper.ETopView), evt.data.ToString()); if (viewObject == null) { return; } TopViewHelper.ETopView view = (TopViewHelper.ETopView)viewObject; bool viewValid = false; switch (view) {//只当这些页面关闭时,才按几率播放功能介绍提示音 case TopViewHelper.ETopView.eSystemMenu: case TopViewHelper.ETopView.eCommingSoon: case TopViewHelper.ETopView.eCollection: case TopViewHelper.ETopView.ePetPage: case TopViewHelper.ETopView.ePetFeed: case TopViewHelper.ETopView.eWorldMap: viewValid = true; break; } if (!viewValid) { return; } } int seed = UnityEngine.Random.Range(1, 100); if (seed <= 30 && SoundPlayer.GetInstance() != null) {//30%的几率播放功能介绍提示音 TopViewHelper.Instance.AddTopView(TopViewHelper.ETopView.eGuideTip); this.viewMainScene.GuideTipSpine.AnimationState.SetAnimation(0, "tips_ani01", false).Complete += delegate { this.viewMainScene.GuideTipSpine.AnimationState.SetAnimation(0, "tips_ani02", true); }; SoundPlayer.GetInstance().PlaySoundType("guide_homepage"); } }
//发送消息 private void Dispatch(TopViewHelper.ETopView selectedView) { if (this.lastNavigatorItem != null && TopViewHelper.Instance.IsOpenedView(this.lastNavigatorItem.View)) { this.CloseLastViewSignal.Dispatch(this.lastNavigatorItem.View);//关闭上一个功能页面 } this.ResetPet(); if (this.ViewSelectedAction != null) { this.ViewSelectedAction(selectedView);//打开新的功能页或关闭所有功能页(目前仅指喂食页和换装页) } if (this.items[this.selectedIndex].View != TopViewHelper.ETopView.eHome) { this.lastNavigatorItem = this.items[this.selectedIndex]; } else { this.lastNavigatorItem = null; } Debug.LogFormat("<><NavigatorView.Dispatch>SelectedView: {0}", selectedView); }
private void OnCloseLastView(TopViewHelper.ETopView view) { this.dispatcher.Dispatch(MainEvent.CloseView, view); }