private bool CanSwitchWeapon() { if (ChangeHeroMgr.instance.IsChanging() == true || //切换英雄时不切换 CoreEntry.uiMgr.isPlayingStageAnimate == true || //播放过场动画时不切换 DialogueMgr.instance.isTalking == true || //正在对话时不切换 CoreEntry.GetGameStage() == GameStage.SkillLevel || //超能关卡时不切换 CoreEntry.GetGameStage() == GameStage.SummonerHouse || //召唤师小屋时不切换 isChangingWeapon == true || //正在切换武器时不切换 SceneLoadMgr.instance.IsLoadingScene() == true || //加载场景时不切换 CoreEntry.isStageEnter == false ) { return(false); } return(true); }
void ShowHeroAnim() { //初始化切换英雄 CloseEmpty(); ClearEffect(); InitParams(true); usingHeroCID = showingCID == null?CoreEntry.portalMgr.GetLastHeroCID() : showingCID; var data = PlayerDataMgr.instance.GetHeroDataByInstanceId(usingHeroCID); if (data != null) { CoreEntry.eventMgr.TriggerEvent <bool>("showHeroSwitch", false); //设置切换类型 this.changeType = ChangeType.NEW_HERO; //回调函数 System.Action cb = () => { FinishEffect("switchIdle", () => { ResetUsingCID(); InitParams(false); ClearEffect(); EndSwitch(); }); }; if (CoreEntry.IsStageUsingHero(CoreEntry.GetGameStage())) { CoreEntry.globalObject.GetComponent <CoreEntry>().StartCoroutine(SceneMgr.DelayToInvoke(() => { //播放切换英雄特效 CreateEffect(data.resId, "idle", cb); })); needDelay = false; } else { //播放切换英雄特效 CreateEffect(data.resId, "idle", cb); } } }
void ShowVirtualHeroAnim() { virtualAction = () => { CoreEntry.virtualHeroMgr.IsVirtualSwitchHero = true; //Clear Effect Before ClearEffect(); //Close Main Camera CoreEntry.cameraMgr.CloseMainCamera(); //Get VirtualSwitchPanel virtualPanel = CoreEntry.uiMgr.GetPanelSimply(AIToyMgr.VIRTUAL_PANEL); //Mount Sound if (virtualPanel != null) { soundId = CoreEntry.soundMgr.PlaySound("MainUIsfx", "Play_Hero_Change_Before", virtualPanel.gameObject); } }; if (virtualAction == null) { return; } if (CoreEntry.IsStageUsingHero(CoreEntry.GetGameStage())) { //Wait for two frames to init new object ignoreTimeScale CoreEntry.globalObject.GetComponent <CoreEntry>().StartCoroutine(SceneMgr.DelayToInvoke(() => { virtualAction(); })); } else { virtualAction(); } }