| System/DailyQuest/DailyQuestModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/DailyQuest/DailyQuestWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Team/TeamModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WindowJump/WindowJumpMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Utility/EnumHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/DailyQuest/DailyQuestModel.cs
@@ -110,7 +110,6 @@ UpdateRedpoints(); treasureModel.treasureStageUpEvent += OnTreasureStageUp; fairyLeagueModel.onFairyLeagueBattleEvent += OnFairyLeagueBattle; dungeonModel.dungeonRecordChangeEvent += OnDungeonRecordChange; FuncOpen.Instance.OnFuncStateChangeEvent += OnFunctionStateChange; @@ -120,7 +119,6 @@ public override void UnInit() { treasureModel.treasureStageUpEvent -= OnTreasureStageUp; fairyLeagueModel.onFairyLeagueBattleEvent -= OnFairyLeagueBattle; dungeonModel.dungeonRecordChangeEvent -= OnDungeonRecordChange; FuncOpen.Instance.OnFuncStateChangeEvent -= OnFunctionStateChange; @@ -497,11 +495,6 @@ } } private void OnTreasureStageUp(int _treasureId) { UpdateDailyActionRedpoint((int)DailyQuestType.TreasureAwaken); } private void OnFairyLeagueBattle() { UpdateDailyActionRedpoint((int)DailyQuestType.FairyLeague); @@ -546,7 +539,7 @@ case DailyQuestType.ElderGodArea: case DailyQuestType.DungeonAssist: case DailyQuestType.RuneTower: case DailyQuestType.TreasureAwaken: case DailyQuestType.TreasureCollectSoul: dailyQuest.redpoint.state = RedPointState.None; break; default: System/DailyQuest/DailyQuestWin.cs
@@ -31,6 +31,7 @@ DailyQuestModel model { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } PlayerTaskDatas taskModel { get { return ModelCenter.Instance.GetModel<PlayerTaskDatas>(); } } TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } public int guidingDailyQuestId = 0; @@ -272,8 +273,8 @@ WindowCenter.Instance.CloseImmediately<DailyQuestWin>(); WindowCenter.Instance.Open<RuneTowerWin>(); break; case DailyQuestType.TreasureAwaken: GotoTreasureAwaken(); case DailyQuestType.TreasureCollectSoul: GotoTreasureCollectSoul(); break; case DailyQuestType.DungeonAssist: WindowCenter.Instance.CloseImmediately<DailyQuestWin>(); @@ -456,23 +457,58 @@ } } private void GotoTreasureAwaken() private void GotoTreasureCollectSoul() { var treasureModel = ModelCenter.Instance.GetModel<TreasureModel>(); var treasures = treasureModel.GetTreasureCategory(TreasureCategory.Human); var gotoTreasureId = 0; for (int i = 0; i < treasures.Count; i++) for (int i = treasures.Count - 1; i >= 0; i--) { var treasureId = treasures[i]; Treasure treasure; if (treasureModel.TryGetTreasure(treasureId, out treasure)) if (IsTreasureCollectSoul(treasures[i])) { var humanTreasure = treasure as HumanTreasure; gotoTreasureId = treasures[i]; break; } } if (humanTreasure.castSoulRedpoint.state == RedPointState.Simple) if (gotoTreasureId == 0) { var result = treasures.FindLast((x) => { Treasure treasure; if (treasureModel.TryGetTreasure(x, out treasure)) { var humanTreasure = treasure as HumanTreasure; var config = ConfigManager.Instance.GetTemplate<TreasureConfig>(humanTreasure.id); return humanTreasure != null && (humanTreasure.humanState == HumanTreasureState.CastSoul); } else { return false; } } ); if (result != 0) { gotoTreasureId = result; } } if (gotoTreasureId == 0) { for (int i = 0; i < treasures.Count; i++) { Treasure treasure; if (treasureModel.TryGetTreasure(treasures[i], out treasure)) { gotoTreasureId = humanTreasure.id; break; var humanTreasure = treasure as HumanTreasure; if (humanTreasure != null && (humanTreasure.humanState == HumanTreasureState.Locked || humanTreasure.humanState == HumanTreasureState.Challenge)) { gotoTreasureId = humanTreasure.id; break; } } } } @@ -504,6 +540,31 @@ } } private bool IsTreasureCollectSoul(int _treasureId) { Treasure treasure; if (treasureModel.TryGetTreasure(_treasureId, out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure.humanState == HumanTreasureState.CastSoul) { foreach (var achievementGroup in treasure.achievementGroups.Values) { if (achievementGroup.IsAwardable()) { return true; } } } return false; } else { return false; } } private bool IsDungeon()//是否在副本中 { var mapId = PlayerDatas.Instance.baseData.MapID; System/Team/TeamModel.cs
@@ -185,6 +185,8 @@ Redpoint invitationRedpoint = new Redpoint(28); Redpoint memberCountRedpoint = new Redpoint(34); int lastOpenCountryMapRecorder = 0; public override void Init() { levelMaxBuf = GeneralConfig.Instance.playerMaxLevel; @@ -205,6 +207,7 @@ public void OnSwitchAccount() { lastOpenCountryMapRecorder = 0; m_CurrentMission = new TeamMission(CURRENTMAP_MISSION, 0); m_MissionBuf = new TeamMission(CURRENTMAP_MISSION, 0); m_MyTeam = new MyTeam(); @@ -336,7 +339,7 @@ var lineId = 0; if (myTeam.mission.mapId == CURRENTMAP_MISSION || myTeam.mission.mapId == NONE_MISSION) { mapId = PlayerDatas.Instance.baseData.MapID; mapId = lastOpenCountryMapRecorder == 0 ? PlayerDatas.Instance.baseData.MapID : lastOpenCountryMapRecorder; lineId = 0; } else @@ -1097,6 +1100,12 @@ public void OnPlayerLoginOk() { serverInited = true; var mapConfig = ConfigManager.Instance.GetTemplate<MapConfig>(PlayerDatas.Instance.baseData.MapID); if (mapConfig != null && mapConfig.MapFBType == (int)MapType.OpenCountry) { lastOpenCountryMapRecorder = PlayerDatas.Instance.baseData.MapID; } } private void OnMatchingCoolDownEnd() System/WindowJump/WindowJumpMgr.cs
@@ -11,8 +11,8 @@ IsJumpState = false; funcOpenBagItem = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("OpenBagItem"); StageManager.Instance.onStartStageLoadingEvent += ClearCurRecord; GlobalTimeEvent.Instance.secondEvent += SecondRefresh; } private Window preWin = null; private WindowSearchConfig _tagWinSearchModel; private FuncOpenLVConfig _tagOpenLvModel; @@ -938,6 +938,20 @@ } } private void SecondRefresh() { if (DeadModel.playerIsDie && WindowCenter.Instance.CheckOpen<MainInterfaceWin>()) { if(!WindowCenter.Instance.CheckOpen<RebornWin>() && !WindowCenter.Instance.CheckOpen<ReliveWin>() && !WindowCenter.Instance.CheckOpen<ElderGodAreaExitWin>() && !WindowCenter.Instance.CheckOpen<ElderGodAreaRebornWin>()) { ClearJumpData(); DeadModel.PlayerDie(PlayerDatas.Instance.baseData.PlayerID); } } } public void ClearJumpData() { Utility/EnumHelper.cs
@@ -303,7 +303,7 @@ FairyTask = 18, RuneTowerSweep = 19, RuneTower = 21, TreasureAwaken = 22, TreasureCollectSoul = 22, DungeonAssist = 23, BossHome = 24, PersonalBoss = 25,