畑強化にDetail表示/購入処理追加
This commit is contained in:
parent
2a95ed4bb6
commit
a61d9dc051
|
|
@ -440,6 +440,7 @@ GameObject:
|
|||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3910593344630799909}
|
||||
- component: {fileID: 4805744652131432394}
|
||||
m_Layer: 5
|
||||
m_Name: Seedling_change
|
||||
m_TagString: Untagged
|
||||
|
|
@ -472,6 +473,21 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: -160, y: 41}
|
||||
m_SizeDelta: {x: 200, y: 220}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &4805744652131432394
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3910593344630799910}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7e220d0668504fe99a65270586553f5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
rank1Seedling: {fileID: 2760069770662828715}
|
||||
rank2Seedling: {fileID: 8792014694231266041}
|
||||
rank3Seedling: {fileID: 1680596136379924953}
|
||||
--- !u!1 &5208769480954757392
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ RectTransform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 884928058}
|
||||
m_RootOrder: 1
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
|
@ -377,7 +377,7 @@ RectTransform:
|
|||
- {fileID: 944967793}
|
||||
- {fileID: 653404266}
|
||||
m_Father: {fileID: 884928058}
|
||||
m_RootOrder: 2
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
|
@ -472,6 +472,62 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 745458275}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &791576057
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 791576059}
|
||||
- component: {fileID: 791576058}
|
||||
m_Layer: 0
|
||||
m_Name: Manager
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &791576058
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 791576057}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7ea6a373109a42b3871edbabeb578799, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
backgroundAnimator: {fileID: 826335515}
|
||||
purchaseButton: {fileID: 1192264083}
|
||||
releaseButton: {fileID: 865761136}
|
||||
closeButton: {fileID: 1130921226}
|
||||
ReinforceObject: {fileID: 1937871401}
|
||||
ReleaseObject: {fileID: 944967792}
|
||||
currentSeedling: {fileID: 3910593343511446857}
|
||||
nextSeedling: {fileID: 1480555406}
|
||||
currentSignBoard: {fileID: 3910593343511446856}
|
||||
nextSignBoard: {fileID: 1480555405}
|
||||
messageText: {fileID: 1977897798}
|
||||
reinforcePriceText: {fileID: 1565131239}
|
||||
releasePriceText: {fileID: 1133773169}
|
||||
--- !u!4 &791576059
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 791576057}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 917.4497, y: 1390.5071, z: -105.66776}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &826335513
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -498,11 +554,11 @@ RectTransform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 826335513}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 884928058}
|
||||
m_Father: {fileID: 2144327477}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
|
|
@ -712,11 +768,10 @@ RectTransform:
|
|||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 826335514}
|
||||
- {fileID: 308891213}
|
||||
- {fileID: 698470367}
|
||||
m_Father: {fileID: 2144327477}
|
||||
m_RootOrder: 0
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
|
@ -1627,6 +1682,30 @@ RectTransform:
|
|||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1480555403}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &1480555405 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 3910593342547943749, guid: 355bec1b0368b6a46bb3d3e15151d133,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1480555403}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &1480555406 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 4805744652131432394, guid: 355bec1b0368b6a46bb3d3e15151d133,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1480555403}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7e220d0668504fe99a65270586553f5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1546700151
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -2147,6 +2226,7 @@ RectTransform:
|
|||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_Children:
|
||||
- {fileID: 826335514}
|
||||
- {fileID: 884928058}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
|
|
@ -2273,5 +2353,34 @@ PrefabInstance:
|
|||
propertyPath: m_Name
|
||||
value: Seedling
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3910593344630799910, guid: 355bec1b0368b6a46bb3d3e15151d133,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 355bec1b0368b6a46bb3d3e15151d133, type: 3}
|
||||
--- !u!114 &3910593343511446856 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 3910593342547943749, guid: 355bec1b0368b6a46bb3d3e15151d133,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 3910593343511446855}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &3910593343511446857 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 4805744652131432394, guid: 355bec1b0368b6a46bb3d3e15151d133,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 3910593343511446855}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7e220d0668504fe99a65270586553f5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
|
|
|
|||
|
|
@ -7,21 +7,36 @@ using UnityEngine.UI;
|
|||
|
||||
public class CornFieldReinforcement : MonoBehaviour
|
||||
{
|
||||
public static readonly string CornFieldReinforcementDataTypeTag = "CornFieldReinforcementDataType";
|
||||
public static readonly string CornFieldReinforcementDataTag = "CornFieldReinforcementData";
|
||||
[SerializeField] private List<CornFieldReinforcementView> reinforcementViews;
|
||||
[SerializeField] private MachineUpgradeView machineUpgradeView;
|
||||
[SerializeField] private Button closeButton;
|
||||
|
||||
private CompositeDisposable compositeDisposable = new CompositeDisposable();
|
||||
|
||||
private void Start()
|
||||
{
|
||||
compositeDisposable.AddTo(this);
|
||||
closeButton.OnClickAsObservable().Subscribe(_ =>
|
||||
{
|
||||
TransitionManager.Instance.UnloadScene(GameScenes.Reinforcement);
|
||||
LocalCacheManager.Remove(CornFieldReinforcementDataTypeTag);
|
||||
LocalCacheManager.Remove(CornFieldReinforcementDataTag);
|
||||
}).AddTo(this);
|
||||
SetView();
|
||||
}
|
||||
|
||||
private void SetView()
|
||||
{
|
||||
compositeDisposable.Clear();
|
||||
var gameData = GameDataManager.GameData;
|
||||
var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet);
|
||||
|
||||
// 畑
|
||||
foreach (var view in reinforcementViews)
|
||||
{
|
||||
var upgradeType = FieldUpgradeData.PlantTypeToUpgradeType(view.LineType);
|
||||
if (gameData.PlantLineDataList.FirstOrDefault(x => x.Type == view.LineType) is PlantLineData lineData)
|
||||
{
|
||||
// Max
|
||||
|
|
@ -31,18 +46,41 @@ public class CornFieldReinforcement : MonoBehaviour
|
|||
}
|
||||
else
|
||||
{
|
||||
var nextHarvestPrice = fieldData.FirstOrDefault(x => x.Type == x.PlantTypeToUpgradeType(lineData.Type) && x.level == (int)GetNextRank(lineData.Level))?.price ?? 1;
|
||||
view.SetButtonActive(nextHarvestPrice <= CoinManager.Instance.OwnCoin);
|
||||
view.SetReinforcement(lineData, nextHarvestPrice);
|
||||
var nextRank = GetNextRank(lineData.Level);
|
||||
var price = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)nextRank)?.price ?? 1;
|
||||
view.SetButtonActive(price <= CoinManager.Instance.OwnCoin);
|
||||
view.SetReinforcement(lineData, price);
|
||||
// 購入ボタン
|
||||
view.ButtonClickObserve.Subscribe(_ =>
|
||||
{
|
||||
LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, upgradeType);
|
||||
LocalCacheManager.Save(CornFieldReinforcementDataTag, (lineData, price, new Action(() => {
|
||||
PurchaseField(price, view.LineType, nextRank);
|
||||
SetView();
|
||||
})));
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.ReinforcementDetail);
|
||||
}).AddTo(compositeDisposable);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var price = fieldData.FirstOrDefault(x => x.Type == x.PlantTypeToUpgradeType(view.LineType) && x.level == (int)CornFieldRank.Rank1)?.price ?? 1;
|
||||
var price = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)CornFieldRank.Rank1)?.price ?? 1;
|
||||
view.SetButtonActive(price <= CoinManager.Instance.OwnCoin);
|
||||
view.SetRelease(price);
|
||||
// 購入ボタン
|
||||
view.ButtonClickObserve.Subscribe(_ =>
|
||||
{
|
||||
LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, upgradeType);
|
||||
LocalCacheManager.Save(CornFieldReinforcementDataTag, (lineData = null, price, new Action(() => {
|
||||
PurchaseField(price, view.LineType, CornFieldRank.Rank1);
|
||||
SetView();
|
||||
})));
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.ReinforcementDetail);
|
||||
}).AddTo(compositeDisposable);
|
||||
}
|
||||
}
|
||||
|
||||
// 収穫機
|
||||
// Max
|
||||
var maxLevel = fieldData.Where(x => x.Type == CornFieldUpgradeType.Machine).Max(x => x.level);
|
||||
if (gameData.MachineLevel == maxLevel)
|
||||
|
|
@ -51,11 +89,46 @@ public class CornFieldReinforcement : MonoBehaviour
|
|||
}
|
||||
else
|
||||
{
|
||||
var nextMachinePrice = fieldData.FirstOrDefault(x => x.Type == CornFieldUpgradeType.Machine && x.level == gameData.MachineLevel + 1)?.price ?? 1;
|
||||
machineUpgradeView.SetButtonActive(nextMachinePrice <= CoinManager.Instance.OwnCoin);
|
||||
machineUpgradeView.SetData(gameData.MachineLevel, nextMachinePrice);
|
||||
var price = fieldData.FirstOrDefault(x => x.Type == CornFieldUpgradeType.Machine && x.level == gameData.MachineLevel + 1)?.price ?? 1;
|
||||
machineUpgradeView.SetButtonActive(price <= CoinManager.Instance.OwnCoin);
|
||||
machineUpgradeView.SetData(gameData.MachineLevel, price);
|
||||
// 購入ボタン
|
||||
machineUpgradeView.ButtonClickObserve.Subscribe(_ =>
|
||||
{
|
||||
LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, CornFieldUpgradeType.Machine);
|
||||
LocalCacheManager.Save(CornFieldReinforcementDataTag, (gameData.MachineLevel, price, new Action(() => {
|
||||
PurchaseMachine(price);
|
||||
SetView();
|
||||
})));
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.ReinforcementDetail);
|
||||
}).AddTo(compositeDisposable);
|
||||
}
|
||||
}
|
||||
|
||||
private void PurchaseField(int price, PlantLineType type, CornFieldRank nextRank)
|
||||
{
|
||||
var gameData = GameDataManager.GameData;
|
||||
if (gameData.PlantLineDataList.FirstOrDefault(x => x.Type == type) is PlantLineData lineData)
|
||||
{
|
||||
lineData.Level = nextRank;
|
||||
}
|
||||
else
|
||||
{
|
||||
gameData.PlantLineDataList.Add(new PlantLineData(type, CornFieldRank.Rank1));
|
||||
}
|
||||
CoinManager.Instance.SubCoin(price);
|
||||
gameData.coin = CoinManager.Instance.OwnCoin;
|
||||
GameDataManager.SaveGameData();
|
||||
}
|
||||
|
||||
private void PurchaseMachine(int price)
|
||||
{
|
||||
var gameData = GameDataManager.GameData;
|
||||
gameData.MachineLevel++;
|
||||
CoinManager.Instance.SubCoin(price);
|
||||
gameData.coin = CoinManager.Instance.OwnCoin;
|
||||
GameDataManager.SaveGameData();
|
||||
}
|
||||
|
||||
public static CornFieldRank GetNextRank(CornFieldRank rank)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -0,0 +1,107 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using TMPro;
|
||||
using UniRx;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class CornFieldReinforcementDetailView : MonoBehaviour
|
||||
{
|
||||
private static readonly string ReinforceFormat = "強化しますか?";
|
||||
private static readonly string ReleaseFormat = "開放しますか?";
|
||||
private static readonly string SigbBoardFormat = "x{0}";
|
||||
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
|
||||
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
|
||||
|
||||
[SerializeField] private Animator backgroundAnimator;
|
||||
[SerializeField] private Button purchaseButton;
|
||||
[SerializeField] private Button releaseButton;
|
||||
[SerializeField] private Button closeButton;
|
||||
[SerializeField] private GameObject ReinforceObject;
|
||||
[SerializeField] private GameObject ReleaseObject;
|
||||
[SerializeField] private ReinforcementSeedlingView currentSeedling;
|
||||
[SerializeField] private ReinforcementSeedlingView nextSeedling;
|
||||
[SerializeField] private TextMeshProUGUI currentSignBoard;
|
||||
[SerializeField] private TextMeshProUGUI nextSignBoard;
|
||||
[SerializeField] private Text messageText;
|
||||
[SerializeField] private Text reinforcePriceText;
|
||||
[SerializeField] private Text releasePriceText;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
Action callback;
|
||||
var upgradeType = LocalCacheManager.Load<CornFieldUpgradeType>(CornFieldReinforcement.CornFieldReinforcementDataTypeTag);
|
||||
Debug.Log(upgradeType);
|
||||
switch (upgradeType)
|
||||
{
|
||||
case CornFieldUpgradeType.FieldTop:
|
||||
case CornFieldUpgradeType.FieldCenter:
|
||||
case CornFieldUpgradeType.FieldBottom:
|
||||
var (data, price, fieldCallback) = LocalCacheManager.Load<(PlantLineData, int, Action)>(CornFieldReinforcement.CornFieldReinforcementDataTag);
|
||||
callback = fieldCallback;
|
||||
SetFieldData(data, price);
|
||||
break;
|
||||
case CornFieldUpgradeType.Machine:
|
||||
var (machineLevel, machinePrice, machineCallback) = LocalCacheManager.Load<(int, int, Action)>(CornFieldReinforcement.CornFieldReinforcementDataTag);
|
||||
SetMachineData(machineLevel, machinePrice);
|
||||
callback = machineCallback;
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
closeButton.OnClickAsObservable().Subscribe(_ =>
|
||||
{
|
||||
transform.SetLocalScale(0);
|
||||
backgroundAnimator.SetTrigger(CloseTrigger);
|
||||
this.CallWaitForSeconds(.25f, () =>
|
||||
{
|
||||
TransitionManager.Instance.UnloadScene(GameScenes.ReinforcementDetail);
|
||||
});
|
||||
}).AddTo(this);
|
||||
purchaseButton.OnClickAsObservable()
|
||||
.Merge(releaseButton.OnClickAsObservable())
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
// 購入処理
|
||||
callback?.Invoke();
|
||||
transform.SetLocalScale(0);
|
||||
backgroundAnimator.SetTrigger(CloseTrigger);
|
||||
this.CallWaitForSeconds(.25f, () =>
|
||||
{
|
||||
TransitionManager.Instance.UnloadScene(GameScenes.ReinforcementDetail);
|
||||
});
|
||||
}).AddTo(this);
|
||||
}
|
||||
|
||||
private void SetFieldData(PlantLineData data, int price)
|
||||
{
|
||||
if (data is null)
|
||||
{
|
||||
ReinforceObject.SetActive(false);
|
||||
ReleaseObject.SetActive(true);
|
||||
releasePriceText.text = price.ToString();
|
||||
messageText.text = ReleaseFormat;
|
||||
}
|
||||
else
|
||||
{
|
||||
ReinforceObject.SetActive(true);
|
||||
ReleaseObject.SetActive(false);
|
||||
reinforcePriceText.text = price.ToString();
|
||||
var nextRank = CornFieldReinforcement.GetNextRank(data.Level);
|
||||
var upgradeType = FieldUpgradeData.PlantTypeToUpgradeType(data.Type);
|
||||
var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet);
|
||||
var currentHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)data.Level)?.harvested ?? 1;
|
||||
var nextHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)nextRank)?.harvested ?? 1;
|
||||
currentSeedling.SetSeedling(data.Level);
|
||||
currentSignBoard.text = string.Format(SigbBoardFormat, currentHarvestCount);
|
||||
nextSeedling.SetSeedling(nextRank);
|
||||
nextSignBoard.text = string.Format(SigbBoardFormat, nextHarvestCount);
|
||||
messageText.text = ReinforceFormat;
|
||||
}
|
||||
}
|
||||
private void SetMachineData(int machineLevel, int price)
|
||||
{
|
||||
ReinforceObject.SetActive(false);
|
||||
ReleaseObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7ea6a373109a42b3871edbabeb578799
|
||||
timeCreated: 1632815406
|
||||
|
|
@ -27,24 +27,17 @@ public class CornFieldReinforcementView : MonoBehaviour
|
|||
[SerializeField] private Text reinforcePriceText;
|
||||
[SerializeField] private Text releasePriceText;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
dialogButton.OnClickAsObservable()
|
||||
.Merge(dialogButton2.OnClickAsObservable())
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.ReinforcementDetail);
|
||||
}).AddTo(this);
|
||||
}
|
||||
public IObservable<Unit> ButtonClickObserve => dialogButton.OnClickAsObservable().Merge(dialogButton2.OnClickAsObservable()).TakeUntilDestroy(this);
|
||||
|
||||
public void SetReinforcement(PlantLineData data, int price)
|
||||
{
|
||||
reinforcementWindow.SetActive(true);
|
||||
releaseWindow.SetActive(false);
|
||||
var nextRank = CornFieldReinforcement.GetNextRank(data.Level);
|
||||
var upgradeType = FieldUpgradeData.PlantTypeToUpgradeType(data.Type);
|
||||
var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet);
|
||||
var currentHarvestCount = fieldData.FirstOrDefault(x => x.Type == x.PlantTypeToUpgradeType(data.Type) && x.level == (int)data.Level)?.harvested ?? 1;
|
||||
var nextHarvestCount = fieldData.FirstOrDefault(x => x.Type == x.PlantTypeToUpgradeType(data.Type) && x.level == (int)nextRank)?.harvested ?? 1;
|
||||
var currentHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)data.Level)?.harvested ?? 1;
|
||||
var nextHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)nextRank)?.harvested ?? 1;
|
||||
reinforcePriceText.text = price.ToString();
|
||||
currentSeedling.SetSeedling(data.Level);
|
||||
currentSignBoard.text = string.Format(SigbBoardFormat, currentHarvestCount);
|
||||
|
|
|
|||
|
|
@ -12,15 +12,8 @@ public class MachineUpgradeView : MonoBehaviour
|
|||
[SerializeField] private Text nextHarvestedText;
|
||||
[SerializeField] private Button dialogButton;
|
||||
[SerializeField] private GameObject disableButton;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
dialogButton.OnClickAsObservable()
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.ReinforcementDetail);
|
||||
}).AddTo(this);
|
||||
}
|
||||
|
||||
public IObservable<Unit> ButtonClickObserve => dialogButton.OnClickAsObservable().TakeUntilDestroy(this);
|
||||
|
||||
public void SetData(int level, int price)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ public sealed class FieldUpgradeData
|
|||
public int price;
|
||||
public int harvested;
|
||||
public CornFieldUpgradeType Type => (CornFieldUpgradeType) type;
|
||||
public CornFieldUpgradeType PlantTypeToUpgradeType(PlantLineType lineType)
|
||||
public static CornFieldUpgradeType PlantTypeToUpgradeType(PlantLineType lineType)
|
||||
{
|
||||
switch (lineType)
|
||||
{
|
||||
|
|
@ -73,7 +73,7 @@ public sealed class FieldUpgradeData
|
|||
case PlantLineType.Bottom:
|
||||
return CornFieldUpgradeType.FieldBottom;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(type), type, null);
|
||||
throw new ArgumentOutOfRangeException(nameof(lineType), lineType, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue