ミッション用カウント処理をワールド対応

This commit is contained in:
kimura 2022-10-20 13:21:01 +09:00
parent ee0536e551
commit 1e4c62c524
6 changed files with 35 additions and 18 deletions

View File

@ -161,7 +161,7 @@ public class CornField : MonoBehaviour
#if UNITY_EDITOR #if UNITY_EDITOR
cityGameData.fertilizerTime = DateTime.UtcNow.AddSeconds(10 + fertilizerDuration).ToBinary(); cityGameData.fertilizerTime = DateTime.UtcNow.AddSeconds(10 + fertilizerDuration).ToBinary();
#endif #endif
globalGameData.AddUseFertiliser(); cityGameData.AddUseFertiliser();
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();
additionView.IsStopDisapper = true; additionView.IsStopDisapper = true;

View File

@ -53,7 +53,7 @@ namespace MyGame.Scenes.Main.Scripts
cityGameData.AutoCookFinishTime = DateTime.UtcNow.AddHours(autoCookData.duration).ToBinary(); cityGameData.AutoCookFinishTime = DateTime.UtcNow.AddHours(autoCookData.duration).ToBinary();
// レシピをランダムに並び替えて保存 // レシピをランダムに並び替えて保存
cityGameData.AutoCookProducts = globalGameData.MyRecipes.OrderBy(x => Random.value).ToArray(); cityGameData.AutoCookProducts = globalGameData.MyRecipes.OrderBy(x => Random.value).ToArray();
globalGameData.AddUseAutoCook(); cityGameData.AddUseAutoCook();
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();
LocalCacheManager.Load<Action>(SuccessCallbackTag, null)?.Invoke(); LocalCacheManager.Load<Action>(SuccessCallbackTag, null)?.Invoke();
LocalCacheManager.Remove(SuccessCallbackTag); LocalCacheManager.Remove(SuccessCallbackTag);

View File

@ -43,11 +43,12 @@ public class ShopItemView : MonoBehaviour
* *
* *
*/ */
var totalAdCount = GameDataManager.GameData.GetTotalAdCount();
purchaseObject.SetActive(shopData.Category != ItemCategory.Recipe); purchaseObject.SetActive(shopData.Category != ItemCategory.Recipe);
exchangeObject.SetActive(shopData.Category == ItemCategory.Recipe); exchangeObject.SetActive(shopData.Category == ItemCategory.Recipe);
progressBar.value = Mathf.InverseLerp(0, shopData.price, GameDataManager.GameData.adCount); progressBar.value = Mathf.InverseLerp(0, shopData.price, totalAdCount);
progressText.text = string.Format(ProgressFormat, GameDataManager.GameData.adCount, shopData.price); progressText.text = string.Format(ProgressFormat, totalAdCount, shopData.price);
onObject.SetActive(shopData.price <= GameDataManager.GameData.adCount); onObject.SetActive(shopData.price <= totalAdCount);
offObject.SetActive(!onObject.activeSelf); offObject.SetActive(!onObject.activeSelf);
} }

View File

@ -197,7 +197,7 @@ public class Shopping : MonoBehaviour
var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopData>(Const.ShopDataSheet) var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopData>(Const.ShopDataSheet)
.Where(data => !data.IsHide) .Where(data => !data.IsHide)
.Where(data => data.Category == ItemCategory.Recipe); .Where(data => data.Category == ItemCategory.Recipe);
var adCount = GameDataManager.GameData.adCount; var adCount = GameDataManager.GameData.GetTotalAdCount();
foreach (var shopData in shopDataList) foreach (var shopData in shopDataList)
{ {
if (GetItemAmount(shopData) > 0) continue; if (GetItemAmount(shopData) > 0) continue;

View File

@ -269,7 +269,8 @@ public sealed class GameData {
if (cornSeed < value) if (cornSeed < value)
{ {
TotalAddCornSeed += value - cornSeed; TotalAddCornSeed += value - cornSeed;
DailyTotalAddCornSeed += value - cornSeed; // globalGameDataを加算
GameDataManager.GameData.DailyTotalAddCornSeed += value - cornSeed;
} }
cornSeed = value; cornSeed = value;
} }
@ -280,12 +281,14 @@ public sealed class GameData {
if (coin < value) if (coin < value)
{ {
TotalAddCoin += value - coin; TotalAddCoin += value - coin;
DailyTotalAddCoin += value - coin; // globalGameDataを加算
GameDataManager.GameData.DailyTotalAddCoin += value - coin;
} }
else else
{ {
TotalSubCoin += coin - value; TotalSubCoin += coin - value;
DailyTotalSubCoin += coin - value; // globalGameDataを加算
GameDataManager.GameData.DailyTotalSubCoin += coin - value;
} }
coin = value; coin = value;
} }
@ -293,13 +296,15 @@ public sealed class GameData {
public void AddCustomerCount(int value) public void AddCustomerCount(int value)
{ {
TotalCustomerCount += value; TotalCustomerCount += value;
DailyTotalCustomerCount += value; // globalGameDataを加算
GameDataManager.GameData.DailyTotalCustomerCount += value;
} }
public void AddVipCustomerCount(int value) public void AddVipCustomerCount(int value)
{ {
TotalVipCustomer += value; TotalVipCustomer += value;
DailyVipCustomer += value; // globalGameDataを加算
GameDataManager.GameData.DailyVipCustomer += value;
} }
public void AddSalesCount(int id, int stock, ProductRarity rarity) public void AddSalesCount(int id, int stock, ProductRarity rarity)
@ -312,10 +317,12 @@ public sealed class GameData {
} }
stockData.Stock += stock; stockData.Stock += stock;
if (!(DailyTotalSalesList.FirstOrDefault(x => x.FlavorId == id && x.Rarity == rarity) is ProductStockData dailyStockData)) // globalGameDataを加算
var globalGameData = GameDataManager.GameData;
if (!(globalGameData.DailyTotalSalesList.FirstOrDefault(x => x.FlavorId == id && x.Rarity == rarity) is ProductStockData dailyStockData))
{ {
dailyStockData = new ProductStockData {FlavorId = id, Rarity = rarity, Stock = 0}; dailyStockData = new ProductStockData {FlavorId = id, Rarity = rarity, Stock = 0};
DailyTotalSalesList.Add(dailyStockData); globalGameData.DailyTotalSalesList.Add(dailyStockData);
} }
dailyStockData.Stock += stock; dailyStockData.Stock += stock;
} }
@ -416,25 +423,34 @@ public sealed class GameData {
public void AddAdCount(){ public void AddAdCount(){
adCount++; adCount++;
DailyWatchVideo++; // globalGameDataを加算
GameDataManager.GameData.DailyWatchVideo++;
} }
public void AddUseFertiliser() public void AddUseFertiliser()
{ {
TotalUseFertiliser++; TotalUseFertiliser++;
DailyUseFertiliser++; // globalGameDataを加算
GameDataManager.GameData.DailyUseFertiliser++;
} }
public void AddUseAdWalker() public void AddUseAdWalker()
{ {
TotalUseAdWalker++; TotalUseAdWalker++;
DailyUseAdWalker++; // globalGameDataを加算
GameDataManager.GameData.DailyUseAdWalker++;
} }
public void AddUseAutoCook() public void AddUseAutoCook()
{ {
TotalUseAutoCook++; TotalUseAutoCook++;
DailyUseAutoCook++; // globalGameDataを加算
GameDataManager.GameData.DailyUseAutoCook++;
}
public int GetTotalAdCount()
{
return GameDataManager.GameData.adCount + GameDataManager.GameData.CityGameDataDict.Values.Sum(data => data.adCount);
} }
public void InitTank() public void InitTank()

View File

@ -120,7 +120,7 @@ namespace MyGame.Scripts
if (result) if (result)
{ {
successCallback?.Invoke(); successCallback?.Invoke();
GameDataManager.GameData.AddAdCount(); GameDataManager.GetCurrentCityGameData().AddAdCount();
} }
TransitionManager.Instance.UnloadScene(unloadScene); TransitionManager.Instance.UnloadScene(unloadScene);
}, placement); }, placement);