| | |
| | | [SerializeField] FairyCallMemberBehaviour m_FairyCallBehaviour;
|
| | | [SerializeField] MapSwitchingBehaviour m_MapSwitchingBehaviour;
|
| | | [SerializeField] DungeonBossBriefInfoContainer m_BossBriefInfos;
|
| | | [SerializeField] AnimationFadeOut m_AnimationFadeOut;
|
| | | [SerializeField] RightBottomFadeInOut m_RightBottomFadeInOut;
|
| | |
|
| | | [SerializeField] IntensifySmoothSlider _ExpSlider;//经验条
|
| | | [SerializeField] Button _DownButton;//查看经验数值
|
| | |
| | | [SerializeField] Transform CopyOfThePanel;
|
| | | [SerializeField] GameObject m_TaskAndTeamTip;
|
| | | [SerializeField] GameObject m_MailObj;//邮件显隐
|
| | | [SerializeField] ClickScreenOtherSpace _MarkRay;//便捷切换按钮 |
| | |
|
| | | [SerializeField] MainPositionTween m_MainPositionTween;
|
| | | [SerializeField] MainButtonMisc m_MainButtonMisc;
|
| | |
| | | private bool TaskSwithBool = true;
|
| | | private float ExpValueFloat = 0;
|
| | | private bool SliderOpen = true;
|
| | | public static bool recordPositionBool = true;
|
| | | private int mapId = 0;
|
| | |
|
| | | public static event Action Event_ChatCallback;
|
| | | public static event Action<bool, float> Event_Duplicates;
|
| | | #endregion
|
| | | private List<int> ListBossMapId = new List<int>();//用于boss区域地图id
|
| | | public static event Action<bool> IsCopyOfThePanel;
|
| | | public static event Action IsOpenMaininterface;
|
| | |
|
| | | PlayerMainDate onMainModel { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
|
| | | TaskModel onPlayerTask { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
|
| | |
| | | PKModel pKModel { get { return ModelCenter.Instance.GetModel<PKModel>(); } }
|
| | | FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
|
| | | FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
|
| | | TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
|
| | |
|
| | | #region Built-in
|
| | | private bool IsUpdateBool = true;
|
| | | protected override void BindController()
|
| | | {
|
| | | m_MapSwitchingBehaviour.InitAwake();
|
| | | recordPositionBool = true;
|
| | | TaskSwithBool = true;
|
| | | m_MainPositionTween.SetTaskPos(true);
|
| | | m_MailObj.SetActive(true);
|
| | |
| | | {
|
| | | UIEventTrigger.Get(_DownButton.gameObject).OnDown = DownButton;
|
| | | UIEventTrigger.Get(_DownButton.gameObject).OnUp = UpButton;
|
| | | _MarkRay.AddListener(MarkRayButton);
|
| | | _SwitchShowBtn.SetListener(SwitchShowButton);
|
| | | m_TaskSwithButton.SetListener(TaskSwithButton);
|
| | | }
|
| | |
|
| | | protected override void OnPreOpen()
|
| | | {
|
| | | if (IsOpenMaininterface != null)
|
| | | {
|
| | | IsOpenMaininterface();
|
| | | }
|
| | | IsUpdateBool = true;
|
| | | SliderOpen = true;
|
| | | m_InGamePusher.Init();
|
| | |
| | | m_TaskListTip.Init();
|
| | | m_IsShowXp.Init();
|
| | | m_TopRightTip.Init();
|
| | | m_AnimationFadeOut.Init();
|
| | | m_TeamInvitationEntrance.Init();
|
| | | m_FairyCallBehaviour.Init();
|
| | | m_MapSwitchingBehaviour.Init();
|
| | | m_FairyLeagueRemind.Init();
|
| | | m_MainButtonMisc.Init();
|
| | | m_RightBottomFadeInOut.Init();
|
| | | m_BossBriefInfos.gameObject.SetActive(false);
|
| | | ArticleExperience();//关于经验条
|
| | | CheckChatTipOpen();
|
| | |
| | | FunctionUnlockFlyObject.functionUnLockShowBeginEvent += UnFlodFunctionArea;
|
| | | GA_Hero.OnEnterOrExitArea += OnEnterOrExitArea;
|
| | | NewBieCenter.Instance.guideBeginEvent += OnGuideBegin;
|
| | | NewBieCenter.Instance.guideCompletedEvent += OnGuideCompleted;
|
| | | WindowCenter.Instance.windowAfterOpenEvent += WindowAfterEvent;
|
| | | WindowCenter.Instance.windowAfterCloseEvent += WindowAfterEvent;
|
| | | NewBieCenter.Instance.guideBeginEvent += GuideBeginEvent;
|
| | |
| | |
|
| | | protected override void OnActived()
|
| | | {
|
| | | m_MainPositionTween.Switch(new MainPositionTween.SwitchParam()
|
| | | {
|
| | | immediately = true,
|
| | | showDefault = true,
|
| | | });
|
| | |
|
| | | m_MainButtonMisc.OnActived();
|
| | | IsShowTaskPanel();//是否显示任务面板
|
| | |
|
| | | if (MapUtility.IsDungeon(PlayerDatas.Instance.baseData.MapID))
|
| | | {
|
| | | m_FunctionForecastTip.gameObject.SetActive(false);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_FunctionForecastTip.gameObject.SetActive(true);
|
| | | }
|
| | |
|
| | | var isNeutralMap = GeneralDefine.neutralBossMaps.Contains(PlayerDatas.Instance.baseData.MapID);
|
| | | if (isNeutralMap)
|
| | | {
|
| | | m_BossBriefInfos.gameObject.SetActive(true);
|
| | | if (PlayerDatas.Instance.baseData.MapID == DogzDungeonModel.DATA_MAPID)
|
| | | {
|
| | | var bosses = ModelCenter.Instance.GetModel<DogzDungeonModel>().GetBosses();
|
| | | m_BossBriefInfos.Display(bosses);
|
| | | }
|
| | | else if (PlayerDatas.Instance.baseData.MapID == CrossServerBossModel.DATA_MAPID)
|
| | | {
|
| | | var bosses = ModelCenter.Instance.GetModel<CrossServerBossModel>().GetBosses();
|
| | | m_BossBriefInfos.Display(bosses);
|
| | | }
|
| | | else
|
| | | {
|
| | | var bosses = ModelCenter.Instance.GetModel<WorldBossModel>().GetWorldBosses(PlayerDatas.Instance.baseData.MapID);
|
| | | m_BossBriefInfos.Display(bosses);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | m_BossBriefInfos.gameObject.SetActive(false);
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | protected override void OnAfterOpen()
|
| | | {
|
| | | bool IsBossBool = PlayerDatas.Instance.hero != null && MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域
|
| | | var inDungeon = IsDungeon();
|
| | | var judge1 = onMainModel.IsDead || (onMainModel.IsBossAreaTask && !IsBossBool && !m_MainPositionTween.IsTaskAndPanelShow);
|
| | | var judge2 = mapId != PlayerDatas.Instance.baseData.MapID;
|
| | | bool inBossArea = PlayerDatas.Instance.hero != null && MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域
|
| | | var judge1 = onMainModel.IsDead || (onMainModel.IsBossAreaTask && !inBossArea && !m_MainPositionTween.IsTaskAndPanelShow);
|
| | |
|
| | | if (judge1)
|
| | | {
|
| | |
| | | onMainModel.IsBossAreaTask = false;
|
| | | onMainModel.IsDead = false;
|
| | | }
|
| | |
|
| | | if (m_AnimationFadeOut.GetIsFadeIn())
|
| | | {
|
| | | _MarkRay.gameObject.SetActive(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | _MarkRay.gameObject.SetActive(false);
|
| | | }
|
| | | if (inDungeon)
|
| | | {
|
| | | m_FunctionForecastTip.gameObject.SetActive(false);
|
| | | if (judge2)
|
| | | {
|
| | | SetTipPanelOrBossList(false, false);
|
| | | }
|
| | | if (m_AnimationFadeOut.GetIsFadeIn() && judge2)
|
| | | {
|
| | | m_MailObj.SetActive(true);
|
| | | m_MainPositionTween.SetSkillTipOrRightTipPos(true);
|
| | | recordPositionBool = true;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | m_FunctionForecastTip.gameObject.SetActive(true);
|
| | | var isNeutralMap = GeneralDefine.neutralBossMaps.Contains(PlayerDatas.Instance.baseData.MapID);
|
| | |
|
| | | if (isNeutralMap)
|
| | | {
|
| | | m_BossBriefInfos.gameObject.SetActive(true);
|
| | | if (PlayerDatas.Instance.baseData.MapID == DogzDungeonModel.DATA_MAPID)
|
| | | {
|
| | | var bosses = ModelCenter.Instance.GetModel<DogzDungeonModel>().GetBosses();
|
| | | m_BossBriefInfos.Display(bosses);
|
| | | }
|
| | | else if (PlayerDatas.Instance.baseData.MapID == CrossServerBossModel.DATA_MAPID)
|
| | | {
|
| | | var bosses = ModelCenter.Instance.GetModel<CrossServerBossModel>().GetBosses();
|
| | | m_BossBriefInfos.Display(bosses);
|
| | | }
|
| | | else
|
| | | {
|
| | | var bosses = ModelCenter.Instance.GetModel<WorldBossModel>().GetWorldBosses(PlayerDatas.Instance.baseData.MapID);
|
| | | m_BossBriefInfos.Display(bosses);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | m_BossBriefInfos.gameObject.SetActive(false);
|
| | | }
|
| | |
|
| | | if (isNeutralMap && judge2)
|
| | | {
|
| | | SetTipPanelOrBossList(false, false);
|
| | | }
|
| | | else if (!isNeutralMap && !IsBossBool)
|
| | | {
|
| | | SetTipPanelOrBossList(true, false);
|
| | | }
|
| | | }
|
| | | mapId = PlayerDatas.Instance.baseData.MapID;
|
| | | |
| | | m_HighSettingTip.AfterOpen();
|
| | | m_ChatTip.OnAfterOpen();
|
| | | HandleAchievement();
|
| | |
| | | m_TaskListTip.UnInit();
|
| | | m_TopRightTip.UnInit();
|
| | | m_FunctionForecastTip.Unit();
|
| | | m_AnimationFadeOut.Unit();
|
| | | m_TeamInvitationEntrance.UnInit();
|
| | | m_FairyCallBehaviour.UnInit();
|
| | | m_FairyLeagueRemind.UnInit();
|
| | | m_MainButtonMisc.UnInit();
|
| | | m_RightBottomFadeInOut.UnInit();
|
| | |
|
| | | PlayerDatas.Instance.playerDataRefreshEvent -= Updatefighting;
|
| | | FunctionUnlockFlyObject.functionUnLockShowBeginEvent -= UnFlodFunctionArea;
|
| | | GA_Hero.OnEnterOrExitArea -= OnEnterOrExitArea;
|
| | | NewBieCenter.Instance.guideBeginEvent -= OnGuideBegin;
|
| | | NewBieCenter.Instance.guideCompletedEvent -= OnGuideCompleted;
|
| | | WindowCenter.Instance.windowAfterOpenEvent -= WindowAfterEvent;
|
| | | WindowCenter.Instance.windowAfterCloseEvent -= WindowAfterEvent;
|
| | | NewBieCenter.Instance.guideBeginEvent -= GuideBeginEvent;
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private void OnGuideCompleted(int obj)//引导结束
|
| | | {
|
| | | if (m_AnimationFadeOut.GetIsFadeIn())
|
| | | {
|
| | | _MarkRay.gameObject.SetActive(true);
|
| | | }
|
| | | }
|
| | |
|
| | | private void OnEnterOrExitArea(MapArea.E_Type _areaType, bool _enter)
|
| | | {
|
| | | if (PlayerDatas.Instance.baseData.MapID == 10040 && _areaType != MapArea.E_Type.Boss && _enter)
|
| | |
| | | TaskSwithButton();
|
| | | onMainModel.IsBossAreaTask = true;
|
| | | }
|
| | | if (m_MainPositionTween.IsSetCopyOfThePanelShow)
|
| | | {
|
| | | if (NewBieCenter.Instance.inGuiding)
|
| | | {
|
| | | return;
|
| | | }
|
| | | recordPositionBool = false;
|
| | | SwitchShowButton();
|
| | | }
|
| | | }
|
| | |
|
| | | if ((_areaType == MapArea.E_Type.Boss && !_enter) || (_areaType != MapArea.E_Type.Normal && (_areaType != MapArea.E_Type.Boss && _enter)))
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | var inDungeon = IsDungeon();
|
| | | var isNeutralMap = GeneralDefine.neutralBossMaps.Contains(PlayerDatas.Instance.baseData.MapID);
|
| | | if (_areaType == MapArea.E_Type.Boss && !_enter)
|
| | | {
|
| | | if (!m_MainPositionTween.IsSetCopyOfThePanelShow && !inDungeon && !isNeutralMap)
|
| | | {
|
| | | SetTipPanelOrBossList(true, true);
|
| | | }
|
| | | }
|
| | | m_MainPositionTween.Switch(new MainPositionTween.SwitchParam() { showDefault = true, immediately = false });
|
| | | }
|
| | |
|
| | | private void AtkTypeChange()//骑宠争夺是否切换状态
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public void MarkRayButton()
|
| | | {
|
| | | if (NewBieCenter.Instance.inGuiding)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | if (treasureModel.treasureStageUpShow || treasureModel.newGotShowing)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | var inDungeon = IsDungeon();
|
| | | var inBossArea = PlayerDatas.Instance.hero == null ? false : MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域
|
| | | var isNeutralMap = GeneralDefine.neutralBossMaps.Contains(PlayerDatas.Instance.baseData.MapID);
|
| | |
|
| | | if (!recordPositionBool)
|
| | | {
|
| | | if (inDungeon || inBossArea || isNeutralMap)
|
| | | {
|
| | | SetTipPanelOrBossList(false, true);
|
| | | }
|
| | | if (!inBossArea)
|
| | | {
|
| | | if (!m_MainPositionTween.IsSetCopyOfThePanelShow && !inDungeon)
|
| | | {
|
| | | SetTipPanelOrBossList(true, true);
|
| | | }
|
| | | }
|
| | | m_MailObj.SetActive(true);
|
| | | recordPositionBool = true;
|
| | | m_MainPositionTween.SetRotation(false);
|
| | | m_MainPositionTween.SetSkillTipOrRightTipPosTween(true);
|
| | | }
|
| | | }
|
| | |
|
| | | void DownButton(GameObject go)
|
| | | {
|
| | | _ExpRate.gameObject.SetActive(true);
|
| | |
| | |
|
| | | void SwitchShowButton()
|
| | | {
|
| | | var inDungeon = IsDungeon();
|
| | | bool IsBossBool = MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);
|
| | | var isNeutralMap = GeneralDefine.neutralBossMaps.Contains(PlayerDatas.Instance.baseData.MapID);
|
| | | var judge1 = inDungeon || IsBossBool || isNeutralMap;
|
| | | var judge2 = !IsBossBool && !m_MainPositionTween.IsSetCopyOfThePanelShow && !inDungeon;
|
| | |
|
| | | if (recordPositionBool)//显示功能入口
|
| | | m_MainPositionTween.Switch(new MainPositionTween.SwitchParam()
|
| | | {
|
| | | if (judge1 || judge2)
|
| | | {
|
| | | SetTipPanelOrBossList(true, true);
|
| | | }
|
| | | m_MailObj.SetActive(false);
|
| | | _MarkRay.gameObject.SetActive(true);
|
| | | m_MainPositionTween.SetSkillTipOrRightTipPosTween(false);
|
| | | m_MainPositionTween.SetRotation(true);
|
| | | showDefault = !MainPositionTween.isDefaultState,
|
| | | immediately = false
|
| | | }
|
| | | else//显示默认
|
| | | {
|
| | | if (judge1)
|
| | | {
|
| | | SetTipPanelOrBossList(false, true);
|
| | | }
|
| | | if (judge2)
|
| | | {
|
| | | SetTipPanelOrBossList(true, true);
|
| | | }
|
| | | m_MailObj.SetActive(true);
|
| | | _MarkRay.gameObject.SetActive(false);
|
| | | m_MainPositionTween.SetSkillTipOrRightTipPosTween(true);
|
| | | m_MainPositionTween.SetRotation(false);
|
| | | }
|
| | | recordPositionBool = !recordPositionBool;
|
| | | );
|
| | | }
|
| | |
|
| | | // 前期战斗用强制设置任务位置逻辑
|
| | |
| | | onMainModel.IsBossAreaTask = false;
|
| | | }
|
| | |
|
| | | ShowBtnGroup();//显示按钮组隐藏技能组(强制切换)
|
| | | m_MainPositionTween.Switch(new MainPositionTween.SwitchParam() { showDefault = true, immediately = false });
|
| | | m_HighSettingFadeInFadeOut.SwitchImmedidately(true);
|
| | | }
|
| | | }
|
| | |
| | | {
|
| | | if (AchievementGoto.achievementType == AchievementGoto.ExcuteSkill)
|
| | | {
|
| | | if (m_MainPositionTween.IsRightTipPanelShow)//技能面板收起状态
|
| | | m_MainPositionTween.Switch(new MainPositionTween.SwitchParam()
|
| | | {
|
| | | ShowCastSkill();//显示技能组隐藏按钮组(强制切换)
|
| | | }
|
| | | showDefault = true,
|
| | | immediately = true
|
| | | });
|
| | |
|
| | | var _cfg = SuccessConfig.Get(AchievementGoto.guideAchievementId);
|
| | | var _skillId = SkillConfig.FindSkillByJob(_cfg.Condition, PlayerDatas.Instance.baseData.Job);
|
| | | if (_skillId != 0)
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public void IsShowButtonGroup()
|
| | | {
|
| | | if (m_MainPositionTween.IsRightTipPanelShow)//技能面板展示
|
| | | {
|
| | | ShowBtnGroup();//显示按钮组隐藏技能组(强制切换)
|
| | | }
|
| | | }
|
| | |
|
| | | private void ShowBtnGroup()//显示按钮组,隐藏技能组(强制切换)
|
| | | {
|
| | | m_MainPositionTween.SetSkillTipOrRightTipPos(false);
|
| | | m_MailObj.SetActive(false);
|
| | | m_MainPositionTween.SetRotation(true);
|
| | | recordPositionBool = false;
|
| | | _MarkRay.gameObject.SetActive(true);
|
| | | }
|
| | |
|
| | | private void ShowCastSkill()//显示技能组,隐藏按钮组(强制切换)
|
| | | {
|
| | | m_MainPositionTween.SetSkillTipOrRightTipPos(true);
|
| | | m_MailObj.SetActive(true);
|
| | | m_MainPositionTween.SetRotation(false);
|
| | | recordPositionBool = true;
|
| | | _MarkRay.gameObject.SetActive(false);
|
| | | }
|
| | |
|
| | | private void IsShowTaskPanel()//是否显示任务面板
|
| | | {
|
| | | var inDungeon = IsDungeon();
|
| | |
| | | m_TaskSwithButton.gameObject.SetActive(false);
|
| | | m_InGamePusher.gameObject.SetActive(false);
|
| | | IsShowTaskPanel();
|
| | | if (m_MainPositionTween.IsRightTipPanelShow)//技能面板收起状态
|
| | | {
|
| | | ShowCastSkill();//显示技能组,隐藏按钮组(强制切换)
|
| | | }
|
| | | m_MailObj.SetActive(false);
|
| | | m_MainPositionTween.Switch(new MainPositionTween.SwitchParam() { showDefault = true, immediately = true });
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | m_FunctionForecastTip.gameObject.SetActive(true);
|
| | | m_TaskSwithButton.gameObject.SetActive(true);
|
| | | m_InGamePusher.gameObject.SetActive(true);
|
| | | m_MailObj.SetActive(true);
|
| | | if (WindowCenter.Instance.IsOpen<FightingPKWin>())
|
| | | {
|
| | | WindowCenter.Instance.Close<FightingPKWin>();
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private void SetTipPanelOrBossList(bool _bool, bool _isTween)//顶层按钮组和boss列表的相互切换
|
| | | {
|
| | | var inDungeon = IsDungeon();
|
| | | m_BossBriefInfos.Unfold(false);
|
| | | if (_bool)
|
| | | {
|
| | | if (IsCopyOfThePanel != null)
|
| | | {
|
| | | IsCopyOfThePanel(true);
|
| | | }
|
| | | if (Event_Duplicates != null && inDungeon)
|
| | | {
|
| | | Event_Duplicates(true, m_MainPositionTween.rightTopSwitchTime);
|
| | | }
|
| | | onMainModel.MainTopPanelShow = true;
|
| | | if (_isTween)
|
| | | {
|
| | | m_MainPositionTween.SetTipAndBossTweenPos(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_MainPositionTween.SetTipAndBossPos(true);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (IsCopyOfThePanel != null)
|
| | | {
|
| | | IsCopyOfThePanel(false);
|
| | | }
|
| | | if (Event_Duplicates != null && inDungeon)
|
| | | {
|
| | | Event_Duplicates(false, m_MainPositionTween.rightTopSwitchTime);
|
| | | }
|
| | | onMainModel.MainTopPanelShow = false;
|
| | | if (_isTween)
|
| | | {
|
| | | m_MainPositionTween.SetTipAndBossTweenPos(false);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_MainPositionTween.SetTipAndBossPos(false);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | } |