Merge branch 'develop' of bitbucket.org:usaya/popcorn into develop
This commit is contained in:
commit
577f3e07d3
|
|
@ -90,12 +90,12 @@ public class DebugOptionManager : MonoBehaviour
|
||||||
gameData.StorageTanks = new List<StorageTank>
|
gameData.StorageTanks = new List<StorageTank>
|
||||||
{
|
{
|
||||||
// new StorageTank(){Id = 1, Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>{new ProductStockData{Rarity = ProductRarity.Normal, Stock = 0}}},
|
// new StorageTank(){Id = 1, Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>{new ProductStockData{Rarity = ProductRarity.Normal, Stock = 0}}},
|
||||||
new StorageTank(){Id = 2, Capacity = 50, FlavorId = 2, Stocks = new List<ProductStockData>
|
new StorageTank(){Capacity = 50, FlavorId = 2, Stocks = new List<ProductStockData>
|
||||||
{
|
{
|
||||||
new ProductStockData{Rarity = ProductRarity.Normal, Stock = 1},
|
new ProductStockData{Rarity = ProductRarity.Normal, Stock = 1},
|
||||||
new ProductStockData{Rarity = ProductRarity.Yellow, Stock = 20},
|
new ProductStockData{Rarity = ProductRarity.Yellow, Stock = 20},
|
||||||
}},
|
}},
|
||||||
new StorageTank(){Id = 3, Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>
|
new StorageTank(){Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>
|
||||||
{
|
{
|
||||||
new ProductStockData{Rarity = ProductRarity.Normal, Stock = 1},
|
new ProductStockData{Rarity = ProductRarity.Normal, Stock = 1},
|
||||||
new ProductStockData{Rarity = ProductRarity.Yellow, Stock = 9},
|
new ProductStockData{Rarity = ProductRarity.Yellow, Stock = 9},
|
||||||
|
|
@ -104,7 +104,7 @@ public class DebugOptionManager : MonoBehaviour
|
||||||
new ProductStockData{Rarity = ProductRarity.Gold, Stock = 10},
|
new ProductStockData{Rarity = ProductRarity.Gold, Stock = 10},
|
||||||
new ProductStockData{Rarity = ProductRarity.Rainbow, Stock = 20},
|
new ProductStockData{Rarity = ProductRarity.Rainbow, Stock = 20},
|
||||||
}},
|
}},
|
||||||
new StorageTank(){Id = 4, Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>{new ProductStockData{Rarity = ProductRarity.Gold, Stock = 4}}},
|
new StorageTank(){Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>{new ProductStockData{Rarity = ProductRarity.Gold, Stock = 4}}},
|
||||||
};
|
};
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,7 @@ GameObject:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 2377818822852436376}
|
- component: {fileID: 2377818822852436376}
|
||||||
|
- component: {fileID: 7948284479330041018}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Window
|
m_Name: Window
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
|
@ -132,6 +133,24 @@ RectTransform:
|
||||||
m_AnchoredPosition: {x: 0, y: 145}
|
m_AnchoredPosition: {x: 0, y: 145}
|
||||||
m_SizeDelta: {x: 900, y: 1020}
|
m_SizeDelta: {x: 900, y: 1020}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &7948284479330041018
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2377818822852436379}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 97711eafafff465ebe1223e7ed0ab2e7, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
backgroundAnimator: {fileID: 2377818822785157575}
|
||||||
|
closeButton: {fileID: 2377818823238410848}
|
||||||
|
heartText: {fileID: 2377818823370329765}
|
||||||
|
coinText: {fileID: 2377818823929203721}
|
||||||
|
bonusCoinText: {fileID: 2377818823802633425}
|
||||||
|
messageText: {fileID: 2377818823780007094}
|
||||||
--- !u!1 &2377818823009469882
|
--- !u!1 &2377818823009469882
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,20 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using UniRx;
|
using UniRx;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
public class BulkOrderProgressData
|
public class BulkOrderResultData
|
||||||
{
|
{
|
||||||
public int orderId;
|
public int Number;
|
||||||
public ProductRarity rarity;
|
public ProductRarity Rarity;
|
||||||
}
|
}
|
||||||
public class BulkOrder : MonoBehaviour
|
public class BulkOrder : MonoBehaviour
|
||||||
{
|
{
|
||||||
public static readonly string DataTag = "BulkOrderData";
|
public static readonly string DataTag = "BulkOrderData";
|
||||||
public static readonly string CancelCallbackTag = "BulkOrderCancelCallback";
|
public static readonly string CancelCallbackTag = "BulkOrderCancelCallback";
|
||||||
|
public static readonly string AchievedCallbackTag = "BulkOrderAchievedCallback";
|
||||||
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
|
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
|
||||||
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
|
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
|
||||||
[SerializeField] private Animator backgroundAnimator;
|
[SerializeField] private Animator backgroundAnimator;
|
||||||
|
|
@ -49,7 +51,7 @@ public class BulkOrder : MonoBehaviour
|
||||||
messageText.text = messageList.First(data => data.id == gameData.OrderTextId).requestText;
|
messageText.text = messageList.First(data => data.id == gameData.OrderTextId).requestText;
|
||||||
coinText.text = bulkOrderData.rewardCoin.ToString();
|
coinText.text = bulkOrderData.rewardCoin.ToString();
|
||||||
heartText.text = bulkOrderData.rewardHeart.ToString();
|
heartText.text = bulkOrderData.rewardHeart.ToString();
|
||||||
// cache
|
|
||||||
LocalCacheManager.Save(DataTag, bulkOrderData);
|
LocalCacheManager.Save(DataTag, bulkOrderData);
|
||||||
cancelButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ =>
|
cancelButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ =>
|
||||||
{
|
{
|
||||||
|
|
@ -59,25 +61,80 @@ public class BulkOrder : MonoBehaviour
|
||||||
gameData.CancelOrderId = gameData.OrderIdInProgress;
|
gameData.CancelOrderId = gameData.OrderIdInProgress;
|
||||||
// カウントリセット
|
// カウントリセット
|
||||||
gameData.OrderConditionCount = 0;
|
gameData.OrderConditionCount = 0;
|
||||||
|
GameDataManager.SaveGameData();
|
||||||
TransitionManager.Instance.UnloadScene(GameScenes.BulkOrder);
|
// キャンセルと同時に閉じる
|
||||||
|
transform.parent.SetLocalScale(0);
|
||||||
|
backgroundAnimator.SetTrigger(CloseTrigger);
|
||||||
|
this.CallWaitForSeconds(.25f, () =>
|
||||||
|
{
|
||||||
|
TransitionManager.Instance.UnloadScene(GameScenes.BulkOrder);
|
||||||
|
});
|
||||||
}));
|
}));
|
||||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrderCancel);
|
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrderCancel);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
|
// 納品チェック
|
||||||
|
var orderList = new List<int>
|
||||||
|
{
|
||||||
|
bulkOrderData.productId1,
|
||||||
|
bulkOrderData.productId2,
|
||||||
|
bulkOrderData.productId3,
|
||||||
|
};
|
||||||
|
|
||||||
|
// 納品する
|
||||||
|
var achieved = gameData.CompletedOrderList.Count == orderList.Count(x => x != 0);
|
||||||
|
achievedObject.SetActive(achieved);
|
||||||
|
deliveredButton.interactable = achieved;
|
||||||
deliveredButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ =>
|
deliveredButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ =>
|
||||||
{
|
{
|
||||||
// カウントリセット
|
LocalCacheManager.Save(AchievedCallbackTag, new Action(() =>
|
||||||
gameData.OrderConditionCount = 0;
|
{
|
||||||
|
// 獲得
|
||||||
|
var rarityList = SpreadsheetDataManager.Instance.GetBaseDataList<RarityData>(Const.RarityDataSheet);
|
||||||
|
var bonus = CalcBonus(rarityList, gameData.CompletedOrderList, bulkOrderData.shopLevel);
|
||||||
|
gameData.Coin = CoinManager.Instance.OwnCoin;
|
||||||
|
CoinManager.Instance.AddCoinWithEffect(bulkOrderData.rewardCoin + bonus);
|
||||||
|
gameData.Heart += bulkOrderData.rewardHeart;
|
||||||
|
HeartMeter.Instance.AddHeart(bulkOrderData.rewardHeart);
|
||||||
|
|
||||||
|
// カウントリセット
|
||||||
|
gameData.OrderConditionCount = 0;
|
||||||
|
gameData.CurrentLevelOrderCount++;
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
Debug.Log($"current:{gameData.CurrentLevelOrderCount} max:{bulkOrderData.maxOrder}");
|
||||||
|
#endif
|
||||||
|
// オーダー上限を超えるとそのLevelでの注文終了
|
||||||
|
if (gameData.CurrentLevelOrderCount == bulkOrderData.maxOrder)
|
||||||
|
{
|
||||||
|
gameData.CurrentLevelOrderCount = 0;
|
||||||
|
gameData.AchievedOrderLevel = bulkOrderData.shopLevel;
|
||||||
|
}
|
||||||
|
GameDataManager.SaveGameData();
|
||||||
|
// キャンセルと同時に閉じる
|
||||||
|
transform.parent.SetLocalScale(0);
|
||||||
|
backgroundAnimator.SetTrigger(CloseTrigger);
|
||||||
|
this.CallWaitForSeconds(.25f, () =>
|
||||||
|
{
|
||||||
|
TransitionManager.Instance.UnloadScene(GameScenes.BulkOrder);
|
||||||
|
});
|
||||||
|
}));
|
||||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrderAchievement);
|
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrderAchievement);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
var productList = SpreadsheetDataManager.Instance.GetBaseDataList<ProductData>(Const.ProductDataSheet);
|
var productList = SpreadsheetDataManager.Instance.GetBaseDataList<ProductData>(Const.ProductDataSheet);
|
||||||
if (productList.FirstOrDefault(data => data.id == bulkOrderData.productId1) is ProductData data1)
|
if (productList.FirstOrDefault(data => data.id == bulkOrderData.productId1) is ProductData data1)
|
||||||
{
|
{
|
||||||
itemView1.SetData(data1, bulkOrderData.count1);
|
itemView1.SetData(data1, bulkOrderData.count1);
|
||||||
itemView1.SetButtonActive(itemView1.CheckAmount(data1));
|
itemView1.SetButtonActive(itemView1.CheckAmount(data1));
|
||||||
|
if (gameData.CompletedOrderList.FirstOrDefault(data => data.Number == 1) is BulkOrderResultData resultData)
|
||||||
|
{
|
||||||
|
itemView1.SetCooked(resultData.Rarity);
|
||||||
|
}
|
||||||
itemView1.gameObject.SetActive(true);
|
itemView1.gameObject.SetActive(true);
|
||||||
|
itemView1.CookingButton.ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ =>
|
||||||
|
{
|
||||||
|
gameData.CompletedOrderList.Add(new BulkOrderResultData(){Number = 1, Rarity = ProductRarity.Copper});
|
||||||
|
}).AddTo(itemView1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -87,6 +144,10 @@ public class BulkOrder : MonoBehaviour
|
||||||
{
|
{
|
||||||
itemView2.SetData(data2, bulkOrderData.count2);
|
itemView2.SetData(data2, bulkOrderData.count2);
|
||||||
itemView2.SetButtonActive(itemView2.CheckAmount(data2));
|
itemView2.SetButtonActive(itemView2.CheckAmount(data2));
|
||||||
|
if (gameData.CompletedOrderList.FirstOrDefault(data => data.Number == 2) is BulkOrderResultData resultData)
|
||||||
|
{
|
||||||
|
itemView2.SetCooked(resultData.Rarity);
|
||||||
|
}
|
||||||
itemView2.gameObject.SetActive(true);
|
itemView2.gameObject.SetActive(true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -97,6 +158,10 @@ public class BulkOrder : MonoBehaviour
|
||||||
{
|
{
|
||||||
itemView3.SetData(data3, bulkOrderData.count3);
|
itemView3.SetData(data3, bulkOrderData.count3);
|
||||||
itemView3.SetButtonActive(itemView3.CheckAmount(data3));
|
itemView3.SetButtonActive(itemView3.CheckAmount(data3));
|
||||||
|
if (gameData.CompletedOrderList.FirstOrDefault(data => data.Number == 3) is BulkOrderResultData resultData)
|
||||||
|
{
|
||||||
|
itemView3.SetCooked(resultData.Rarity);
|
||||||
|
}
|
||||||
itemView3.gameObject.SetActive(true);
|
itemView3.gameObject.SetActive(true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -104,4 +169,20 @@ public class BulkOrder : MonoBehaviour
|
||||||
itemView3.gameObject.SetActive(false);
|
itemView3.gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int CalcBonus(List<RarityData> rarityList, List<BulkOrderResultData> resultData, int shopLevel)
|
||||||
|
{
|
||||||
|
var totalBonus = 0;
|
||||||
|
var hasRarityList = resultData.Where(data => data.Rarity != ProductRarity.Normal).ToList();
|
||||||
|
if (hasRarityList.Count == 0)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
foreach (var progressData in hasRarityList)
|
||||||
|
{
|
||||||
|
var bonusRate = rarityList.FirstOrDefault(data => data.Rarity == progressData.Rarity)?.bulkOrderBonus ?? 0;
|
||||||
|
totalBonus += bonusRate * shopLevel;
|
||||||
|
}
|
||||||
|
return Mathf.CeilToInt((float) totalBonus / hasRarityList.Count);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,47 @@
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using UniRx;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
public class BulkOrderAchievedView : MonoBehaviour
|
public class BulkOrderAchievedView : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
|
||||||
|
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
|
||||||
|
[SerializeField] private Animator backgroundAnimator;
|
||||||
|
[SerializeField] private Button closeButton;
|
||||||
|
|
||||||
|
[SerializeField] private Text heartText;
|
||||||
|
[SerializeField] private Text coinText;
|
||||||
|
[SerializeField] private Text bonusCoinText;
|
||||||
|
[SerializeField] private Text messageText;
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
if (LocalCacheManager.Load<BulkOrderData>(BulkOrder.DataTag, null) is BulkOrderData orderData)
|
||||||
|
{
|
||||||
|
var gameData = GameDataManager.GameData;
|
||||||
|
var messageList = SpreadsheetDataManager.Instance.GetBaseDataList<BulkOrderTextData>(Const.BulkOrderTextDataSheet);
|
||||||
|
var rarityList = SpreadsheetDataManager.Instance.GetBaseDataList<RarityData>(Const.RarityDataSheet);
|
||||||
|
var bonus = BulkOrder.CalcBonus(rarityList, gameData.CompletedOrderList, orderData.shopLevel);
|
||||||
|
heartText.text = orderData.rewardHeart.ToString();
|
||||||
|
coinText.text = orderData.rewardCoin.ToString();
|
||||||
|
bonusCoinText.text = bonus.ToString();
|
||||||
|
messageText.text = messageList.First(data => data.id == gameData.OrderTextId).thanksText;
|
||||||
|
}
|
||||||
|
closeButton.OnClickAsObservable().Subscribe(_ =>
|
||||||
|
{
|
||||||
|
if (LocalCacheManager.Load<Action>(BulkOrder.AchievedCallbackTag, null) is Action callback)
|
||||||
|
{
|
||||||
|
callback.Invoke();
|
||||||
|
}
|
||||||
|
transform.parent.SetLocalScale(0);
|
||||||
|
backgroundAnimator.SetTrigger(CloseTrigger);
|
||||||
|
this.CallWaitForSeconds(.25f, () =>
|
||||||
|
{
|
||||||
|
TransitionManager.Instance.UnloadScene(GameScenes.BulkOrderAchievement);
|
||||||
|
TransitionManager.Instance.UnloadScene(GameScenes.BulkOrder);
|
||||||
|
});
|
||||||
|
}).AddTo(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ using UnityEngine.UI;
|
||||||
|
|
||||||
public class KitchenManager : MonoBehaviour
|
public class KitchenManager : MonoBehaviour
|
||||||
{
|
{
|
||||||
public static readonly string CancelCallbackTag = "BulkOrderCancelCallback";
|
public static readonly string CancelCallbackTag = "KitchenCancelCallback";
|
||||||
[SerializeField] private Button cookingButton;
|
[SerializeField] private Button cookingButton;
|
||||||
[SerializeField] private Button adButton;
|
[SerializeField] private Button adButton;
|
||||||
[SerializeField] private KitchenView kitchenView;
|
[SerializeField] private KitchenView kitchenView;
|
||||||
|
|
@ -62,6 +62,7 @@ public class KitchenManager : MonoBehaviour
|
||||||
orderIndicatorView.TappedPhone.ThrottleFirst(TimeSpan.FromSeconds(1f)).Take(1).Subscribe(_ =>
|
orderIndicatorView.TappedPhone.ThrottleFirst(TimeSpan.FromSeconds(1f)).Take(1).Subscribe(_ =>
|
||||||
{
|
{
|
||||||
// タップで更新
|
// タップで更新
|
||||||
|
gameData.CompletedOrderList.Clear();
|
||||||
gameData.OrderIdInProgress = result.nextOrderId;
|
gameData.OrderIdInProgress = result.nextOrderId;
|
||||||
if (nextMessageList.Exists(data => data.id == gameData.OrderTextId))
|
if (nextMessageList.Exists(data => data.id == gameData.OrderTextId))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ public class ProductManagement : MonoBehaviour
|
||||||
Action<int> purchaseAction = amount =>
|
Action<int> purchaseAction = amount =>
|
||||||
{
|
{
|
||||||
// タンク追加
|
// タンク追加
|
||||||
gameData.StorageTanks.Add(new StorageTank() {Id = tankView.TankNumber, Capacity = 50});
|
gameData.StorageTanks.Add(new StorageTank() {Capacity = 50});
|
||||||
tankView.SetData(gameData.StorageTanks[tankView.TankNumber - 1]);
|
tankView.SetData(gameData.StorageTanks[tankView.TankNumber - 1]);
|
||||||
tankView.SetState(TankState.Unlock);
|
tankView.SetState(TankState.Unlock);
|
||||||
CoinManager.Instance.SubCoin(shopData.price);
|
CoinManager.Instance.SubCoin(shopData.price);
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ using UnityEngine;
|
||||||
public class StorageTank
|
public class StorageTank
|
||||||
{
|
{
|
||||||
// タンクID, タンク内のフレーバーID, フレーバーの個数
|
// タンクID, タンク内のフレーバーID, フレーバーの個数
|
||||||
public int Id;
|
|
||||||
public int Capacity;
|
public int Capacity;
|
||||||
public int FlavorId;
|
public int FlavorId;
|
||||||
public int Stock
|
public int Stock
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ public class CoinManager : SingletonMonoBehaviour<CoinManager>
|
||||||
coinCountText.CountUpAnimation(coinTextFormat, ownCoin, duration);
|
coinCountText.CountUpAnimation(coinTextFormat, ownCoin, duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddCoinWithEffect(int count, Action callback)
|
public void AddCoinWithEffect(int count, Action callback = null)
|
||||||
{
|
{
|
||||||
ownCoin += count;
|
ownCoin += count;
|
||||||
// 生成枚数決定
|
// 生成枚数決定
|
||||||
|
|
@ -48,7 +48,7 @@ public class CoinManager : SingletonMonoBehaviour<CoinManager>
|
||||||
InstantiateEffeect(coinPrefab, count, Vector3.zero, coinIconTransform.position, () =>
|
InstantiateEffeect(coinPrefab, count, Vector3.zero, coinIconTransform.position, () =>
|
||||||
{
|
{
|
||||||
coinCountText.CountUpAnimation(coinTextFormat, ownCoin, duration);
|
coinCountText.CountUpAnimation(coinTextFormat, ownCoin, duration);
|
||||||
callback.Invoke();
|
callback?.Invoke();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -102,9 +102,9 @@ public sealed class GameData {
|
||||||
|
|
||||||
// [DataMember(Name = "Data27")]
|
// [DataMember(Name = "Data27")]
|
||||||
|
|
||||||
|
// BulkOrder
|
||||||
[DataMember(Name = "Data28")]
|
[DataMember(Name = "Data28")]
|
||||||
public int OrderIdInProgress;
|
public int OrderIdInProgress;
|
||||||
|
|
||||||
[DataMember(Name = "Data29")]
|
[DataMember(Name = "Data29")]
|
||||||
public int OrderTextId;
|
public int OrderTextId;
|
||||||
[DataMember(Name = "Data30")]
|
[DataMember(Name = "Data30")]
|
||||||
|
|
@ -113,9 +113,10 @@ public sealed class GameData {
|
||||||
public int CancelOrderId;
|
public int CancelOrderId;
|
||||||
[DataMember(Name = "Data32")]
|
[DataMember(Name = "Data32")]
|
||||||
public int AchievedOrderLevel;
|
public int AchievedOrderLevel;
|
||||||
// 進捗
|
|
||||||
[DataMember(Name = "Data33")]
|
[DataMember(Name = "Data33")]
|
||||||
public List<BulkOrderProgressData> OrderProgressList;
|
public List<BulkOrderResultData> CompletedOrderList;
|
||||||
|
[DataMember(Name = "Data34")]
|
||||||
|
public int CurrentLevelOrderCount;
|
||||||
|
|
||||||
// mission
|
// mission
|
||||||
[DataMember(Name = "Data1001")]
|
[DataMember(Name = "Data1001")]
|
||||||
|
|
@ -207,6 +208,15 @@ public sealed class GameData {
|
||||||
{
|
{
|
||||||
MyRecipes = new[] {Const.DefaultRecipeId};
|
MyRecipes = new[] {Const.DefaultRecipeId};
|
||||||
}
|
}
|
||||||
|
if (StorageTanks.Count < 1)
|
||||||
|
{
|
||||||
|
StorageTanks.Add(new StorageTank
|
||||||
|
{
|
||||||
|
Capacity = 50,
|
||||||
|
FlavorId = -1,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
if (Pans.Length < 1)
|
if (Pans.Length < 1)
|
||||||
{
|
{
|
||||||
Pans = new[] {Const.DefaultPanId};
|
Pans = new[] {Const.DefaultPanId};
|
||||||
|
|
@ -221,10 +231,11 @@ public sealed class GameData {
|
||||||
MyRecipes = MyRecipes ?? new int[0];
|
MyRecipes = MyRecipes ?? new int[0];
|
||||||
Material = Material ?? new List<MaterialData>();
|
Material = Material ?? new List<MaterialData>();
|
||||||
ShopStock = ShopStock ?? new List<ProductStockData>();
|
ShopStock = ShopStock ?? new List<ProductStockData>();
|
||||||
|
StorageTanks = StorageTanks ?? new List<StorageTank>();
|
||||||
Pans = Pans ?? new int[0];
|
Pans = Pans ?? new int[0];
|
||||||
TotalSalesList = TotalSalesList ?? new List<ProductStockData>();
|
TotalSalesList = TotalSalesList ?? new List<ProductStockData>();
|
||||||
AchievedMission = achievedMission?.ToList() ?? new List<int>();
|
AchievedMission = achievedMission?.ToList() ?? new List<int>();
|
||||||
OrderProgressList = OrderProgressList ?? new List<BulkOrderProgressData>();
|
CompletedOrderList = CompletedOrderList ?? new List<BulkOrderResultData>();
|
||||||
}
|
}
|
||||||
private Dictionary<int, int> ArrayToDictionary(KeyValueOfintint[] array){
|
private Dictionary<int, int> ArrayToDictionary(KeyValueOfintint[] array){
|
||||||
var dictionary = new Dictionary<int, int>();
|
var dictionary = new Dictionary<int, int>();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue