//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Saturday, October 14, 2017 //-------------------------------------------------------- using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using DG.Tweening; using System; using System.Collections; namespace Snxxz.UI { public class MainInterfaceWin : Window { [SerializeField] InGamePushContainer m_InGamePusher; [SerializeField] SkillContainer m_SkillContainer; [SerializeField] HeadPortraitTip m_HeadPortraitTip; [SerializeField] LowSettingTip m_LowSettingTip; [SerializeField] ChatFrame m_ChatTip; [SerializeField] HighSettingTip m_HighSettingTip; [SerializeField] TaskListTip m_TaskListTip;//任务 [SerializeField] TopRightTip m_TopRightTip; [SerializeField] Button friendQuestBtn; [SerializeField] Button fairyRequestBtn; [SerializeField] FunctionForecastTip m_FunctionForecastTip;//功能预告 [SerializeField] IsShowXpButton m_IsShowXp;//XP 技能常显 // [SerializeField] XpSkill m_XpSkill; [SerializeField] SkillButtonEffects m_SkillButtonEffects; [Header("副本面板移动速度")] public float CopyOfThePanelSpeed = 1f;//副本面板移动速度 [SerializeField] Transform CopyOfThePanel; [SerializeField] Transform m_ContainerBossList; [SerializeField] DungeonBossBriefInfoContainer m_BossBriefInfos; [SerializeField] Transform CopyOfThePosition1; [SerializeField] Transform CopyOfThePosition2; [SerializeField] IntensifySmoothSlider _ExpSlider;//经验条 [SerializeField] Button _DownButton;//查看经验数值 [SerializeField] Text _ExpRate;//数值 [SerializeField] UIEffect m_UIEffect_A;//经验特效 [SerializeField] UIEffect m_UIEffect_B;//经验特效 private float ExpValueFloat = 0; private bool SliderOpen = true; public float _Delaytime = 0.1f;//延迟时间 [Header("任务面板的移动速度")] public float Speed = 0.2f; [Header("技能面板和按钮面板的移动速度")] public float SwitchSkillTipAndButtonTipSpeed = 0.2f; public float DoFade = 0.2f; [SerializeField] Transform m_LowSettingTipGroup;//按钮面板 [SerializeField] Transform m_CastSkillTip;//技能面板 [SerializeField] Transform m_position1_S; [SerializeField] Transform m_position2_S; public static bool recordPositionBool = true; [Header("策划要的角度")] public Vector3 Vec3 = new Vector3(0f, 0f, 225f); [SerializeField] Transform m_ImageRotation;//切换滚动 [SerializeField] GameObject m_TaskAndTeamTip; [SerializeField] GameObject LeftImage; [SerializeField] GameObject RightImg; [SerializeField] Transform m_TaskAndTeamPanel; [SerializeField] Transform TaskListTipAnchor1; [SerializeField] Transform TaskListTipAnchor2; [SerializeField] Button m_TaskSwithButton;//关于功能预告 [SerializeField] Transform FunctionForecastPanel; [SerializeField] Transform unctionForecastPosition1; [SerializeField] Transform unctionForecastPosition2; [SerializeField] MainCollectBehaviour m_CollectBehaviour; [SerializeField] Button m_RedBag;//红包入口按钮 [SerializeField] UIEffect m_RedpackGetSfx; [SerializeField] Button m_SendRedbagBtn; [SerializeField] Button WishingAwardImg; [SerializeField] Button MysticalPurchaseImg; [SerializeField] Button DungeonAssistImg; [SerializeField] RectTransform m_ContainerGotoGrabBoss; [SerializeField] RectTransform m_ContainerAdaptiveChat; [SerializeField] Button m_GotoFairyGrabBoss; [SerializeField] Button m_FlyToFairyGrabBoss; [SerializeField] FairyLeagueRemindBehaviour m_FairyLeagueRemind; [SerializeField] Transform m_EffectTask;//任务完成特效播放位置 private bool TaskSwithBool = true; [SerializeField] Button _SwitchShowBtn;//切换按钮 [SerializeField] AnimationFadeOut m_AnimationFadeOut; [SerializeField] GameObject m_MailObj;//邮件显隐 [SerializeField] ClickScreenOtherSpace _MarkRay;//便捷切换按钮 [SerializeField] TeamInvitationEntrance m_TeamInvitationEntrance; [SerializeField] FairyCallMemberBehaviour m_FairyCallBehaviour; [SerializeField] MapSwitchingBehaviour m_MapSwitchingBehaviour; #region private int mapId = 0; public delegate void OnChatCallback();//聊天回调 public static event OnChatCallback Event_ChatCallback; public delegate void OnDuplicates(bool _bool, float _speed); public static event OnDuplicates Event_Duplicates; #endregion private List ListBossMapId = new List();//用于boss区域地图id public static event Action IsCopyOfThePanel; public static event Action IsOpenMaininterface; public static bool CopyOfThePositionBool = true; RealmModel m_RealmModel; RealmModel realmModel { get { return m_RealmModel ?? (m_RealmModel = ModelCenter.Instance.GetModel()); } } FairyModel m_FairyModel; FairyModel fairyModel { get { return m_FairyModel ?? (m_FairyModel = ModelCenter.Instance.GetModel()); } } FriendsModel _friendsModel; FriendsModel friendsModel { get { return _friendsModel ?? (_friendsModel = ModelCenter.Instance.GetModel()); } } PlayerMountDatas m_HorseModel; PlayerMountDatas horsemodel { get { return m_HorseModel ?? (m_HorseModel = ModelCenter.Instance.GetModel()); } } PlayerMainDate m_MainModel; PlayerMainDate onMainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel()); } } PlayerTaskDatas m_PlayerTask; PlayerTaskDatas onPlayerTask { get { return m_PlayerTask ?? (m_PlayerTask = ModelCenter.Instance.GetModel()); } } PlayerRedPacketDatas m_RedPacket; PlayerRedPacketDatas redPacket { get { return m_RedPacket ?? (m_RedPacket = ModelCenter.Instance.GetModel()); } } PlayerBuffDatas m_BuffModel; PlayerBuffDatas Buffmodel { get { return m_BuffModel ?? (m_BuffModel = ModelCenter.Instance.GetModel()); } } PKModel m_PKModel; PKModel pKModel { get { return m_PKModel ?? (m_PKModel = ModelCenter.Instance.GetModel()); } } OSRedEnvelopeModel OSEnvelopeModel { get { return ModelCenter.Instance.GetModel(); } } FestivalRedpackModel festivalRedpackModel { get { return ModelCenter.Instance.GetModel(); } } RuneTowerModel runeTowerModel { get { return ModelCenter.Instance.GetModel(); } } TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel(); } } DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel(); } } FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel(); } } WishingPoolModel wishModel { get { return ModelCenter.Instance.GetModel(); } } MysticalPurchaseModel purchaseModel { get { return ModelCenter.Instance.GetModel(); } } DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel(); } } IceCrystalVeinModel m_IceCrystalVeinModel; IceCrystalVeinModel iceCrystalVeinModel { get { return m_IceCrystalVeinModel ?? (m_IceCrystalVeinModel = ModelCenter.Instance.GetModel()); } } JadeDynastyTowerModel jadeDynastyTowerModel { get { return ModelCenter.Instance.GetModel(); } } #region Built-in private bool IsUpdateBool = true; protected override void BindController() { m_MapSwitchingBehaviour.InitAwake(); recordPositionBool = true; m_TaskAndTeamPanel.localPosition = TaskListTipAnchor1.localPosition; m_CastSkillTip.localPosition = m_position1_S.localPosition; m_CastSkillTip.GetComponent().DOFade(1, 0); m_MailObj.SetActive(true); var inst = BossShowModel.Instance; TaskSwithBool = true; FunctionForecastPanel.localPosition = unctionForecastPosition1.localPosition; LeftImage.SetActive(true); RightImg.SetActive(false); ListBossMapId.Clear(); string strBoss = FuncConfigConfig.Get("TaskRetract").Numerical1; string[] bossList = ConfigParse.GetMultipleStr(strBoss);//解析出数组| for (int i = 0; i < bossList.Length; i++) { ListBossMapId.Add(int.Parse(bossList[i])); } _MarkRay.gameObject.SetActive(false); } protected override void AddListeners() { UIEventTrigger.Get(_DownButton.gameObject).OnDown = DownButton; UIEventTrigger.Get(_DownButton.gameObject).OnUp = UpButton; _MarkRay.AddListener(MarkRayButton); _SwitchShowBtn.AddListener(SwitchShowButton); m_TaskSwithButton.AddListener(TaskSwithButton); fairyRequestBtn.onClick.AddListener(OnFairyRequestClick); m_RedBag.AddListener(RedPacketButton); m_SendRedbagBtn.AddListener(SendRedpacketBtn); WishingAwardImg.AddListener(ClickWishAward); MysticalPurchaseImg.AddListener(ClickMysticalPurchase); DungeonAssistImg.AddListener(ClickDungeonAssist); m_GotoFairyGrabBoss.AddListener(GotoFairyGrabBoss); m_FlyToFairyGrabBoss.AddListener(FlyToFairyGrabBoss); } protected override void OnPreOpen() { if (IsOpenMaininterface != null) { IsOpenMaininterface(); } IsUpdateBool = true; SliderOpen = true; horseRidBool = false; friendsModel.askAddFriendEvent = FriendQuestBtn; m_InGamePusher.Init(); m_SkillContainer.Init(); m_FunctionForecastTip.Init(); m_HeadPortraitTip.Init(); m_LowSettingTip.Init(); m_ChatTip.Init(); m_HighSettingTip.Init(); m_TaskListTip.Init(); m_IsShowXp.Init(); m_TopRightTip.Init(); m_SkillButtonEffects.Init(); m_AnimationFadeOut.Init(); m_TeamInvitationEntrance.Init(); m_FairyCallBehaviour.Init(); m_MapSwitchingBehaviour.Init(); m_FairyLeagueRemind.Init(); m_BossBriefInfos.gameObject.SetActive(false); UpdateWishAwardImag(); UpdateMysticalPurchaseImag(); UpdateDungeonAssistImag(); ArticleExperience();//关于经验条 FriendQuestBtn(); UpdateFairyRequest(); OnRedBagGet();//关于红包入口 CheckSendRedpackBtn(); CheckChatTipOpen(); ShowFairyGrabBoss(); PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting; FunctionUnlockFlyObject.functionUnLockShowBeginEvent += UnFlodFunctionArea; fairyModel.UpdateFairyRequestEvent += UpdateFairyRequest; GA_Hero.OnEnterOrExitArea += OnEnterOrExitArea; NewBieCenter.Instance.guideBeginEvent += OnGuideBegin; NewBieCenter.Instance.guideCompletedEvent += OnGuideCompleted; GA_NpcCollect.OnArrive += OnArriveCollectNPC; GA_NpcCollect.OnLeave += OnLeaveCollectNpc; PlayerRedPacketDatas.OnRedBagGetEvent += OnRedBagGet; WindowCenter.Instance.windowAfterOpenEvent += WindowAfterEvent; WindowCenter.Instance.windowAfterCloseEvent += WindowAfterEvent; OSEnvelopeModel.OSRedEnvelopeUpdateEvent += OnRedBagGet; OSEnvelopeModel.OSRedEnvelopeInfoEnvent += OnRedBagGet; PlayerTaskDatas.CompletionOfTaskEvent += CompletionOfTaskEvent; RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent; NewBieCenter.Instance.guideBeginEvent += GuideBeginEvent; fairyGrabBossModel.bossGrabHintEvent += bossGrabHintEvent; wishModel.UpdateWishAwardEvent += UpdateWishAwardImag; assistModel.UpdateRedpointEvent += UpdateDungeonAssistImag; purchaseModel.UpdateNewMysticalEvent += UpdateMysticalPurchaseImag; fairyGrabBossModel.gotoBossStateUpdate += ShowFairyGrabBoss; ChatTip.OnChatUpEvent += RefreshAdaptiveChat; GlobalTimeEvent.Instance.secondEvent += secondEvent; IsCrossServerOneVsOne(); } private void CompletionOfTaskEvent(int obj) { EffectMgr.Instance.PlayUIEffect(1100, 1100, m_EffectTask, false); } protected override void OnActived() { m_HighSettingTip.OnActived(); IsShowTaskPanel();//是否显示任务面板 RefreshAdaptiveChat(); } IEnumerator Co_Load() { yield return null; WindowCenter.Instance.Open(); } protected override void OnAfterOpen() { bool IsBossBool = PlayerDatas.Instance.hero != null && MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域 if (onMainModel.IsDead || (onMainModel.IsBossAreaTask && !IsBossBool)) { if (Vector3.Distance(m_TaskAndTeamPanel.localPosition, TaskListTipAnchor1.localPosition) > 3) { TaskSwithButton(); } onMainModel.IsBossAreaTask = false; onMainModel.IsDead = false; } if (m_AnimationFadeOut.GetIsFadeIn()) { _MarkRay.gameObject.SetActive(true); } var inDungeon = IsDungeon(); if (inDungeon) { m_FunctionForecastTip.gameObject.SetActive(false); if (WindowCenter.Instance.IsOpen()) { WindowCenter.Instance.Close(); } if (mapId != PlayerDatas.Instance.baseData.MapID) { CopyOfThePanel.localPosition = CopyOfThePosition2.localPosition; onMainModel.MainTopPanelShow = false; CopyOfThePositionBool = false; m_ContainerBossList.localPosition = CopyOfThePosition1.localPosition; m_BossBriefInfos.Unfold(false); if (Event_Duplicates != null) { Event_Duplicates(false, CopyOfThePanelSpeed); } } if (m_AnimationFadeOut.GetIsFadeIn() && mapId != PlayerDatas.Instance.baseData.MapID) { m_AnimationFadeOut.FadeAtOnce(); m_MailObj.SetActive(true); m_CastSkillTip.localPosition = m_position1_S.localPosition; m_CastSkillTip.GetComponent().DOFade(1, 0); recordPositionBool = true; } } else { 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().GetBosses(); m_BossBriefInfos.Display(bosses); } else if (PlayerDatas.Instance.baseData.MapID == CrossServerBossModel.DATA_MAPID) { var bosses = ModelCenter.Instance.GetModel().GetBosses(); m_BossBriefInfos.Display(bosses); } else { var bosses = ModelCenter.Instance.GetModel().GetWorldBosses(PlayerDatas.Instance.baseData.MapID); m_BossBriefInfos.Display(bosses); } } else { m_BossBriefInfos.gameObject.SetActive(false); } if (isNeutralMap) { if (mapId != PlayerDatas.Instance.baseData.MapID) { CopyOfThePanel.localPosition = CopyOfThePosition2.localPosition; onMainModel.MainTopPanelShow = false; if (IsCopyOfThePanel != null) { IsCopyOfThePanel(false); } CopyOfThePositionBool = false; m_ContainerBossList.localPosition = CopyOfThePosition1.localPosition; m_BossBriefInfos.Unfold(false); } } else { if (!IsBossBool) { CopyOfThePanel.localPosition = CopyOfThePosition1.localPosition; onMainModel.MainTopPanelShow = true; CopyOfThePositionBool = true; m_ContainerBossList.localPosition = CopyOfThePosition2.localPosition; m_BossBriefInfos.Unfold(false); } } if (Event_Duplicates != null && (inDungeon || isNeutralMap)) { Event_Duplicates(true, CopyOfThePanelSpeed); } if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) < 2) { CopyOfThePositionBool = true; m_ContainerBossList.localPosition = CopyOfThePosition2.localPosition; } m_FunctionForecastTip.gameObject.SetActive(true); } mapId = PlayerDatas.Instance.baseData.MapID; m_HighSettingTip.AfterOpen(); m_ChatTip.OnAfterOpen(); HandleAchievement(); } protected override void OnPreClose() { m_IsShowXp.Unit(); m_InGamePusher.UnInit(); m_SkillContainer.UnInit(); m_HeadPortraitTip.UnInit(); m_LowSettingTip.UnInit(); m_ChatTip.UnInit(); m_HighSettingTip.UnInit(); m_TaskListTip.UnInit(); m_TopRightTip.UnInit(); m_SkillButtonEffects.UnInit(); m_FunctionForecastTip.Unit(); m_AnimationFadeOut.Unit(); m_TeamInvitationEntrance.UnInit(); m_FairyCallBehaviour.UnInit(); m_FairyLeagueRemind.UnInit(); m_CollectBehaviour.Dispose(); horseRidBool = false; purchaseModel.UpdateNewMysticalEvent -= UpdateMysticalPurchaseImag; assistModel.UpdateRedpointEvent -= UpdateDungeonAssistImag; PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting; FunctionUnlockFlyObject.functionUnLockShowBeginEvent -= UnFlodFunctionArea; fairyModel.UpdateFairyRequestEvent -= UpdateFairyRequest; GA_Hero.OnEnterOrExitArea -= OnEnterOrExitArea; NewBieCenter.Instance.guideBeginEvent -= OnGuideBegin; NewBieCenter.Instance.guideCompletedEvent -= OnGuideCompleted; PlayerRedPacketDatas.OnRedBagGetEvent -= OnRedBagGet; WindowCenter.Instance.windowAfterOpenEvent -= WindowAfterEvent; WindowCenter.Instance.windowAfterCloseEvent -= WindowAfterEvent; OSEnvelopeModel.OSRedEnvelopeUpdateEvent -= OnRedBagGet; OSEnvelopeModel.OSRedEnvelopeInfoEnvent -= OnRedBagGet; PlayerTaskDatas.CompletionOfTaskEvent -= CompletionOfTaskEvent; RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent; NewBieCenter.Instance.guideBeginEvent -= GuideBeginEvent; fairyGrabBossModel.gotoBossStateUpdate -= ShowFairyGrabBoss; ChatTip.OnChatUpEvent -= RefreshAdaptiveChat; GlobalTimeEvent.Instance.secondEvent -= secondEvent; if (WindowCenter.Instance.IsOpen()) { WindowCenter.Instance.Close(); } GA_NpcCollect.OnArrive -= OnArriveCollectNPC; GA_NpcCollect.OnLeave -= OnLeaveCollectNpc; fairyGrabBossModel.bossGrabHintEvent -= bossGrabHintEvent; wishModel.UpdateWishAwardEvent -= UpdateWishAwardImag; m_CollectBehaviour.gameObject.SetActive(false); } private void secondEvent() { SetAtkType(); if (IsUpdateBool) { StartCoroutine(featureNoticeModel.WhetherToPlayTheBox());//功能预告 IsUpdateBool = false; } } private void GuideBeginEvent() { if (NewBieCenter.Instance.inGuiding && (NewBieCenter.Instance.currentGuide == 89 || NewBieCenter.Instance.currentGuide == TrialDungeonModel.TRIALEXCHANGE_GUIDE)) { UnFlodFunctionArea(true, 0); } } private void RedpointValueChangeEvent(int _id) { if (_id == OSEnvelopeModel.m_RedAchieveRedpoint.id || _id == festivalRedpackModel.taskRedpoint.id) { CheckSendRedpackBtn(); } } private void OnRedBagGet()//判断是否开启红包入口 { if (m_RedpackGetSfx.IsPlaying) { m_RedpackGetSfx.StopImediatly(); } var requireRedpack = (OSEnvelopeModel.CanGetEnvelope() || redPacket.IsRedBagGetBool || festivalRedpackModel.ExistRewardableRedpack()) && !CrossServerUtility.IsCrossServer(); if (requireRedpack) { m_RedBag.gameObject.SetActive(true); if (!m_RedpackGetSfx.IsPlaying) { m_RedpackGetSfx.Play(); } } else { m_RedBag.gameObject.SetActive(false); } CheckSendRedpackBtn(); } private void CheckSendRedpackBtn() { m_SendRedbagBtn.gameObject.SetActive(!m_RedBag.gameObject.activeSelf && OSEnvelopeModel.m_RedAchieveRedpoint.state == RedPointState.Simple && festivalRedpackModel.taskRedpoint.state == RedPointState.Simple); } private void OnGuideBegin()//引导开始 { if (Vector3.Distance(m_TaskAndTeamPanel.localPosition, TaskListTipAnchor1.localPosition) > 5) { TaskSwithButton(); } } private void OnGuideCompleted(int obj)//引导结束 { if (m_AnimationFadeOut.GetIsFadeIn()) { _MarkRay.gameObject.SetActive(true); } } private void OnEnterOrExitArea(MapArea.E_Type _areaType, bool _enter) { //DebugEx.LogError(_areaType + ".." + _enter); if (PlayerDatas.Instance.baseData.MapID == 10040 && _areaType != MapArea.E_Type.Boss && _enter) { DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)onMainModel.AreaState); } if ((_areaType == MapArea.E_Type.Neutral || _areaType == MapArea.E_Type.Boss) && _enter) { WindowCenter.Instance.Open(); AtkTypeChange(); } if (_areaType == MapArea.E_Type.Neutral && !_enter) { if (Buffmodel.PkType != onMainModel.AreaState) { DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)onMainModel.AreaState); } } if (_areaType == MapArea.E_Type.Boss && _enter) { if (Vector3.Distance(m_TaskAndTeamPanel.localPosition, TaskListTipAnchor1.localPosition) < 2 && ListBossMapId.Contains(PlayerDatas.Instance.baseData.MapID)) { TaskSwithButton(); onMainModel.IsBossAreaTask = true; } if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) < 5) { 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))) { if (onMainModel.IsBossAreaTask) { TaskSwithButton(); onMainModel.IsBossAreaTask = false; } } var inDungeon = IsDungeon(); var isNeutralMap = GeneralDefine.neutralBossMaps.Contains(PlayerDatas.Instance.baseData.MapID); if (_areaType == MapArea.E_Type.Boss && !_enter) { if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon && !isNeutralMap) { CopyOfThePanel.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed); onMainModel.MainTopPanelShow = true; if (IsCopyOfThePanel != null) { IsCopyOfThePanel(true); } m_ContainerBossList.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed); m_BossBriefInfos.Unfold(false); } } } private void AtkTypeChange()//骑宠争夺是否切换状态 { int mapID = PlayerDatas.Instance.baseData.MapID; var config = MapConfig.Get(mapID); int[] atkInt = pKModel.GetArea(config.AtkType).ToArray(); bool IsBossBool = MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域 int Line = 0; fairyGrabBossModel.TryGetFairyGrabBossLine(out Line); if (PlayerDatas.Instance.baseData.MapID == 10040 && IsBossBool && Line == PlayerDatas.Instance.baseData.FBID) { DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)0); onMainModel.AreaState = Buffmodel.PkType; return; } if (PlayerDatas.Instance.baseData.MapID == 10040 && IsBossBool && Line != PlayerDatas.Instance.baseData.FBID)//逍遥城普通Boss区域处理 { DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)5); onMainModel.AreaState = Buffmodel.PkType; return; } if (onMainModel.ShieldedArea.Contains(PlayerDatas.Instance.baseData.MapID))//前四只Boss和活动Boss特殊处理 { } else { if (IsBossBool && atkInt.Length > 1 && Buffmodel.PkType != 5) { onMainModel.AreaState = Buffmodel.PkType; DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)5); } } } private void SetAtkType()//逍遥城非boss区域特殊处理 { if (PlayerDatas.Instance.hero != null) { bool IsBossBool = MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域 if (PlayerDatas.Instance.baseData.MapID == 10040 && !IsBossBool && Buffmodel.PkType != 0) { DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)0); Buffmodel.PkType = 0; } } } private void OnMaininterCDTime() { MarkRayButton(); } protected override void OnAfterClose() { } private Vector2 startPosition; private Vector2 endPosition; private bool horseRidBool = false; protected override void LateUpdate() { base.LateUpdate(); if (PlayerDatas.Instance.hero != null && PlayerDatas.Instance.hero.State == E_ActorState.AutoRun && onMainModel.MoveBool) { if (!WindowCenter.Instance.IsOpen("PathfindingIconWin")) { WindowCenter.Instance.Open(true); } } else { onMainModel.MoveBool = false; if (WindowCenter.Instance.IsOpen("PathfindingIconWin")) { WindowCenter.Instance.Close(); } } } public void FriendQuestBtn() { if(CrossServerUtility.IsCrossServerOneVsOne()) { friendQuestBtn.gameObject.SetActive(false); return; } if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Friend)) { friendQuestBtn.onClick.RemoveAllListeners(); if (friendsModel.GetFriendQuestDict().Count > 0) { friendQuestBtn.gameObject.SetActive(true); friendQuestBtn.onClick.AddListener(OnClickFriendQuest); } else { friendQuestBtn.gameObject.SetActive(false); } } else { friendQuestBtn.gameObject.SetActive(false); } } private void OnFairyRequestClick() { WindowCenter.Instance.Open(); } private void RedPacketButton()//关于红包的功能 入口 { RedEnvelopeModel envelopeModel = ModelCenter.Instance.GetModel(); RedEnvelopeModel.RedEnvelope _envelope; if (envelopeModel.TryGetLatestEnvelope(out _envelope)) { if (festivalRedpackModel.systemRedpoint.state == RedPointState.GetReward) { WindowCenter.Instance.Close(); festivalRedpackModel.jumpType = 1; festivalRedpackModel.autoOpen = true; WindowCenter.Instance.Open(false, 19); } else if (festivalRedpackModel.receiveRedpoint.state == RedPointState.GetReward) { WindowCenter.Instance.Close(); festivalRedpackModel.jumpType = 3; festivalRedpackModel.autoOpen = true; WindowCenter.Instance.Open(false, 19); } else if (OSEnvelopeModel.m_OpenServerGetRedpin.state == RedPointState.GetReward) { WindowCenter.Instance.Close(); ModelCenter.Instance.GetModel().JumpType = 2; ModelCenter.Instance.GetModel().autoOpen = true; WindowCenter.Instance.Open(false, 2); } else { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.RedPacket); } } } private void SendRedpacketBtn() { if (festivalRedpackModel.taskRedpoint.state == RedPointState.Simple) { WindowCenter.Instance.Close(); festivalRedpackModel.jumpType = 2; WindowCenter.Instance.Open(false, 19); } else if (OSEnvelopeModel.m_RedAchieveRedpoint.state == RedPointState.Simple) { WindowCenter.Instance.Close(); ModelCenter.Instance.GetModel().JumpType = 1; WindowCenter.Instance.Open(false, 2); } } private void ClickWishAward() { WindowCenter.Instance.Open(); } private void ClickMysticalPurchase() { WindowCenter.Instance.Open(false, (int)OpenServerActivityCenter.OSActivityType.MysticalPurchase); } private void ClickDungeonAssist() { WindowCenter.Instance.Open(); } private void UpdateDungeonAssistImag() { if (CrossServerUtility.IsCrossServerOneVsOne()) { DungeonAssistImg.gameObject.SetActive(false); return; } DungeonAssistImg.gameObject.SetActive(assistModel.IsNewAssistInfo); } private void UpdateMysticalPurchaseImag() { if (CrossServerUtility.IsCrossServerOneVsOne()) { MysticalPurchaseImg.gameObject.SetActive(false); return; } MysticalPurchaseImg.gameObject.SetActive(purchaseModel.priorityOpen); } private void UpdateWishAwardImag() { if (CrossServerUtility.IsCrossServerOneVsOne()) { WishingAwardImg.gameObject.SetActive(false); return; } WishingAwardImg.gameObject.SetActive(wishModel.wishingAwardDict.Count > 0 ? true : false); } private void UpdateFairyRequest() { fairyRequestBtn.gameObject.SetActive(fairyModel.FairyRequestRedPoint.count > 0); } private void OnClickFriendQuest() { WindowCenter.Instance.Open(); } public void MarkRayButton() { if (NewBieCenter.Instance.inGuiding) { return; } var _treasureModel = ModelCenter.Instance.GetModel(); if (_treasureModel.treasureStageUpShow || _treasureModel.newGotShowing) { return; } var inDungeon = IsDungeon(); bool IsBossBool = 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 || IsBossBool || isNeutralMap) { if (IsCopyOfThePanel != null) { IsCopyOfThePanel(false); } if (Event_Duplicates != null && inDungeon) { Event_Duplicates(false, CopyOfThePanelSpeed); } onMainModel.MainTopPanelShow = false; CopyOfThePanel.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed); m_ContainerBossList.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed); m_BossBriefInfos.Unfold(false); } if (!IsBossBool) { if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon) { if (IsCopyOfThePanel != null) { IsCopyOfThePanel(true); } CopyOfThePanel.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed); m_ContainerBossList.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed); m_BossBriefInfos.Unfold(false); } } m_ImageRotation.DOLocalRotate(Vector3.zero, SwitchSkillTipAndButtonTipSpeed); m_CastSkillTip.DOLocalMoveX(m_position1_S.localPosition.x, SwitchSkillTipAndButtonTipSpeed); m_CastSkillTip.GetComponent().DOFade(1, DoFade); m_MailObj.SetActive(true); m_AnimationFadeOut.FadeOut(); recordPositionBool = true; } } void DownButton(GameObject go) { _ExpRate.gameObject.SetActive(true); } void UpButton(GameObject go) { _ExpRate.gameObject.SetActive(false); } void TaskSwithButton() { if (onMainModel.IsBossAreaTask) { onMainModel.IsBossAreaTask = false; } if (TaskSwithBool)//隐藏 { m_TaskAndTeamPanel.DOLocalMoveX(TaskListTipAnchor2.localPosition.x, Speed); if (m_FunctionForecastTip.gameObject.activeSelf) { FunctionForecastPanel.DOLocalMoveX(unctionForecastPosition2.localPosition.x, Speed); } LeftImage.SetActive(false); RightImg.SetActive(true); if (WindowCenter.Instance.IsOpen()) { WindowCenter.Instance.Close(); } } else//显示 { m_TaskAndTeamPanel.DOLocalMoveX(TaskListTipAnchor1.localPosition.x, Speed); if (m_FunctionForecastTip.gameObject.activeSelf) { FunctionForecastPanel.DOLocalMoveX(unctionForecastPosition1.localPosition.x, Speed); } LeftImage.SetActive(true); RightImg.SetActive(false); } TaskSwithBool = !TaskSwithBool; } 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); if (recordPositionBool)//显示功能入口 { if (inDungeon || IsBossBool || isNeutralMap) { CopyOfThePanel.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed); onMainModel.MainTopPanelShow = true; if (IsCopyOfThePanel != null) { IsCopyOfThePanel(true); } m_ContainerBossList.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed); m_BossBriefInfos.Unfold(false); if (Event_Duplicates != null && inDungeon) { Event_Duplicates(true, CopyOfThePanelSpeed); } } if (!IsBossBool) { if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon) { CopyOfThePanel.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed); onMainModel.MainTopPanelShow = true; if (IsCopyOfThePanel != null) { IsCopyOfThePanel(true); } m_ContainerBossList.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed); m_BossBriefInfos.Unfold(false); } } m_ImageRotation.DOLocalRotate(Vec3, SwitchSkillTipAndButtonTipSpeed); m_CastSkillTip.DOLocalMoveX(m_position2_S.localPosition.x, SwitchSkillTipAndButtonTipSpeed); m_CastSkillTip.GetComponent().DOFade(0, DoFade); m_MailObj.SetActive(false); m_AnimationFadeOut.FadeIn(); _MarkRay.gameObject.SetActive(true); } else//显示默认 { if (inDungeon || IsBossBool || isNeutralMap) { CopyOfThePanel.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed); onMainModel.MainTopPanelShow = false; if (IsCopyOfThePanel != null) { IsCopyOfThePanel(false); } m_ContainerBossList.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed); m_BossBriefInfos.Unfold(false); if (Event_Duplicates != null && inDungeon) { Event_Duplicates(false, CopyOfThePanelSpeed); } } if (!IsBossBool) { if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon) { CopyOfThePanel.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed); if (IsCopyOfThePanel != null) { IsCopyOfThePanel(true); } m_ContainerBossList.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed); m_BossBriefInfos.Unfold(false); } } m_ImageRotation.DOLocalRotate(Vector3.zero, SwitchSkillTipAndButtonTipSpeed); m_CastSkillTip.DOLocalMoveX(m_position1_S.localPosition.x, SwitchSkillTipAndButtonTipSpeed); m_CastSkillTip.GetComponent().DOFade(1, DoFade); m_MailObj.SetActive(true); m_AnimationFadeOut.FadeOut(); _MarkRay.gameObject.SetActive(false); } recordPositionBool = !recordPositionBool; } // 前期战斗用强制设置任务位置逻辑 public void ForceShowTaskPanel() { if (onMainModel.IsBossAreaTask) { onMainModel.IsBossAreaTask = false; } m_TaskAndTeamPanel.localPosition = TaskListTipAnchor1.localPosition; TaskSwithBool = !TaskSwithBool; } void ArticleExperience()//关于经验条 { int NowLv = (int)PlayerDatas.Instance.baseData.LV; if (PlayerLVConfig.Get(NowLv) != null) { ulong maxValue = (ulong)PlayerLVConfig.GetExpByPlayerLv(NowLv); ulong nowVlaue = (ulong)PlayerDatas.Instance.baseData.TotalExp + (ulong)PlayerDatas.Instance.baseData.ExpPoint * 100000000; if (SliderOpen) { _ExpSlider.delay = 0; _ExpSlider.stage = NowLv; _ExpSlider.ResetStage(); ExpValueFloat = ((float)nowVlaue / (float)maxValue); _ExpSlider.value = (float)ExpValueFloat; SliderOpen = false; } else { if (NowLv - _ExpSlider.stage >= 15) { _ExpSlider.delay = 0; } else { _ExpSlider.delay = _Delaytime; } ExpValueFloat = ((float)nowVlaue / (float)maxValue); int MapID = PlayerDatas.Instance.baseData.MapID; if (ExpValueFloat != _ExpSlider.value && MapID == 31080) { m_UIEffect_A.Play(); if (m_UIEffect_A.IsPlaying) { if (!m_UIEffect_B.IsPlaying) { m_UIEffect_B.Play(); } } } _ExpSlider.stage = NowLv; _ExpSlider.value = (float)ExpValueFloat; } if ((float)Math.Round((double)nowVlaue / maxValue, 2, MidpointRounding.AwayFromZero) >= 1f) { _ExpRate.text = "99.9%"; } else { _ExpRate.text = (float)Math.Round((double)nowVlaue / maxValue, 2, MidpointRounding.AwayFromZero) * 100 + "%"; } } } void Updatefighting(PlayerDataRefresh _tCDBPlayerRefresh)//数据的刷新 { ArticleExperience();//关于经验条 if (_tCDBPlayerRefresh == PlayerDataRefresh.LV) { IsUpdateBool = true; } if (_tCDBPlayerRefresh == PlayerDataRefresh.ExAttr5)//判断是否再跨服 { IsCrossServerOneVsOne(); } } void OnArriveCollectNPC(uint sid, int npcID) { m_CollectBehaviour.gameObject.SetActive(true); m_CollectBehaviour.Display(npcID, sid); } void OnLeaveCollectNpc(uint sid, int npcID) { m_CollectBehaviour.Dispose(); m_CollectBehaviour.gameObject.SetActive(false); } #endregion private bool IsDungeon() { var mapId = PlayerDatas.Instance.baseData.MapID; var mapConfig = MapConfig.Get(mapId); return mapConfig != null && mapConfig.MapFBType != 0; } private void UnFlodFunctionArea(bool _unflod, int _skillGroup) { if (_unflod) { if (Vector3.Distance(m_CastSkillTip.localPosition, m_position1_S.localPosition) <= 1)//技能面板展开状态 { ShowBtnGroup();//显示按钮组隐藏技能组(强制切换) } if (Vector3.Distance(m_TaskAndTeamPanel.localPosition, TaskListTipAnchor1.localPosition) > 5)//任务面板 { TaskSwithButton(); onMainModel.IsBossAreaTask = false; } if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2)//上层面板 { CopyOfThePanel.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed); onMainModel.MainTopPanelShow = true; m_ContainerBossList.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed); m_BossBriefInfos.Unfold(false); if (IsCopyOfThePanel != null) { IsCopyOfThePanel(true); } } m_HighSettingTip.ShowButtonNow(); } else { if (Vector3.Distance(m_CastSkillTip.localPosition, m_position2_S.localPosition) <= 1)//技能面板收起状态 { ShowCastSkill();//显示技能组,隐藏按钮组(强制切换) } m_HighSettingTip.ShowButtonNow(); if (_skillGroup != 0) { m_SkillContainer.skillTurnplate.SwitchGroup(_skillGroup); } } } void HandleAchievement() { if (AchievementGoto.achievementType == AchievementGoto.ExcuteSkill) { if (Vector3.Distance(m_CastSkillTip.localPosition, m_position2_S.localPosition) <= 1)//技能面板收起状态 { ShowCastSkill();//显示技能组隐藏按钮组(强制切换) } var _cfg = SuccessConfig.Get(AchievementGoto.guideAchievementId); var _skillId = SkillConfig.FindSkillByJob(_cfg.Condition, PlayerDatas.Instance.baseData.Job); if (_skillId != 0) { if (ModelCenter.Instance.GetModel().GetXpSkillID() != _skillId) { return; } if (PlayerDatas.Instance.hero.SkillMgr.Get(_skillId).cd > 0) { ServerTipDetails.DisplayNormalTip(Language.Get("SkillCooling_Z")); } else { var _effect = AchievementGuideEffectPool.Require(3); _effect.transform.SetParentEx(m_IsShowXp.transform, Vector3.zero, Vector3.zero, Vector3.one); } AchievementGoto.achievementType = 0; } else { AchievementGoto.achievementType = 0; } } } void CheckChatTipOpen() { bool _chatWinOpen = WindowCenter.Instance.IsOpen(); m_ChatTip.gameObject.SetActive(!_chatWinOpen); if (!_chatWinOpen) { m_ChatTip.CheckRealmSfx(); } } private void WindowAfterEvent(Window _win) { if (_win is ChatWin) { CheckChatTipOpen(); } } public void IsShowButtonGroup() { if (Vector3.Distance(m_CastSkillTip.localPosition, m_position1_S.localPosition) <= 1)//技能面板展示 { ShowBtnGroup();//显示按钮组隐藏技能组(强制切换) } } private void ShowBtnGroup()//显示按钮组,隐藏技能组(强制切换) { m_AnimationFadeOut.ImmediatelyAppear();//按钮组立即出现 m_CastSkillTip.localPosition = m_position2_S.localPosition;//技能面板切出 m_MailObj.SetActive(false); m_ImageRotation.DOLocalRotate(Vec3, SwitchSkillTipAndButtonTipSpeed); recordPositionBool = false; _MarkRay.gameObject.SetActive(true); } private void ShowCastSkill()//显示技能组,隐藏按钮组(强制切换) { m_AnimationFadeOut.FadeAtOnce();//功能面板立刻隐藏 m_CastSkillTip.localPosition = m_position1_S.localPosition;//技能面板立即出现 m_MailObj.SetActive(true); m_CastSkillTip.GetComponent().DOFade(1, 0); m_ImageRotation.DOLocalRotate(Vector3.zero, SwitchSkillTipAndButtonTipSpeed); recordPositionBool = true; _MarkRay.gameObject.SetActive(false); } private void IsShowTaskPanel()//是否显示任务面板 { var inDungeon = IsDungeon(); if (inDungeon || fairyGrabBossModel.grabBossHintOpen || CrossServerUtility.IsCrossServer() || ClientCrossServerOneVsOne.isClientCrossServerOneVsOne) { m_TaskAndTeamTip.SetActive(false); m_TaskSwithButton.gameObject.SetActive(false); } else { m_TaskAndTeamTip.SetActive(true); m_TaskSwithButton.gameObject.SetActive(true); } } private void bossGrabHintEvent() { IsShowTaskPanel(); ShowFairyGrabBoss(); AtkTypeChange(); } private void ShowFairyGrabBoss() { m_ContainerGotoGrabBoss.gameObject.SetActive(fairyGrabBossModel.cacheGotoBossId != 0 && !fairyGrabBossModel.grabBossHintOpen); } private void GotoFairyGrabBoss() { if (fairyGrabBossModel.cacheGotoBossId != 0) { var error = 0; if (fairyGrabBossModel.TestEnterDungeon(fairyGrabBossModel.cacheGotoBossId, out error)) { if (fairyGrabBossModel.IsBossKilled(fairyGrabBossModel.cacheGotoBossId)) { SysNotifyMgr.Instance.ShowTip("FairyGrabBossOver"); } MapTransferUtility.Instance.MoveToNPC(fairyGrabBossModel.cacheGotoBossId); } else { fairyGrabBossModel.DisplayErrorTip(error); } } } private void FlyToFairyGrabBoss() { if (fairyGrabBossModel.cacheGotoBossId != 0) { var error = 0; if (fairyGrabBossModel.TestEnterDungeon(fairyGrabBossModel.cacheGotoBossId, out error)) { var bossInfoConfig = BossInfoConfig.Get(fairyGrabBossModel.cacheGotoBossId); var flyItemCount = ModelCenter.Instance.GetModel().GetItemCountByID(PackType.Item, GeneralDefine.flyBootItemId); var freeFly = ModelCenter.Instance.GetModel().GetVipPrivilegeCnt(VipPrivilegeType.FreeTransfer) > 0; if (bossInfoConfig != null) { if (freeFly || flyItemCount > 0) { MapTransferUtility.Instance.MissionFlyTo(bossInfoConfig.MapID, fairyGrabBossModel.cacheGotoBossId); } else { if (fairyGrabBossModel.flyToGrabBossRemind) { var money = (int)UIHelper.GetMoneyCnt(1) + (int)UIHelper.GetMoneyCnt(2); if (money >= 1) { FlyShoesUseCallback(); } else { WindowCenter.Instance.Open(); } } else { FlyShoseConfirmwin.useEnvironment = FlyShoseConfirmwin.UseEnvironment.FairyGrabBoss; FlyShoseConfirmwin.confirmCallBack = FlyShoesUseCallback; WindowCenter.Instance.Open(); } } } } else { fairyGrabBossModel.DisplayErrorTip(error); } } } private void FlyShoesUseCallback() { switch (FlyShoseConfirmwin.useEnvironment) { case FlyShoseConfirmwin.UseEnvironment.FairyGrabBoss: if (fairyGrabBossModel.cacheGotoBossId != 0) { var error = 0; if (fairyGrabBossModel.TestEnterDungeon(fairyGrabBossModel.cacheGotoBossId, out error)) { var bossInfoConfig = BossInfoConfig.Get(fairyGrabBossModel.cacheGotoBossId); if (bossInfoConfig != null) { MapTransferUtility.Instance.MissionFlyTo(bossInfoConfig.MapID, fairyGrabBossModel.cacheGotoBossId); } } else { fairyGrabBossModel.DisplayErrorTip(error); } } break; } } private void RefreshAdaptiveChat() { if (ChatTip.Inst == null) { return; } m_ContainerAdaptiveChat.sizeDelta = m_ContainerAdaptiveChat.sizeDelta.SetY( ChatTip.Inst.IsChatUp ? ChatTip.Inst.chatHighSize.y : ChatTip.Inst.chatLowSize.y); } private void IsCrossServerOneVsOne() { if (CrossServerUtility.IsCrossServerOneVsOne() )//是否再跨服副本中 { WindowCenter.Instance.Open(); m_HeadPortraitTip.gameObject.SetActive(false); CopyOfThePanel.gameObject.SetActive(false); _SwitchShowBtn.gameObject.SetActive(false); m_ChatTip.gameObject.SetActive(false); m_FunctionForecastTip.gameObject.SetActive(false); m_TaskSwithButton.gameObject.SetActive(false); m_InGamePusher.gameObject.SetActive(false); m_RedBag.gameObject.SetActive(false); IsShowTaskPanel(); if (Vector3.Distance(m_CastSkillTip.localPosition, m_position2_S.localPosition) <= 1)//技能面板收起状态 { ShowCastSkill();//显示技能组,隐藏按钮组(强制切换) } } else { WindowCenter.Instance.Close(); m_HeadPortraitTip.gameObject.SetActive(true); CopyOfThePanel.gameObject.SetActive(true); _SwitchShowBtn.gameObject.SetActive(true); m_ChatTip.gameObject.SetActive(true); m_FunctionForecastTip.gameObject.SetActive(true); m_TaskSwithButton.gameObject.SetActive(true); m_InGamePusher.gameObject.SetActive(true); if (WindowCenter.Instance.IsOpen()) { WindowCenter.Instance.Close(); } OnRedBagGet(); } } } }