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

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
cityGameData.fertilizerTime = DateTime.UtcNow.AddSeconds(10 + fertilizerDuration).ToBinary();
#endif
globalGameData.AddUseFertiliser();
cityGameData.AddUseFertiliser();
GameDataManager.SaveGameData();
additionView.IsStopDisapper = true;

View File

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

View File

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

View File

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

View File

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

View File

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