処理をMarketからWorldMarketManagerに付け替え

This commit is contained in:
kimura 2022-10-04 16:36:57 +09:00
parent 25fc181b44
commit f6ada1f1d4
9 changed files with 32 additions and 53 deletions

View File

@ -2,6 +2,7 @@ using System;
using System.Linq;
using I2.Loc;
using MyGame.Scenes.Cooking.Scripts;
using MyGame.Scenes.marketing.Scripts;
using MyGame.Scripts;
using TMPro;
using UniRx;
@ -136,7 +137,7 @@ public class CookingResult : MonoBehaviour
// 獲得する
if (viewType == ProductViewType.Default)
{
Market.Instance.IsPause.Value = true;
WorldMarketManager.Instance.IsPause.Value = true;
okButton.OnClickAsObservable().Take(1).Subscribe(_ =>
{
// 獲得、遷移
@ -158,7 +159,7 @@ public class CookingResult : MonoBehaviour
}
}
GameDataManager.SaveGameData();
Market.Instance.IsPause.Value = false;
WorldMarketManager.Instance.IsPause.Value = false;
TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(this);
@ -168,7 +169,7 @@ public class CookingResult : MonoBehaviour
// 獲得、遷移
MoveStock(GameDataManager.GameData.WaitAddStock);
GameDataManager.SaveGameData();
Market.Instance.IsPause.Value = false;
WorldMarketManager.Instance.IsPause.Value = false;
SoundManager.Instance.ChangeVolumeUniqueBGM(1f);
TransitionManager.Instance.UnloadScene(GameScenes.CookingResults);
LocalCacheManager.Load<Action>(PopcornGameManager.RestartCallbackTag, null)?.Invoke();
@ -283,7 +284,7 @@ public class CookingResult : MonoBehaviour
var gameData = GameDataManager.GameData;
// 店頭の空きに追加
var remain = productStockData.Stock;
var shopSpace = Market.ShopStockCount - gameData.ShopStock.Count;
var shopSpace = WorldMarketManager.ShopStockCount - gameData.ShopStock.Count;
var stockCount = Mathf.Min(shopSpace, remain);
gameData.ShopStock.AddRange(Enumerable.Repeat(new ProductStockData
{
@ -294,8 +295,9 @@ public class CookingResult : MonoBehaviour
// ShopStockに補充された場合、DisplayFlavors更新
if (stockCount > 0)
{
Market.Instance.RefillDisplayFlavors(gameData.ShopStock);
Market.Instance.CheckStock(gameData.ShopStock);
var market = WorldMarketManager.Instance.GetCurrentCityMarket();
market.RefillDisplayFlavors(gameData.ShopStock);
market.CheckStock(gameData.ShopStock);
}
// 空タンク並び替え

View File

@ -52,7 +52,7 @@ public class DebugOptionManager : MonoBehaviour
void Start()
{
var gameData = GameDataManager.GameData;
Market.Instance.IsPause.Value = true;
WorldMarketManager.Instance.IsPause.Value = true;
if (!LocalCacheManager.Exists(DebugPrevSceneTag))
{
@ -64,9 +64,7 @@ public class DebugOptionManager : MonoBehaviour
{
GameDataManager.ResetData();
TutorialManager.Instance.ResetTutorial();
Market.Instance.SetGameData(GameDataManager.GameData);
Market.Instance.ReShuffle(GameDataManager.GameData.ShopStock);
Market.Instance.CheckStock(GameDataManager.GameData.ShopStock);
WorldMarketManager.Instance.ResetGameData(GameDataManager.GameData);
if (UsayaStorageManager.LoadOrDefault(UsayaStorageFilename.Settings_Data, "DebugTutorialEnable", false))
{
GameDataManager.GameData.ViewedShopLevel = 1;
@ -78,7 +76,7 @@ public class DebugOptionManager : MonoBehaviour
backButton.OnClickAsObservable().Subscribe(_ =>
{
GameDataManager.SaveGameData();
Market.Instance.IsPause.Value = false;
WorldMarketManager.Instance.IsPause.Value = false;
TransitionManager.Instance.LoadScene(prevScene);
});

View File

@ -3,6 +3,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Linq;
using MyGame.Scenes.Main.Scripts;
using MyGame.Scenes.marketing.Scripts;
using MyGame.Scripts;
using UniRx;
using UniRx.Triggers;
@ -359,7 +360,7 @@ public class KitchenManager : MonoBehaviour
#if UNITY_EDITOR
Debug.Log($"remaining: {Mathf.Max(remaining, 0)}");
Market.StockFlavorLog();
WorldMarketManager.StockFlavorLog();
#endif
}

View File

@ -19,8 +19,6 @@ public enum ShopState
public class Market : SingletonMonoBehaviour<Market>
{
public static readonly int ShopStockCount = 20;
// 購入時アニメーションタイミング
private static readonly float waitSellTime = 1.5f;
private static readonly float waitRefillTime = 1f;
@ -81,7 +79,7 @@ public class Market : SingletonMonoBehaviour<Market>
#if UNITY_EDITOR || DEVELOPMENT_BUILD
CheckAndFixStock();
StockFlavorLog();
WorldMarketManager.StockFlavorLog();
#endif
// 陳列/売り順決定
@ -344,7 +342,7 @@ public class Market : SingletonMonoBehaviour<Market>
throw new ArgumentOutOfRangeException(nameof(customerType), customerType, null);
}
var (isSpecial, orderCount) = GetCustomerData(customerType);
var (isSpecial, orderCount) = customerSetting.GetCustomerData(customerType);
var customerController = SpawnCustomer();
customerController.Setup(orderPosisionObject.transform.GetComponentsInChildren<Transform>().ToList().Skip(1).ToList());
customerController.ChangeCustomerState(customerState);
@ -399,12 +397,6 @@ public class Market : SingletonMonoBehaviour<Market>
}).AddTo(this);
}
public (bool isSpecial, int orderCount) GetCustomerData (CustomerType customerType)
{
return customerSetting.GetCustomerData(customerType);
}
private CustomerController SpawnCustomer()
{
var customerController = Instantiate(customerControllerPrefab, transform);
@ -497,7 +489,7 @@ displayFlavors: {displayFlavors.Aggregate("", (s, data) => $"{s},{data.FlavorId}
// 手前のタンクから出し多分stockをへらす
// へらした分を店頭リストに追加する
var gameData = GameDataManager.GameData;
var shopSpace = ShopStockCount - gameData.ShopStock.Count;
var shopSpace = WorldMarketManager.ShopStockCount - gameData.ShopStock.Count;
switch (gameData.RefillMode)
{
case ProductRefillMode.OneByOne:
@ -630,9 +622,9 @@ displayFlavors: {displayFlavors.Aggregate("", (s, data) => $"{s},{data.FlavorId}
private void CheckAndFixStock()
{
if (GameDataManager.GameData.ShopStock.Count > ShopStockCount)
if (GameDataManager.GameData.ShopStock.Count > WorldMarketManager.ShopStockCount)
{
GameDataManager.GameData.ShopStock.RemoveRange(0, GameDataManager.GameData.ShopStock.Count - ShopStockCount);
GameDataManager.GameData.ShopStock.RemoveRange(0, GameDataManager.GameData.ShopStock.Count - WorldMarketManager.ShopStockCount);
}
foreach (var stockData in GameDataManager.GameData.ShopStock.Where(stockData => stockData.FlavorId < 1))
@ -644,24 +636,7 @@ displayFlavors: {displayFlavors.Aggregate("", (s, data) => $"{s},{data.FlavorId}
public void SetGameData(GameData newGameData)
{
gameData = newGameData;
}
public static void StockFlavorLog()
{
var shopStockString = "";
shopStockString += $@"tank count:{GameDataManager.GameData.StorageTanks.Count}
tank {GameDataManager.GameData.StorageTanks.Aggregate("", (s, tank) => $"{s}, flavor:{tank.FlavorId}({tank.Stock})")}
";
foreach (var data in SpreadsheetDataManager.Instance.GetBaseDataList<ProductData>(Const.ProductDataSheet))
{
var shopStockCount = GameDataManager.GameData.ShopStock.FindAll(x => x.FlavorId == data.id).Count;
var tank = GameDataManager.GameData.StorageTanks.FindAll(x => x.FlavorId == data.id).Sum(x => x.Stock);
if (shopStockCount + tank == 0)
{
continue;
}
shopStockString += $"{data.Name} shop:{shopStockCount} tank:{tank}\n";
}
Debug.Log(shopStockString);
ReShuffle(gameData.ShopStock);
CheckStock(gameData.ShopStock);
}
}

View File

@ -37,7 +37,7 @@ public class MarketManager : MonoBehaviour
ShopClosedCompositeDisposable.AddTo(this);
customerRewardTimerUpdateSubject.AddTo(this);
vipTimerUpdateSubject.AddTo(this);
market = Market.Instance;
market = WorldMarketManager.Instance.GetCurrentCityMarket();
SoundManager.Instance.PlayBGM("bgm_marketing");
var gameData = GameDataManager.GameData;

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using MyGame.Scenes.marketing.Scripts;
using MyGame.Scripts;
using UniRx;
using UnityEngine;
@ -36,7 +37,7 @@ public class ProductManagement : MonoBehaviour
state.AddTo(this);
state.Value = ManagementState.None;
Market.Instance.IsPause.Value = true;
WorldMarketManager.Instance.IsPause.Value = true;
var gameData = GameDataManager.GameData;
if (!gameData.FinishedFlags.HasFlag(TutorialFlag.Management))
@ -303,6 +304,6 @@ public class ProductManagement : MonoBehaviour
private void OnDestroy()
{
Market.Instance.IsPause.Value = false;
WorldMarketManager.Instance.IsPause.Value = false;
}
}

View File

@ -133,7 +133,7 @@ myItems {string.Join(",", gameData.ShopCustomizeMyItems.Select(x => x.ToString()
var customizeLevelList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopCustomizeLevelData>(Const.ShopCustomizeLevelDataSheet);
var level = customizeLevelList.LastOrDefault(data => data.point <= gameData.ShopCustomizePoint)?.level ?? 1;
gameData.ShopCustomizeLevel = level;
Market.Instance.UpdateBonus(GetBonusList(gameData.ShopCustomizeLevel));
WorldMarketManager.Instance.UpdateBonus(GetBonusList(gameData.ShopCustomizeLevel));
}
/*

View File

@ -1,6 +1,7 @@
using System;
using System.Linq;
using I2.Loc;
using MyGame.Scenes.marketing.Scripts;
using MyGame.Scripts;
using UniRx;
using UnityEngine;
@ -200,7 +201,7 @@ public class RecipeDetailView : MonoBehaviour
{
var gameData = GameDataManager.GameData;
// 店頭の空き確認
if (data.volume <= Market.ShopStockCount - gameData.ShopStock.Count)
if (data.volume <= WorldMarketManager.ShopStockCount - gameData.ShopStock.Count)
{
return true;
}

View File

@ -1,6 +1,7 @@
using System;
using UnityEngine;
using GameAnalyticsSDK;
using MyGame.Scenes.marketing.Scripts;
public sealed class AdManager : SingletonMonoBehaviour<AdManager> {
@ -154,8 +155,8 @@ public sealed class AdManager : SingletonMonoBehaviour<AdManager> {
SoundManager.Instance.StopSE();
_cacheSeEnabled = SoundManager.Instance.IsEnabled(SoundType.SE);
SoundManager.Instance.SaveEnabledSE(false);
_marketPause = Market.Instance.IsPause.Value;
Market.Instance.IsPause.Value = true;
_marketPause = WorldMarketManager.Instance.IsPause.Value;
WorldMarketManager.Instance.IsPause.Value = true;
if(Time.timeScale > 0.0f){
_timeScale = Time.timeScale;
// TimeManager.Instance.Stop();
@ -165,9 +166,9 @@ public sealed class AdManager : SingletonMonoBehaviour<AdManager> {
SoundManager.Instance.ReplayBGM();
SoundManager.Instance.SaveEnabledSE(_cacheSeEnabled);
// キャッシュしていた元の状態に戻す
if (Market.Instance.IsPause.Value)
if (WorldMarketManager.Instance.IsPause.Value)
{
Market.Instance.IsPause.Value = _marketPause;
WorldMarketManager.Instance.IsPause.Value = _marketPause;
}
if(_timeScale > 0.0f){
Time.timeScale = _timeScale;