diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs index 284f6c41..59ad7faf 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs @@ -151,7 +151,7 @@ public class MissionManager : MonoBehaviour listView.SetTab(MissionCategory.Daily); } - private int GetProgressValue(MissionData missionData) + public static int GetProgressValue(MissionData missionData) { var gameData = GameDataManager.GameData; switch (missionData.Condition) @@ -271,7 +271,7 @@ public class MissionManager : MonoBehaviour } } - private int GetDailyProgressValue(MissionData missionData) + public static int GetDailyProgressValue(MissionData missionData) { var gameData = GameDataManager.GameData; switch (missionData.Condition) diff --git a/popcorn/Assets/MyGame/Scripts/HeaderManager.cs b/popcorn/Assets/MyGame/Scripts/HeaderManager.cs index 18cd8722..f4d53a14 100644 --- a/popcorn/Assets/MyGame/Scripts/HeaderManager.cs +++ b/popcorn/Assets/MyGame/Scripts/HeaderManager.cs @@ -27,5 +27,37 @@ public class HeaderManager : MonoBehaviour { TransitionManager.Instance.LoadSceneAdditive(GameScenes.Information); }); + // mission報酬通知 + missionIndicator.SetActive(CheckMissionIndicate()); + } + + private bool CheckMissionIndicate() + { + // ミッション読み込み + var missionList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.MissionDataSheet); + var gameData = GameDataManager.GameData; + // ミッション表示 + if (missionList + .Where(data => data.Category == MissionCategory.Normal && data.shopLevel <= gameData.ViewedShopLevel) + .Where(missionData => !GameDataManager.GameData.AchievedMission.Contains(missionData.id)) + .Any(missionData => missionData.count <= MissionManager.GetProgressValue(missionData))) + { + return true; + } + + // dailyMission + // コンプリートミッション + if (!gameData.dailyMissionCompleted) + { + if (gameData.dailyMissionIdArray.Length <= gameData.dailyMissionAchievedIdArray.Length) + { + return true; + } + } + + var ids = gameData.dailyMissionIdArray.Except(gameData.dailyMissionAchievedIdArray); + return missionList + .Where(data => ids.Contains(data.id)) + .Any(missionData => missionData.count <= MissionManager.GetDailyProgressValue(missionData)); } }