Informationワールド対応

This commit is contained in:
kimura 2022-10-14 15:56:54 +09:00
parent d4d4211933
commit 328b22d51c
1 changed files with 24 additions and 22 deletions

View File

@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using I2.Loc;
using MyGame.Scripts;
using UniRx;
using UnityEngine;
using UnityEngine.UI;
@ -75,36 +76,37 @@ public class Information : MonoBehaviour
scrollRect.verticalNormalizedPosition = 1;
}).AddTo(this);
var gameData = GameDataManager.GameData;
var globalGameData = GameDataManager.GameData;
var cityGameData = GameDataManager.GetCurrentCityGameData();
var shopLevelList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopLevelData>(Const.ShopLevelDataSheet);
shopLevelList = shopLevelList.Where(data => data.shopLevel != Const.SpecialShopLevel).ToList();
var shopScriptList = SpreadsheetDataManager.Instance.GetBaseDataList<BrotherScriptData>(Const.ScriptDataSheet);
var shopLevelData = shopLevelList.FirstOrDefault(data => data.shopLevel == gameData.ViewedShopLevel) ?? shopLevelList[0];
var nextShopLevelData = shopLevelList.FirstOrDefault(data => data.shopLevel == gameData.ViewedShopLevel + 1);
var shopLevelData = shopLevelList.FirstOrDefault(data => data.shopLevel == globalGameData.ViewedShopLevel) ?? shopLevelList[0];
var nextShopLevelData = shopLevelList.FirstOrDefault(data => data.shopLevel == globalGameData.ViewedShopLevel + 1);
var nextLevelHeart = nextShopLevelData?.heart ?? shopLevelData.heart;
var shopCustomizeLevelList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopCustomizeLevelData>(Const.ShopCustomizeLevelDataSheet);
var shopCustomizeData = shopCustomizeLevelList.FirstOrDefault(data => data.level == gameData.ShopCustomizeLevel) ?? shopCustomizeLevelList[0];
var nextShopCustomizeData = shopCustomizeLevelList.FirstOrDefault(data => data.level == gameData.ShopCustomizeLevel + 1);
var shopCustomizeData = shopCustomizeLevelList.FirstOrDefault(data => data.level == globalGameData.ShopCustomizeLevel) ?? shopCustomizeLevelList[0];
var nextShopCustomizeData = shopCustomizeLevelList.FirstOrDefault(data => data.level == globalGameData.ShopCustomizeLevel + 1);
var nextShopCustomizePoint = nextShopCustomizeData?.point ?? shopCustomizeData.point;
var autoCookDataList = SpreadsheetDataManager.Instance.GetBaseDataList<AutoCookData>(Const.AutoCookDataSheet);
var autoCookData = autoCookDataList.FirstOrDefault(data => data.level == gameData.AutoCookLevel) ?? autoCookDataList[0];
totalDayText.text = $"{gameData.dailyLoginCount}{ScriptLocalization.Unit.Day}";
totalSalesText.text = $"{gameData.TotalSales}{ScriptLocalization.Unit.Amount}";
totalCoinText.text = gameData.TotalAddCoin.ToString();
var autoCookData = autoCookDataList.FirstOrDefault(data => data.level == cityGameData.AutoCookLevel) ?? autoCookDataList[0];
totalDayText.text = $"{globalGameData.dailyLoginCount}{ScriptLocalization.Unit.Day}";
totalSalesText.text = $"{cityGameData.TotalSales}{ScriptLocalization.Unit.Amount}";
totalCoinText.text = cityGameData.TotalAddCoin.ToString();
achievementText.text = shopLevelData.Achievement;
shopLevelText.text = String.Format(shopLevelFormat, gameData.ViewedShopLevel.ToString());
progressText.text = String.Format(progressFormat, Mathf.Min(gameData.Heart, nextLevelHeart), nextLevelHeart);
shopCustomizeLevelText.text = String.Format(shopLevelFormat, gameData.ShopCustomizeLevel.ToString());
shopCustomizeProgressText.text = String.Format(progressFormat, Mathf.Min(gameData.ShopCustomizePoint, nextShopCustomizePoint), nextShopCustomizePoint);
autoCookLevelText.text = String.Format(shopLevelFormat, gameData.AutoCookLevel);
autoCookProgressText.text = String.Format(progressFormat, Mathf.Min(gameData.AutoCookUsesCount, autoCookData.clearCount), autoCookData.clearCount);
autoCookLevelObject.SetActive(gameData.ViewedShopLevel >= Const.AutoCookAvailableLevel);
autoCookProgressObject.SetActive(gameData.ViewedShopLevel >= Const.AutoCookAvailableLevel);
shopLevelText.text = String.Format(shopLevelFormat, globalGameData.ViewedShopLevel.ToString());
progressText.text = String.Format(progressFormat, Mathf.Min(GameDataUtils.GetTotalHeart(), nextLevelHeart), nextLevelHeart);
shopCustomizeLevelText.text = String.Format(shopLevelFormat, globalGameData.ShopCustomizeLevel.ToString());
shopCustomizeProgressText.text = String.Format(progressFormat, Mathf.Min(globalGameData.ShopCustomizePoint, nextShopCustomizePoint), nextShopCustomizePoint);
autoCookLevelText.text = String.Format(shopLevelFormat, cityGameData.AutoCookLevel);
autoCookProgressText.text = String.Format(progressFormat, Mathf.Min(cityGameData.AutoCookUsesCount, autoCookData.clearCount), autoCookData.clearCount);
autoCookLevelObject.SetActive(globalGameData.ViewedShopLevel >= Const.AutoCookAvailableLevel);
autoCookProgressObject.SetActive(globalGameData.ViewedShopLevel >= Const.AutoCookAvailableLevel);
var productList = SpreadsheetDataManager.Instance.GetBaseDataList<ProductData>(Const.ProductDataSheet);
var materialList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopData>(Const.ShopDataSheet);
var shopStockList = gameData.ShopStock.Select(data => (data.FlavorId, data.Stock));
var tankStockList = gameData.StorageTanks.Select(data => (data.FlavorId, data.Stock));
var shopStockList = cityGameData.ShopStock.Select(data => (data.FlavorId, data.Stock));
var tankStockList = cityGameData.StorageTanks.Select(data => (data.FlavorId, data.Stock));
var totalStockList = shopStockList.Concat(tankStockList).ToList();
// shopLevel
@ -126,7 +128,7 @@ public class Information : MonoBehaviour
{
var levelData = shopLevelList[index];
var scriptList = shopScriptList.Where(data => data.id == levelData.shopLevel).ToList();
SetHistory(levelData, scriptList, levelData.shopLevel > gameData.ViewedShopLevel);
SetHistory(levelData, scriptList, levelData.shopLevel > globalGameData.ViewedShopLevel);
if (index == 6)
{
@ -159,7 +161,7 @@ public class Information : MonoBehaviour
// material
materialTarget.DestroyAllChildrens();
var totalCount = gameData.Material.Sum(data => data.Amount);
var totalCount = cityGameData.Material.Sum(data => data.Amount);
if (totalCount == 0)
{
var view = Instantiate(materialPrefab, materialTarget);
@ -167,7 +169,7 @@ public class Information : MonoBehaviour
}
else
{
foreach (var materialData in gameData.Material)
foreach (var materialData in cityGameData.Material)
{
if (materialData.Amount == 0)
{