| System/FairyAu/FairyGrabBossModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FairyAu/FairyGrabBossWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/MainInterfacePanel/MainInterfaceWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Utility/EnumHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/FairyAu/FairyGrabBossModel.cs
@@ -79,6 +79,8 @@ public int noticeShowPet { get; private set; } public int noticeShowHorse { get; private set; } public int cacheGotoBossId { get; private set; } private bool serverInited = false; //private DateTime lastQueryProgressTime = DateTime.Now; @@ -88,11 +90,13 @@ public event Action<int> bossProgressUpdate; public event Action bossAllProgressUpdate; public event Action bossGrabHintEvent; public event Action gotoBossStateUpdate; DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } } BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } } PlayerDeadModel deadModel { get { return ModelCenter.Instance.GetModel<PlayerDeadModel>(); } } public override void Init() { @@ -108,6 +112,8 @@ GlobalTimeEvent.Instance.secondEvent += SecondEvent; TimeMgr.Instance.OnMinuteEvent += MinuteEvent; TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh; deadModel.AllPlayerDieEvent += PlayerDieEvent; deadModel.AllPlayerRebornEvent += AllPlayerRebornEvent; OpenServerActivityCenter.Instance.Register(13, this); } @@ -137,6 +143,54 @@ GlobalTimeEvent.Instance.secondEvent -= SecondEvent; TimeMgr.Instance.OnMinuteEvent -= MinuteEvent; TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh; deadModel.AllPlayerDieEvent -= PlayerDieEvent; deadModel.AllPlayerRebornEvent -= AllPlayerRebornEvent; } private void AllPlayerRebornEvent(H0419_tagPlayerReborn package) { if (package.PlayerID == PlayerDatas.Instance.PlayerId) { if (cacheGotoBossId != 0) { if (package.Type != 0) { cacheGotoBossId = 0; } if (gotoBossStateUpdate != null) { gotoBossStateUpdate(); } } } } private void PlayerDieEvent(uint playerId) { if (PlayerDatas.Instance.PlayerId != playerId) { return; } if (PlayerDatas.Instance.fairyData.HasFairy && FuncOpen.Instance.IsFuncOpen(139)) { RecheckGrabBoss(); if (WindowCenter.Instance.IsOpen<FairyGrabBossHintWin>()) { var list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcFightBoss); if (list != null) { for (int i = 0; i < list.Count; i++) { GA_NpcFightBoss bossActor = list[i] as GA_NpcFightBoss; if (bossActor != null && bosses.Contains(bossActor.NpcConfig.NPCID)) { cacheGotoBossId = bossActor.NpcConfig.NPCID; break; } } } } } } private void OnServerOpenDayRefresh() @@ -185,6 +239,7 @@ private void OnStageLoadFinish() { cacheGotoBossId = 0; if (!(StageManager.Instance.CurrentStage is DungeonStage)) { grabBossHintOpen = false; @@ -256,6 +311,7 @@ return; } grabBossHintOpen = true; cacheGotoBossId = 0; if (!WindowCenter.Instance.IsOpen<FairyGrabBossHintWin>()) { WindowCenter.Instance.Open<FairyGrabBossHintWin>(); @@ -263,6 +319,10 @@ if (bossGrabHintEvent != null) { bossGrabHintEvent(); } if (gotoBossStateUpdate != null) { gotoBossStateUpdate(); } } @@ -290,6 +350,14 @@ if (fairyGrabBossHelpUpdate != null) { fairyGrabBossHelpUpdate(); } } if (cacheGotoBossId != 0) { cacheGotoBossId = 0; if (gotoBossStateUpdate != null) { gotoBossStateUpdate(); } } } @@ -460,6 +528,18 @@ return false; } public bool IsBossKilled(int bossId) { BossProgressInfo bossProgress; bool killed = false; if (TryGetBossProgress(bossId, out bossProgress)) { var progress = 1 - (float)bossProgress.currentHp / bossProgress.totalHp; killed = progress >= 1; } return killed; } public bool TestEnterDungeon(int bossId, out int _error) { if (!InActivityTime) System/FairyAu/FairyGrabBossWin.cs
@@ -203,7 +203,7 @@ var error = 0; if (model.TestEnterDungeon(model.selectBoss, out error)) { if (IsBossKilled(model.selectBoss)) if (model.IsBossKilled(model.selectBoss)) { SysNotifyMgr.Instance.ShowTip("FairyGrabBossOver"); } @@ -215,18 +215,6 @@ { model.DisplayErrorTip(error); } } bool IsBossKilled(int bossId) { FairyGrabBossModel.BossProgressInfo bossProgress; bool killed = false; if (model.TryGetBossProgress(bossId, out bossProgress)) { var progress = 1 - (float)bossProgress.currentHp / bossProgress.totalHp; killed = progress >= 1; } return killed; } private void KillRecord() System/MainInterfacePanel/MainInterfaceWin.cs
@@ -84,6 +84,7 @@ [SerializeField] UIEffect m_RedpackGetSfx; [SerializeField] Button m_SendRedbagBtn; [SerializeField] Button WishingAwardImg; [SerializeField] Button m_GotoFairyGrabBoss; [SerializeField] Transform m_EffectTask;//任务完成特效播放位置 private int m_CollectNPCID; @@ -174,6 +175,7 @@ m_RedBag.AddListener(RedPacketButton); m_SendRedbagBtn.AddListener(SendRedpacketBtn); WishingAwardImg.AddListener(ClickWishAward); m_GotoFairyGrabBoss.AddListener(GotoFairyGrabBoss); } protected override void OnPreOpen() @@ -207,6 +209,7 @@ OnRedBagGet();//关于红包入口 CheckSendRedpackBtn(); CheckChatTipOpen(); ShowFairyGrabBoss(); PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting; FunctionUnlockFlyObject.functionUnLockShowBeginEvent += UnFlodFunctionArea; fairyModel.UpdateFairyRequestEvent += UpdateFairyRequest; @@ -226,6 +229,7 @@ NewBieCenter.Instance.guideBeginEvent += GuideBeginEvent; fairyGrabBossModel.bossGrabHintEvent += bossGrabHintEvent; wishModel.UpdateWishAwardEvent += UpdateWishAwardImag; fairyGrabBossModel.gotoBossStateUpdate += ShowFairyGrabBoss; } private void CompletionOfTaskEvent(int obj) @@ -300,7 +304,7 @@ if (isNeutralMap) { m_BossBriefInfos.gameObject.SetActive(true); if (PlayerDatas.Instance.baseData.MapID==DogzDungeonModel.DATA_MAPID) if (PlayerDatas.Instance.baseData.MapID == DogzDungeonModel.DATA_MAPID) { var bosses = ModelCenter.Instance.GetModel<DogzDungeonModel>().GetBosses(); m_BossBriefInfos.Display(bosses); @@ -387,6 +391,7 @@ PlayerTaskDatas.CompletionOfTaskEvent -= CompletionOfTaskEvent; RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent; NewBieCenter.Instance.guideBeginEvent -= GuideBeginEvent; fairyGrabBossModel.gotoBossStateUpdate -= ShowFairyGrabBoss; if (WindowCenter.Instance.IsOpen<FunctionForecastWin>()) { WindowCenter.Instance.CloseImmediately<FunctionForecastWin>(); @@ -730,7 +735,7 @@ void DownButton(GameObject go) { _ExpRate.gameObject.SetActive(true); // WindowCenter.Instance.Open<WheelOfFortuneWin>(); // WindowCenter.Instance.Open<WheelOfFortuneWin>(); } void UpButton(GameObject go) { @@ -1097,6 +1102,33 @@ private void bossGrabHintEvent() { IsShowTaskPanel(); ShowFairyGrabBoss(); } private void ShowFairyGrabBoss() { m_GotoFairyGrabBoss.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); } } } } Utility/EnumHelper.cs
@@ -870,7 +870,6 @@ EquipCompose = 93,//装备合成 Guard = 94,//守护 SkillTreasure = 95,//技能法宝 AddPoint = 96,//加点 WingCompose = 97,//翅膀合成 Demon = 98,//混乱妖域 HappyFindTreasure = 99,//欢乐寻宝 @@ -882,6 +881,7 @@ OpenServerRedEnvelope = 122,//开服红包 EquipDecompose = 123, //装备分解 TreasureFindHost = 124, //法宝认主 AddPoint = 145,//加点 } //属性类型 public enum AttrEnum