ミッションワールド対応

This commit is contained in:
kimura 2022-10-14 15:50:31 +09:00
parent bd8ae721f5
commit edc82ad043
1 changed files with 153 additions and 148 deletions

View File

@ -24,6 +24,9 @@ public class MissionManager : MonoBehaviour
private int dailyIndicateFlag; private int dailyIndicateFlag;
private Action<bool> onAchieved; private Action<bool> onAchieved;
private GameData globalGameData;
private GameData cityGameData;
private void Start() private void Start()
{ {
closeButton.OnClickAsObservable().Take(1).Subscribe(_ => closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
@ -40,8 +43,11 @@ public class MissionManager : MonoBehaviour
}); });
}).AddTo(this); }).AddTo(this);
globalGameData = GameDataManager.GameData;
cityGameData = GameDataManager.GetCurrentCityGameData();
onAchieved = LocalCacheManager.Load<Action<bool>>(AchievedCallbackTag, null);
var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList<CityData>(Const.CityDataSheet); var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList<CityData>(Const.CityDataSheet);
var cityData = cityDataList.First(data => data.id == GameDataManager.GameData.CurrentCityId); var cityData = cityDataList.First(data => data.id == globalGameData.CurrentCityId);
listView.SetCityIcon(cityData.GetIconPrefab()); listView.SetCityIcon(cityData.GetIconPrefab());
var timeLimitTextValue = string.Empty; var timeLimitTextValue = string.Empty;
@ -50,14 +56,11 @@ public class MissionManager : MonoBehaviour
timeLimitText.text = category == MissionCategory.Daily ? timeLimitTextValue : cityData.Name; timeLimitText.text = category == MissionCategory.Daily ? timeLimitTextValue : cityData.Name;
}).AddTo(this); }).AddTo(this);
onAchieved = LocalCacheManager.Load<Action<bool>>(AchievedCallbackTag, null);
var gameData = GameDataManager.GameData;
// デイリーカウントダウン // デイリーカウントダウン
Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f)) Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f))
.Select(x => gameData.GetDailyMissionLimitTime()) .Select(x => globalGameData.GetDailyMissionLimitTime())
.TakeWhile(x => x.TotalSeconds > 0) .TakeWhile(x => x.TotalSeconds > 0)
.StartWith(gameData.GetDailyMissionLimitTime()) .StartWith(globalGameData.GetDailyMissionLimitTime())
.Subscribe(x => .Subscribe(x =>
{ {
timeLimitTextValue = GetTimeLimitText(x); timeLimitTextValue = GetTimeLimitText(x);
@ -76,15 +79,15 @@ public class MissionManager : MonoBehaviour
completeMissionView = missionView; completeMissionView = missionView;
var missionData = new MissionData() var missionData = new MissionData()
{ {
count = gameData.dailyMissionIdArray.Length, count = globalGameData.dailyMissionIdArray.Length,
reward = Const.DailyMissionCompleteRewardShopCustomizeCoin, reward = Const.DailyMissionCompleteRewardShopCustomizeCoin,
category = (int)MissionCategory.Daily, category = (int)MissionCategory.Daily,
rewardType = (int)MissionRewardType.ShopCustomizeCoin rewardType = (int)MissionRewardType.ShopCustomizeCoin
}; };
var progressValue = gameData.dailyMissionAchievedIdArray.Length; var progressValue = globalGameData.dailyMissionAchievedIdArray.Length;
missionView.SetData(missionData, progressValue, ScriptLocalization.UI.MissionAllDailyMissionAchieved); missionView.SetData(missionData, progressValue, ScriptLocalization.UI.MissionAllDailyMissionAchieved);
missionView.SetButtonActive(missionData.count <= progressValue); missionView.SetButtonActive(missionData.count <= progressValue);
if (gameData.dailyMissionCompleted) // 達成済み if (globalGameData.dailyMissionCompleted) // 達成済み
{ {
missionView.SetRewarded(); missionView.SetRewarded();
} }
@ -103,20 +106,20 @@ public class MissionManager : MonoBehaviour
GetReward(missionData); GetReward(missionData);
missionView.SetRewarded(); missionView.SetRewarded();
// 達成ID保存 // 達成ID保存
gameData.dailyMissionCompleted = true; globalGameData.dailyMissionCompleted = true;
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();
onAchieved?.Invoke(normalIndicateFlag + dailyIndicateFlag > 0); onAchieved?.Invoke(normalIndicateFlag + dailyIndicateFlag > 0);
}))); })));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.MissionAchievement); TransitionManager.Instance.LoadSceneAdditive(GameScenes.MissionAchievement);
}).AddTo(missionView); }).AddTo(missionView);
} }
foreach (var missionData in missionList.Where(data => gameData.dailyMissionIdArray.Contains(data.id))) foreach (var missionData in missionList.Where(data => globalGameData.dailyMissionIdArray.Contains(data.id)))
{ {
var missionView = listView.AddItemView(missionData); var missionView = listView.AddItemView(missionData);
var progressValue = GetDailyProgressValue(missionData); var progressValue = GetDailyProgressValue(missionData);
missionView.SetData(missionData, progressValue); missionView.SetData(missionData, progressValue);
missionView.SetButtonActive(missionData.count <= progressValue); missionView.SetButtonActive(missionData.count <= progressValue);
if (gameData.dailyMissionAchievedIdArray.Contains(missionData.id)) // 達成済み if (globalGameData.dailyMissionAchievedIdArray.Contains(missionData.id)) // 達成済み
{ {
missionView.SetRewarded(); missionView.SetRewarded();
} }
@ -135,12 +138,12 @@ public class MissionManager : MonoBehaviour
GetReward(missionData); GetReward(missionData);
missionView.SetRewarded(); missionView.SetRewarded();
// 達成ID保存 // 達成ID保存
gameData.dailyMissionAchievedIdArray = new List<int>(gameData.dailyMissionAchievedIdArray){missionData.id}.ToArray(); globalGameData.dailyMissionAchievedIdArray = new List<int>(globalGameData.dailyMissionAchievedIdArray){missionData.id}.ToArray();
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();
// デイリーミッションコンプリート判定 // デイリーミッションコンプリート判定
completeMissionView.ChangeProgress(gameData.dailyMissionIdArray.Length, gameData.dailyMissionAchievedIdArray.Length); completeMissionView.ChangeProgress(globalGameData.dailyMissionIdArray.Length, globalGameData.dailyMissionAchievedIdArray.Length);
completeMissionView.SetButtonActive(gameData.dailyMissionIdArray.Length <= gameData.dailyMissionAchievedIdArray.Length); completeMissionView.SetButtonActive(globalGameData.dailyMissionIdArray.Length <= globalGameData.dailyMissionAchievedIdArray.Length);
if (gameData.dailyMissionIdArray.Length <= gameData.dailyMissionAchievedIdArray.Length) if (globalGameData.dailyMissionIdArray.Length <= globalGameData.dailyMissionAchievedIdArray.Length)
{ {
dailyIndicateFlag++; dailyIndicateFlag++;
listView.SetIndicator(MissionCategory.Daily, dailyIndicateFlag > 0); listView.SetIndicator(MissionCategory.Daily, dailyIndicateFlag > 0);
@ -159,23 +162,23 @@ public class MissionManager : MonoBehaviour
// ミッション表示 // ミッション表示
normalIndicateFlag = 0; normalIndicateFlag = 0;
var latestMissionList = missionList var latestMissionList = missionList
.Where(data => data.Category == MissionCategory.Normal && data.shopLevel <= GameDataManager.GameData.ViewedShopLevel) .Where(data => data.Category == MissionCategory.Normal && data.shopLevel <= globalGameData.ViewedShopLevel)
.GroupBy(data => data.Condition, (cond, list) => .GroupBy(data => data.Condition, (cond, list) =>
{ {
return list.FirstOrDefault(data => !GameDataManager.GameData.AchievedMission.Contains(data.id)) ?? list.Last(); return list.FirstOrDefault(data => !cityGameData.AchievedMission.Contains(data.id)) ?? list.Last();
}); });
latestMissionList = latestMissionList.Where(data => CheckAvailableMission(data, GameDataManager.GameData.MyRecipes)); latestMissionList = latestMissionList.Where(data => CheckAvailableMission(data, globalGameData.MyRecipes));
// 達成済み未獲得,進行中,すべて達成の順にミッションを並べ替え // 達成済み未獲得,進行中,すべて達成の順にミッションを並べ替え
latestMissionList = latestMissionList.OrderByDescending(data => data.RewardType == MissionRewardType.ShopCustomizeCoin); latestMissionList = latestMissionList.OrderByDescending(data => data.RewardType == MissionRewardType.ShopCustomizeCoin);
latestMissionList = latestMissionList.OrderByDescending(data => data.count <= GetProgressValue(data)); latestMissionList = latestMissionList.OrderByDescending(data => data.count <= GetProgressValue(data));
latestMissionList = latestMissionList.OrderBy(data => GameDataManager.GameData.AchievedMission.Contains(data.id)); latestMissionList = latestMissionList.OrderBy(data => cityGameData.AchievedMission.Contains(data.id));
foreach (var missionData in latestMissionList) foreach (var missionData in latestMissionList)
{ {
var missionView = listView.AddItemView(missionData); var missionView = listView.AddItemView(missionData);
var progressValue = GetProgressValue(missionData); var progressValue = GetProgressValue(missionData);
missionView.SetData(missionData, progressValue); missionView.SetData(missionData, progressValue);
missionView.SetButtonActive(missionData.count <= progressValue); missionView.SetButtonActive(missionData.count <= progressValue);
if (GameDataManager.GameData.AchievedMission.Contains(missionData.id)) // 達成済み if (cityGameData.AchievedMission.Contains(missionData.id)) // 達成済み
{ {
missionView.SetRewarded(); missionView.SetRewarded();
} }
@ -193,7 +196,7 @@ public class MissionManager : MonoBehaviour
{ {
GetReward(missionData); GetReward(missionData);
// 達成ID保存 // 達成ID保存
GameDataManager.GameData.AchievedMission.Add(missionData.id); cityGameData.AchievedMission.Add(missionData.id);
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();
listView.ResetItemList(MissionCategory.Normal); listView.ResetItemList(MissionCategory.Normal);
// 通常ミッションリスト更新 // 通常ミッションリスト更新
@ -222,6 +225,8 @@ public class MissionManager : MonoBehaviour
public static bool CheckAvailableMission(MissionData missionData, int[] myRecipe) public static bool CheckAvailableMission(MissionData missionData, int[] myRecipe)
{ {
// 購入レシピなど所持判定 // 購入レシピなど所持判定
// ここ、今後追加メンテがだるいのでシートかScriptableObjectに逃したい
// 自動生成とか理想だけどenum不使用でもいい
switch (missionData.Condition) switch (missionData.Condition)
{ {
case MissionCondition.NoriSoysourceSalesCount: case MissionCondition.NoriSoysourceSalesCount:
@ -251,129 +256,129 @@ public class MissionManager : MonoBehaviour
public static int GetProgressValue(MissionData missionData) public static int GetProgressValue(MissionData missionData)
{ {
var gameData = GameDataManager.GameData; var globalGameData = GameDataManager.GameData;
switch (missionData.Condition) switch (missionData.Condition)
{ {
case MissionCondition.CornCount: case MissionCondition.CornCount:
return gameData.TotalAddCornSeed; return globalGameData.TotalAddCornSeed;
case MissionCondition.CustomerCount: // タップor来客した数 case MissionCondition.CustomerCount: // タップor来客した数
return gameData.TotalCustomerCount; return globalGameData.TotalCustomerCount;
case MissionCondition.SalesCount: // 売った数 case MissionCondition.SalesCount: // 売った数
return gameData.TotalSales; return globalGameData.TotalSales;
case MissionCondition.RareSalesCount: // レアを売った数 case MissionCondition.RareSalesCount: // レアを売った数
return gameData.RareTotalSales; return globalGameData.RareTotalSales;
case MissionCondition.RecipeCount: // レシピの数 case MissionCondition.RecipeCount: // レシピの数
return gameData.MyRecipes.Length; return globalGameData.MyRecipes.Length;
case MissionCondition.CoinConsumeCount: // コイン消費数 case MissionCondition.CoinConsumeCount: // コイン消費数
return gameData.TotalSubCoin; return globalGameData.TotalSubCoin;
case MissionCondition.BulkOrderDeliveredCount: case MissionCondition.BulkOrderDeliveredCount:
return gameData.BulkOrderDeliveredCount; return globalGameData.BulkOrderDeliveredCount;
case MissionCondition.SaltSalesCount: case MissionCondition.SaltSalesCount:
return gameData.GetTotalSalesByFlavor(1); return globalGameData.GetTotalSalesByFlavor(1);
case MissionCondition.RareSaltSalesCount: case MissionCondition.RareSaltSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(1); return globalGameData.GetTotalSalesByFlavorWithRare(1);
case MissionCondition.CaramelSalesCount: case MissionCondition.CaramelSalesCount:
return gameData.GetTotalSalesByFlavor(2); return globalGameData.GetTotalSalesByFlavor(2);
case MissionCondition.RareCaramelSalesCount: case MissionCondition.RareCaramelSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(2); return globalGameData.GetTotalSalesByFlavorWithRare(2);
case MissionCondition.PepperSalesCount: case MissionCondition.PepperSalesCount:
return gameData.GetTotalSalesByFlavor(3); return globalGameData.GetTotalSalesByFlavor(3);
case MissionCondition.RarePepperSalesCount: case MissionCondition.RarePepperSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(3); return globalGameData.GetTotalSalesByFlavorWithRare(3);
case MissionCondition.HoneySalesCount: case MissionCondition.HoneySalesCount:
return gameData.GetTotalSalesByFlavor(4); return globalGameData.GetTotalSalesByFlavor(4);
case MissionCondition.RareHoneySalesCount: case MissionCondition.RareHoneySalesCount:
return gameData.GetTotalSalesByFlavorWithRare(4); return globalGameData.GetTotalSalesByFlavorWithRare(4);
case MissionCondition.CheeseSalesCount: case MissionCondition.CheeseSalesCount:
return gameData.GetTotalSalesByFlavor(5); return globalGameData.GetTotalSalesByFlavor(5);
case MissionCondition.RareCheeseSalesCount: case MissionCondition.RareCheeseSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(5); return globalGameData.GetTotalSalesByFlavorWithRare(5);
case MissionCondition.SoysourceSalesCount: case MissionCondition.SoysourceSalesCount:
return gameData.GetTotalSalesByFlavor(6); return globalGameData.GetTotalSalesByFlavor(6);
case MissionCondition.RareSoysourceSalesCount: case MissionCondition.RareSoysourceSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(6); return globalGameData.GetTotalSalesByFlavorWithRare(6);
case MissionCondition.StrawberrySalesCount: case MissionCondition.StrawberrySalesCount:
return gameData.GetTotalSalesByFlavor(7); return globalGameData.GetTotalSalesByFlavor(7);
case MissionCondition.RareStrawberrySalesCount: case MissionCondition.RareStrawberrySalesCount:
return gameData.GetTotalSalesByFlavorWithRare(7); return globalGameData.GetTotalSalesByFlavorWithRare(7);
case MissionCondition.GreenteaSalesCount: case MissionCondition.GreenteaSalesCount:
return gameData.GetTotalSalesByFlavor(8); return globalGameData.GetTotalSalesByFlavor(8);
case MissionCondition.RareGreenteaSalesCount: case MissionCondition.RareGreenteaSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(8); return globalGameData.GetTotalSalesByFlavorWithRare(8);
case MissionCondition.ChocolateSalesCount: case MissionCondition.ChocolateSalesCount:
return gameData.GetTotalSalesByFlavor(9); return globalGameData.GetTotalSalesByFlavor(9);
case MissionCondition.RareChocolateSalesCount: case MissionCondition.RareChocolateSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(9); return globalGameData.GetTotalSalesByFlavorWithRare(9);
case MissionCondition.NoriSaltSalesCount: case MissionCondition.NoriSaltSalesCount:
return gameData.GetTotalSalesByFlavor(10); return globalGameData.GetTotalSalesByFlavor(10);
case MissionCondition.RareNoriSaltSalesCount: case MissionCondition.RareNoriSaltSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(10); return globalGameData.GetTotalSalesByFlavorWithRare(10);
case MissionCondition.ButterSoysourceSalesCount: case MissionCondition.ButterSoysourceSalesCount:
return gameData.GetTotalSalesByFlavor(11); return globalGameData.GetTotalSalesByFlavor(11);
case MissionCondition.RareButterSoysourceSalesCount: case MissionCondition.RareButterSoysourceSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(11); return globalGameData.GetTotalSalesByFlavorWithRare(11);
case MissionCondition.PepperCheeseSalesCount: case MissionCondition.PepperCheeseSalesCount:
return gameData.GetTotalSalesByFlavor(12); return globalGameData.GetTotalSalesByFlavor(12);
case MissionCondition.RarePepperCheeseSalesCount: case MissionCondition.RarePepperCheeseSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(12); return globalGameData.GetTotalSalesByFlavorWithRare(12);
case MissionCondition.SaltCaramelSalesCount: case MissionCondition.SaltCaramelSalesCount:
return gameData.GetTotalSalesByFlavor(13); return globalGameData.GetTotalSalesByFlavor(13);
case MissionCondition.RareSaltCaramelSalesCount: case MissionCondition.RareSaltCaramelSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(13); return globalGameData.GetTotalSalesByFlavorWithRare(13);
case MissionCondition.NoriButterSalesCount: case MissionCondition.NoriButterSalesCount:
return gameData.GetTotalSalesByFlavor(14); return globalGameData.GetTotalSalesByFlavor(14);
case MissionCondition.RareNoriButterSalesCount: case MissionCondition.RareNoriButterSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(14); return globalGameData.GetTotalSalesByFlavorWithRare(14);
case MissionCondition.MilkChocolateSalesCount: case MissionCondition.MilkChocolateSalesCount:
return gameData.GetTotalSalesByFlavor(15); return globalGameData.GetTotalSalesByFlavor(15);
case MissionCondition.RareMilkChocolateSalesCount: case MissionCondition.RareMilkChocolateSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(15); return globalGameData.GetTotalSalesByFlavorWithRare(15);
case MissionCondition.CaramelCheeseSalesCount: case MissionCondition.CaramelCheeseSalesCount:
return gameData.GetTotalSalesByFlavor(16); return globalGameData.GetTotalSalesByFlavor(16);
case MissionCondition.RareCaramelCheeseSalesCount: case MissionCondition.RareCaramelCheeseSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(16); return globalGameData.GetTotalSalesByFlavorWithRare(16);
case MissionCondition.HoneyButterSalesCount: case MissionCondition.HoneyButterSalesCount:
return gameData.GetTotalSalesByFlavor(17); return globalGameData.GetTotalSalesByFlavor(17);
case MissionCondition.RareHoneyButterSalesCount: case MissionCondition.RareHoneyButterSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(17); return globalGameData.GetTotalSalesByFlavorWithRare(17);
case MissionCondition.GreenteaMilkSalesCount: case MissionCondition.GreenteaMilkSalesCount:
return gameData.GetTotalSalesByFlavor(18); return globalGameData.GetTotalSalesByFlavor(18);
case MissionCondition.RareGreenteaMilkSalesCount: case MissionCondition.RareGreenteaMilkSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(18); return globalGameData.GetTotalSalesByFlavorWithRare(18);
case MissionCondition.StrawberryChocolaSalesCount: case MissionCondition.StrawberryChocolaSalesCount:
return gameData.GetTotalSalesByFlavor(19); return globalGameData.GetTotalSalesByFlavor(19);
case MissionCondition.RareStrawberryChocolateSalesCount: case MissionCondition.RareStrawberryChocolateSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(19); return globalGameData.GetTotalSalesByFlavorWithRare(19);
case MissionCondition.NoriSoysourceSalesCount: case MissionCondition.NoriSoysourceSalesCount:
return gameData.GetTotalSalesByFlavor(20); return globalGameData.GetTotalSalesByFlavor(20);
case MissionCondition.RareNoriSoysourceSalesCount: case MissionCondition.RareNoriSoysourceSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(20); return globalGameData.GetTotalSalesByFlavorWithRare(20);
case MissionCondition.SaltButterSalesCount: case MissionCondition.SaltButterSalesCount:
return gameData.GetTotalSalesByFlavor(21); return globalGameData.GetTotalSalesByFlavor(21);
case MissionCondition.RareSaltButterSalesCount: case MissionCondition.RareSaltButterSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(21); return globalGameData.GetTotalSalesByFlavorWithRare(21);
case MissionCondition.StrawberryMilkSalesCount: case MissionCondition.StrawberryMilkSalesCount:
return gameData.GetTotalSalesByFlavor(22); return globalGameData.GetTotalSalesByFlavor(22);
case MissionCondition.RareStrawberryMilkSalesCount: case MissionCondition.RareStrawberryMilkSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(22); return globalGameData.GetTotalSalesByFlavorWithRare(22);
case MissionCondition.SaltChocolateSalesCount: case MissionCondition.SaltChocolateSalesCount:
return gameData.GetTotalSalesByFlavor(23); return globalGameData.GetTotalSalesByFlavor(23);
case MissionCondition.RareSaltChocolateSalesCount: case MissionCondition.RareSaltChocolateSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(23); return globalGameData.GetTotalSalesByFlavorWithRare(23);
case MissionCondition.ChocolateGreenteaSalesCount: case MissionCondition.ChocolateGreenteaSalesCount:
return gameData.GetTotalSalesByFlavor(24); return globalGameData.GetTotalSalesByFlavor(24);
case MissionCondition.RareChocolateGreenteaSalesCount: case MissionCondition.RareChocolateGreenteaSalesCount:
return gameData.GetTotalSalesByFlavorWithRare(24); return globalGameData.GetTotalSalesByFlavorWithRare(24);
case MissionCondition.WatchVideo: case MissionCondition.WatchVideo:
return gameData.adCount; return globalGameData.adCount;
case MissionCondition.VipCustomer: case MissionCondition.VipCustomer:
return gameData.TotalVipCustomer; return globalGameData.TotalVipCustomer;
case MissionCondition.UseFertilizer: case MissionCondition.UseFertilizer:
return gameData.TotalUseFertiliser; return globalGameData.TotalUseFertiliser;
case MissionCondition.UseAdWalker: case MissionCondition.UseAdWalker:
return gameData.TotalUseAdWalker; return globalGameData.TotalUseAdWalker;
case MissionCondition.UseAutoCook: case MissionCondition.UseAutoCook:
return gameData.TotalUseAutoCook; return globalGameData.TotalUseAutoCook;
default: default:
return 0; return 0;
} }
@ -381,129 +386,129 @@ public class MissionManager : MonoBehaviour
public static int GetDailyProgressValue(MissionData missionData) public static int GetDailyProgressValue(MissionData missionData)
{ {
var gameData = GameDataManager.GameData; var globalGameData = GameDataManager.GameData;
switch (missionData.Condition) switch (missionData.Condition)
{ {
case MissionCondition.CornCount: case MissionCondition.CornCount:
return gameData.DailyTotalAddCornSeed; return globalGameData.DailyTotalAddCornSeed;
case MissionCondition.CustomerCount: // タップor来客した数 case MissionCondition.CustomerCount: // タップor来客した数
return gameData.DailyTotalCustomerCount; return globalGameData.DailyTotalCustomerCount;
case MissionCondition.SalesCount: // 売った数 case MissionCondition.SalesCount: // 売った数
return gameData.DailyTotalSales; return globalGameData.DailyTotalSales;
case MissionCondition.RareSalesCount: // レアを売った数 case MissionCondition.RareSalesCount: // レアを売った数
return gameData.DailyRareTotalSales; return globalGameData.DailyRareTotalSales;
case MissionCondition.RecipeCount: // レシピの数 case MissionCondition.RecipeCount: // レシピの数
return gameData.DailyRecipeGetCount; return globalGameData.DailyRecipeGetCount;
case MissionCondition.CoinConsumeCount: // コイン消費数 case MissionCondition.CoinConsumeCount: // コイン消費数
return gameData.DailyTotalSubCoin; return globalGameData.DailyTotalSubCoin;
case MissionCondition.BulkOrderDeliveredCount: case MissionCondition.BulkOrderDeliveredCount:
return gameData.DailyBulkOrderDeliveredCount; return globalGameData.DailyBulkOrderDeliveredCount;
case MissionCondition.SaltSalesCount: case MissionCondition.SaltSalesCount:
return gameData.GetDailyTotalSalesByFlavor(1); return globalGameData.GetDailyTotalSalesByFlavor(1);
case MissionCondition.RareSaltSalesCount: case MissionCondition.RareSaltSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(1); return globalGameData.GetDailyTotalSalesByFlavorWithRare(1);
case MissionCondition.CaramelSalesCount: case MissionCondition.CaramelSalesCount:
return gameData.GetDailyTotalSalesByFlavor(2); return globalGameData.GetDailyTotalSalesByFlavor(2);
case MissionCondition.RareCaramelSalesCount: case MissionCondition.RareCaramelSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(2); return globalGameData.GetDailyTotalSalesByFlavorWithRare(2);
case MissionCondition.PepperSalesCount: case MissionCondition.PepperSalesCount:
return gameData.GetDailyTotalSalesByFlavor(3); return globalGameData.GetDailyTotalSalesByFlavor(3);
case MissionCondition.RarePepperSalesCount: case MissionCondition.RarePepperSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(3); return globalGameData.GetDailyTotalSalesByFlavorWithRare(3);
case MissionCondition.HoneySalesCount: case MissionCondition.HoneySalesCount:
return gameData.GetDailyTotalSalesByFlavor(4); return globalGameData.GetDailyTotalSalesByFlavor(4);
case MissionCondition.RareHoneySalesCount: case MissionCondition.RareHoneySalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(4); return globalGameData.GetDailyTotalSalesByFlavorWithRare(4);
case MissionCondition.CheeseSalesCount: case MissionCondition.CheeseSalesCount:
return gameData.GetDailyTotalSalesByFlavor(5); return globalGameData.GetDailyTotalSalesByFlavor(5);
case MissionCondition.RareCheeseSalesCount: case MissionCondition.RareCheeseSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(5); return globalGameData.GetDailyTotalSalesByFlavorWithRare(5);
case MissionCondition.SoysourceSalesCount: case MissionCondition.SoysourceSalesCount:
return gameData.GetDailyTotalSalesByFlavor(6); return globalGameData.GetDailyTotalSalesByFlavor(6);
case MissionCondition.RareSoysourceSalesCount: case MissionCondition.RareSoysourceSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(6); return globalGameData.GetDailyTotalSalesByFlavorWithRare(6);
case MissionCondition.StrawberrySalesCount: case MissionCondition.StrawberrySalesCount:
return gameData.GetDailyTotalSalesByFlavor(7); return globalGameData.GetDailyTotalSalesByFlavor(7);
case MissionCondition.RareStrawberrySalesCount: case MissionCondition.RareStrawberrySalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(7); return globalGameData.GetDailyTotalSalesByFlavorWithRare(7);
case MissionCondition.GreenteaSalesCount: case MissionCondition.GreenteaSalesCount:
return gameData.GetDailyTotalSalesByFlavor(8); return globalGameData.GetDailyTotalSalesByFlavor(8);
case MissionCondition.RareGreenteaSalesCount: case MissionCondition.RareGreenteaSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(8); return globalGameData.GetDailyTotalSalesByFlavorWithRare(8);
case MissionCondition.ChocolateSalesCount: case MissionCondition.ChocolateSalesCount:
return gameData.GetDailyTotalSalesByFlavor(9); return globalGameData.GetDailyTotalSalesByFlavor(9);
case MissionCondition.RareChocolateSalesCount: case MissionCondition.RareChocolateSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(9); return globalGameData.GetDailyTotalSalesByFlavorWithRare(9);
case MissionCondition.NoriSaltSalesCount: case MissionCondition.NoriSaltSalesCount:
return gameData.GetDailyTotalSalesByFlavor(10); return globalGameData.GetDailyTotalSalesByFlavor(10);
case MissionCondition.RareNoriSaltSalesCount: case MissionCondition.RareNoriSaltSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(10); return globalGameData.GetDailyTotalSalesByFlavorWithRare(10);
case MissionCondition.ButterSoysourceSalesCount: case MissionCondition.ButterSoysourceSalesCount:
return gameData.GetDailyTotalSalesByFlavor(11); return globalGameData.GetDailyTotalSalesByFlavor(11);
case MissionCondition.RareButterSoysourceSalesCount: case MissionCondition.RareButterSoysourceSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(11); return globalGameData.GetDailyTotalSalesByFlavorWithRare(11);
case MissionCondition.PepperCheeseSalesCount: case MissionCondition.PepperCheeseSalesCount:
return gameData.GetDailyTotalSalesByFlavor(12); return globalGameData.GetDailyTotalSalesByFlavor(12);
case MissionCondition.RarePepperCheeseSalesCount: case MissionCondition.RarePepperCheeseSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(12); return globalGameData.GetDailyTotalSalesByFlavorWithRare(12);
case MissionCondition.SaltCaramelSalesCount: case MissionCondition.SaltCaramelSalesCount:
return gameData.GetDailyTotalSalesByFlavor(13); return globalGameData.GetDailyTotalSalesByFlavor(13);
case MissionCondition.RareSaltCaramelSalesCount: case MissionCondition.RareSaltCaramelSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(13); return globalGameData.GetDailyTotalSalesByFlavorWithRare(13);
case MissionCondition.NoriButterSalesCount: case MissionCondition.NoriButterSalesCount:
return gameData.GetDailyTotalSalesByFlavor(14); return globalGameData.GetDailyTotalSalesByFlavor(14);
case MissionCondition.RareNoriButterSalesCount: case MissionCondition.RareNoriButterSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(14); return globalGameData.GetDailyTotalSalesByFlavorWithRare(14);
case MissionCondition.MilkChocolateSalesCount: case MissionCondition.MilkChocolateSalesCount:
return gameData.GetDailyTotalSalesByFlavor(15); return globalGameData.GetDailyTotalSalesByFlavor(15);
case MissionCondition.RareMilkChocolateSalesCount: case MissionCondition.RareMilkChocolateSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(15); return globalGameData.GetDailyTotalSalesByFlavorWithRare(15);
case MissionCondition.CaramelCheeseSalesCount: case MissionCondition.CaramelCheeseSalesCount:
return gameData.GetDailyTotalSalesByFlavor(16); return globalGameData.GetDailyTotalSalesByFlavor(16);
case MissionCondition.RareCaramelCheeseSalesCount: case MissionCondition.RareCaramelCheeseSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(16); return globalGameData.GetDailyTotalSalesByFlavorWithRare(16);
case MissionCondition.HoneyButterSalesCount: case MissionCondition.HoneyButterSalesCount:
return gameData.GetDailyTotalSalesByFlavor(17); return globalGameData.GetDailyTotalSalesByFlavor(17);
case MissionCondition.RareHoneyButterSalesCount: case MissionCondition.RareHoneyButterSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(17); return globalGameData.GetDailyTotalSalesByFlavorWithRare(17);
case MissionCondition.GreenteaMilkSalesCount: case MissionCondition.GreenteaMilkSalesCount:
return gameData.GetDailyTotalSalesByFlavor(18); return globalGameData.GetDailyTotalSalesByFlavor(18);
case MissionCondition.RareGreenteaMilkSalesCount: case MissionCondition.RareGreenteaMilkSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(18); return globalGameData.GetDailyTotalSalesByFlavorWithRare(18);
case MissionCondition.StrawberryChocolaSalesCount: case MissionCondition.StrawberryChocolaSalesCount:
return gameData.GetDailyTotalSalesByFlavor(19); return globalGameData.GetDailyTotalSalesByFlavor(19);
case MissionCondition.RareStrawberryChocolateSalesCount: case MissionCondition.RareStrawberryChocolateSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(19); return globalGameData.GetDailyTotalSalesByFlavorWithRare(19);
case MissionCondition.NoriSoysourceSalesCount: case MissionCondition.NoriSoysourceSalesCount:
return gameData.GetDailyTotalSalesByFlavor(20); return globalGameData.GetDailyTotalSalesByFlavor(20);
case MissionCondition.RareNoriSoysourceSalesCount: case MissionCondition.RareNoriSoysourceSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(20); return globalGameData.GetDailyTotalSalesByFlavorWithRare(20);
case MissionCondition.SaltButterSalesCount: case MissionCondition.SaltButterSalesCount:
return gameData.GetDailyTotalSalesByFlavor(21); return globalGameData.GetDailyTotalSalesByFlavor(21);
case MissionCondition.RareSaltButterSalesCount: case MissionCondition.RareSaltButterSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(21); return globalGameData.GetDailyTotalSalesByFlavorWithRare(21);
case MissionCondition.StrawberryMilkSalesCount: case MissionCondition.StrawberryMilkSalesCount:
return gameData.GetDailyTotalSalesByFlavor(22); return globalGameData.GetDailyTotalSalesByFlavor(22);
case MissionCondition.RareStrawberryMilkSalesCount: case MissionCondition.RareStrawberryMilkSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(22); return globalGameData.GetDailyTotalSalesByFlavorWithRare(22);
case MissionCondition.SaltChocolateSalesCount: case MissionCondition.SaltChocolateSalesCount:
return gameData.GetDailyTotalSalesByFlavor(23); return globalGameData.GetDailyTotalSalesByFlavor(23);
case MissionCondition.RareSaltChocolateSalesCount: case MissionCondition.RareSaltChocolateSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(23); return globalGameData.GetDailyTotalSalesByFlavorWithRare(23);
case MissionCondition.ChocolateGreenteaSalesCount: case MissionCondition.ChocolateGreenteaSalesCount:
return gameData.GetDailyTotalSalesByFlavor(24); return globalGameData.GetDailyTotalSalesByFlavor(24);
case MissionCondition.RareChocolateGreenteaSalesCount: case MissionCondition.RareChocolateGreenteaSalesCount:
return gameData.GetDailyTotalSalesByFlavorWithRare(24); return globalGameData.GetDailyTotalSalesByFlavorWithRare(24);
case MissionCondition.WatchVideo: case MissionCondition.WatchVideo:
return gameData.DailyWatchVideo; return globalGameData.DailyWatchVideo;
case MissionCondition.VipCustomer: case MissionCondition.VipCustomer:
return gameData.DailyVipCustomer; return globalGameData.DailyVipCustomer;
case MissionCondition.UseFertilizer: case MissionCondition.UseFertilizer:
return gameData.DailyUseFertiliser; return globalGameData.DailyUseFertiliser;
case MissionCondition.UseAdWalker: case MissionCondition.UseAdWalker:
return gameData.DailyUseAdWalker; return globalGameData.DailyUseAdWalker;
case MissionCondition.UseAutoCook: case MissionCondition.UseAutoCook:
return gameData.DailyUseAutoCook; return globalGameData.DailyUseAutoCook;
default: default:
return 0; return 0;
} }
@ -515,14 +520,14 @@ public class MissionManager : MonoBehaviour
{ {
case MissionRewardType.Coin: case MissionRewardType.Coin:
CoinManager.Instance.AddCoin(missionData.reward); CoinManager.Instance.AddCoin(missionData.reward);
GameDataManager.GameData.Coin = CoinManager.Instance.OwnCoin; cityGameData.Coin = CoinManager.Instance.OwnCoin;
break; break;
case MissionRewardType.ShopCustomizeCoin when ShopCustomizeCoinManager.ExistsInstance: case MissionRewardType.ShopCustomizeCoin when ShopCustomizeCoinManager.ExistsInstance:
ShopCustomizeCoinManager.Instance.AddCoin(missionData.reward); ShopCustomizeCoinManager.Instance.AddCoin(missionData.reward);
GameDataManager.GameData.ShopCustomizeCoin = ShopCustomizeCoinManager.Instance.OwnCoin; globalGameData.ShopCustomizeCoin = ShopCustomizeCoinManager.Instance.OwnCoin;
break; break;
case MissionRewardType.ShopCustomizeCoin: case MissionRewardType.ShopCustomizeCoin:
GameDataManager.GameData.ShopCustomizeCoin += missionData.reward; globalGameData.ShopCustomizeCoin += missionData.reward;
break; break;
default: default:
throw new ArgumentOutOfRangeException(); throw new ArgumentOutOfRangeException();