From cb7b3e59ef10722d238e1bbf50d59c4aac85435d Mon Sep 17 00:00:00 2001 From: kimura Date: Tue, 2 Nov 2021 16:41:45 +0900 Subject: [PATCH] =?UTF-8?q?=E6=9C=AA=E8=B3=BC=E5=85=A5=E3=81=AE=E3=83=AC?= =?UTF-8?q?=E3=82=B7=E3=83=94=E3=82=92=E5=90=AB=E3=82=80=E3=83=9F=E3=83=83?= =?UTF-8?q?=E3=82=B7=E3=83=A7=E3=83=B3=E3=82=92=E9=9D=9E=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E3=81=AB=E3=81=99=E3=82=8B=E5=87=A6=E7=90=86=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/Main/Scripts/MissionManager.cs | 31 +++++++++++++++++++ .../Assets/MyGame/Scripts/GameDataObserver.cs | 8 +++-- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs index 2935952e..431c430d 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs @@ -156,6 +156,7 @@ public class MissionManager : MonoBehaviour { return list.FirstOrDefault(data => !GameDataManager.GameData.AchievedMission.Contains(data.id)) ?? list.Last(); }); + latestMissionList = latestMissionList.Where(data => CheckAvailableMission(data, GameDataManager.GameData.MyRecipes)); foreach (var missionData in latestMissionList) { var missionView = listView.AddItemView(missionData); @@ -199,6 +200,36 @@ public class MissionManager : MonoBehaviour TransitionManager.Instance.LoadSceneAdditive(GameScenes.Mission); } + public static bool CheckAvailableMission(MissionData missionData, int[] myRecipe) + { + // 購入レシピなど所持判定 + switch (missionData.Condition) + { + case MissionCondition.NoriSoysourceSalesCount: + return myRecipe.Contains(20); + case MissionCondition.RareNoriSoysourceSalesCount: + return myRecipe.Contains(20); + case MissionCondition.SaltButterSalesCount: + return myRecipe.Contains(21); + case MissionCondition.RareSaltButterSalesCount: + return myRecipe.Contains(21); + case MissionCondition.StrawberryMilkSalesCount: + return myRecipe.Contains(22); + case MissionCondition.RareStrawberryMilkSalesCount: + return myRecipe.Contains(22); + case MissionCondition.SaltChocolateSalesCount: + return myRecipe.Contains(23); + case MissionCondition.RareSaltChocolateSalesCount: + return myRecipe.Contains(23); + case MissionCondition.ChocolateGreenteaSalesCount: + return myRecipe.Contains(24); + case MissionCondition.RareChocolateGreenteaSalesCount: + return myRecipe.Contains(24); + default: + return true; + } + } + public static int GetProgressValue(MissionData missionData) { var gameData = GameDataManager.GameData; diff --git a/popcorn/Assets/MyGame/Scripts/GameDataObserver.cs b/popcorn/Assets/MyGame/Scripts/GameDataObserver.cs index c39389db..2fda1228 100644 --- a/popcorn/Assets/MyGame/Scripts/GameDataObserver.cs +++ b/popcorn/Assets/MyGame/Scripts/GameDataObserver.cs @@ -122,7 +122,8 @@ public class GameDataObserver : SingletonMonoBehaviour } }); - // ポップコーン達成確認 + // ポップコーン販売達成確認 + // CheckAvailableMissionは行わない Observable.Merge( addSalesObserver.DistinctUntilChanged(), addRareSalesObserver.DistinctUntilChanged()) @@ -178,8 +179,9 @@ public class GameDataObserver : SingletonMonoBehaviour gameData.dailyMissionCompleted = false; gameData.ResetDailyTotalCount(); // 新ミッション登録 - var targetList = missionList.Where(data => - data.Category == MissionCategory.Daily && data.shopLevel <= gameData.ViewedShopLevel); + var targetList = missionList + .Where(data => data.Category == MissionCategory.Daily && data.shopLevel <= gameData.ViewedShopLevel) + .Where(data => MissionManager.CheckAvailableMission(data, GameDataManager.GameData.MyRecipes)); gameData.dailyMissionIdArray = targetList.ToList().RandomChoose(3).Select(data => data.id).ToArray(); gameData.lastDailyMissionSetTime = DateTime.UtcNow.ToBinary(); gameData.dailyLoginCount++;