畑強化のデータ対応

This commit is contained in:
kimura 2022-10-07 20:13:57 +09:00
parent 290027f4ea
commit 650be5af17
5 changed files with 25 additions and 11 deletions

View File

@ -291,6 +291,8 @@ public class CornField : MonoBehaviour
compositeDisposable.Clear(); compositeDisposable.Clear();
var gameData = GameDataManager.GameData; var gameData = GameDataManager.GameData;
var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet); var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet);
var tmpFieldData = fieldData.Where(data => data.cityId == GameDataManager.GameData.CurrentCityId).ToList();
fieldData = tmpFieldData.Count > 0 ? tmpFieldData : fieldData.Where(data => data.cityId == 0).ToList();
var machineList = fieldData.Where(data => data.Type == CornFieldUpgradeType.Machine); var machineList = fieldData.Where(data => data.Type == CornFieldUpgradeType.Machine);
cornHarvester.SetMachine(machineList.First(data => data.level == gameData.MachineLevel).GetPrefab()); cornHarvester.SetMachine(machineList.First(data => data.level == gameData.MachineLevel).GetPrefab());

View File

@ -34,6 +34,8 @@ public class CornFieldReinforcement : MonoBehaviour
compositeDisposable.Clear(); compositeDisposable.Clear();
var gameData = GameDataManager.GameData; var gameData = GameDataManager.GameData;
var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet); var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet);
var tmpFieldData = fieldData.Where(data => data.cityId == GameDataManager.GameData.CurrentCityId).ToList();
fieldData = tmpFieldData.Count > 0 ? tmpFieldData : fieldData.Where(data => data.cityId == 0).ToList();
// 畑 // 畑
foreach (var view in reinforcementViews) foreach (var view in reinforcementViews)

View File

@ -82,9 +82,9 @@ public class CornFieldReinforcementDetailView : MonoBehaviour
}).AddTo(this); }).AddTo(this);
} }
private void SetFieldData(PlantLineData data, int price) private void SetFieldData(PlantLineData lineData, int price)
{ {
if (data is null) if (lineData is null)
{ {
reinforceObject.SetActive(false); reinforceObject.SetActive(false);
releaseObject.SetActive(true); releaseObject.SetActive(true);
@ -102,12 +102,14 @@ public class CornFieldReinforcementDetailView : MonoBehaviour
releaseButton.gameObject.SetActive(false); releaseButton.gameObject.SetActive(false);
machineObject.SetActive(false); machineObject.SetActive(false);
reinforcePriceText.text = price.ToString(); reinforcePriceText.text = price.ToString();
var nextRank = CornFieldReinforcement.GetNextRank(data.Level); var nextRank = CornFieldReinforcement.GetNextRank(lineData.Level);
var upgradeType = FieldUpgradeData.PlantTypeToUpgradeType(data.Type); var upgradeType = FieldUpgradeData.PlantTypeToUpgradeType(lineData.Type);
var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet); var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet);
var currentHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)data.Level)?.harvested ?? 1; var tmpFieldData = fieldData.Where(data => data.cityId == GameDataManager.GameData.CurrentCityId).ToList();
fieldData = tmpFieldData.Count > 0 ? tmpFieldData : fieldData.Where(data => data.cityId == 0).ToList();
var currentHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)lineData.Level)?.harvested ?? 1;
var nextHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)nextRank)?.harvested ?? 1; var nextHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)nextRank)?.harvested ?? 1;
currentSeedling.SetSeedling(data.Level); currentSeedling.SetSeedling(lineData.Level);
currentSignBoard.text = string.Format(SigbBoardFormat, currentHarvestCount); currentSignBoard.text = string.Format(SigbBoardFormat, currentHarvestCount);
nextSeedling.SetSeedling(nextRank); nextSeedling.SetSeedling(nextRank);
nextSignBoard.text = string.Format(SigbBoardFormat, nextHarvestCount); nextSignBoard.text = string.Format(SigbBoardFormat, nextHarvestCount);
@ -122,6 +124,8 @@ public class CornFieldReinforcementDetailView : MonoBehaviour
purchaseButton.gameObject.SetActive(true); purchaseButton.gameObject.SetActive(true);
releaseButton.gameObject.SetActive(false); releaseButton.gameObject.SetActive(false);
var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet); var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet);
var tmpFieldData = fieldData.Where(data => data.cityId == GameDataManager.GameData.CurrentCityId).ToList();
fieldData = tmpFieldData.Count > 0 ? tmpFieldData : fieldData.Where(data => data.cityId == 0).ToList();
var machineList = fieldData.Where(data => data.Type == CornFieldUpgradeType.Machine).ToList(); var machineList = fieldData.Where(data => data.Type == CornFieldUpgradeType.Machine).ToList();
var currentMachineData = machineList.FirstOrDefault(data => data.level == machineLevel); var currentMachineData = machineList.FirstOrDefault(data => data.level == machineLevel);
var nextMachineData = machineList.FirstOrDefault(data => data.level == machineLevel + 1); var nextMachineData = machineList.FirstOrDefault(data => data.level == machineLevel + 1);

View File

@ -29,18 +29,20 @@ public class CornFieldReinforcementView : MonoBehaviour
public IObservable<Unit> ButtonClickObserve => dialogButton.OnClickAsObservable().Merge(dialogButton2.OnClickAsObservable()).TakeUntilDestroy(this); public IObservable<Unit> ButtonClickObserve => dialogButton.OnClickAsObservable().Merge(dialogButton2.OnClickAsObservable()).TakeUntilDestroy(this);
public void SetReinforcement(PlantLineData data, int price) public void SetReinforcement(PlantLineData lineData, int price)
{ {
reinforcementWindow.SetActive(true); reinforcementWindow.SetActive(true);
releaseWindow.SetActive(false); releaseWindow.SetActive(false);
maxWindow.SetActive(false); maxWindow.SetActive(false);
var nextRank = CornFieldReinforcement.GetNextRank(data.Level); var nextRank = CornFieldReinforcement.GetNextRank(lineData.Level);
var upgradeType = FieldUpgradeData.PlantTypeToUpgradeType(data.Type); var upgradeType = FieldUpgradeData.PlantTypeToUpgradeType(lineData.Type);
var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet); var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet);
var currentHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)data.Level)?.harvested ?? 1; var tmpFieldData = fieldData.Where(data => data.cityId == GameDataManager.GameData.CurrentCityId).ToList();
fieldData = tmpFieldData.Count > 0 ? tmpFieldData : fieldData.Where(data => data.cityId == 0).ToList();
var currentHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)lineData.Level)?.harvested ?? 1;
var nextHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)nextRank)?.harvested ?? 1; var nextHarvestCount = fieldData.FirstOrDefault(x => x.Type == upgradeType && x.level == (int)nextRank)?.harvested ?? 1;
reinforcePriceText.text = price.ToString(); reinforcePriceText.text = price.ToString();
currentSeedling.SetSeedling(data.Level); currentSeedling.SetSeedling(lineData.Level);
currentSignBoard.text = string.Format(SigbBoardFormat, currentHarvestCount); currentSignBoard.text = string.Format(SigbBoardFormat, currentHarvestCount);
nextSeedling.SetSeedling(nextRank); nextSeedling.SetSeedling(nextRank);
nextSignBoard.text = string.Format(SigbBoardFormat, nextHarvestCount); nextSignBoard.text = string.Format(SigbBoardFormat, nextHarvestCount);

View File

@ -24,6 +24,8 @@ public class MachineUpgradeView : MonoBehaviour
{ {
maxWindow.SetActive(false); maxWindow.SetActive(false);
var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet); var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet);
var tmpFieldData = fieldData.Where(data => data.cityId == GameDataManager.GameData.CurrentCityId).ToList();
fieldData = tmpFieldData.Count > 0 ? tmpFieldData : fieldData.Where(data => data.cityId == 0).ToList();
var machineList = fieldData.Where(data => data.Type == CornFieldUpgradeType.Machine).ToList(); var machineList = fieldData.Where(data => data.Type == CornFieldUpgradeType.Machine).ToList();
var currentMachineData = machineList.FirstOrDefault(data => data.level == level); var currentMachineData = machineList.FirstOrDefault(data => data.level == level);
var nextMachineData = machineList.FirstOrDefault(data => data.level == level + 1); var nextMachineData = machineList.FirstOrDefault(data => data.level == level + 1);
@ -42,6 +44,8 @@ public class MachineUpgradeView : MonoBehaviour
{ {
maxWindow.SetActive(true); maxWindow.SetActive(true);
var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet); var fieldData = SpreadsheetDataManager.Instance.GetBaseDataList<FieldUpgradeData>(Const.FieldUpgradeDataSheet);
var tmpFieldData = fieldData.Where(data => data.cityId == GameDataManager.GameData.CurrentCityId).ToList();
fieldData = tmpFieldData.Count > 0 ? tmpFieldData : fieldData.Where(data => data.cityId == 0).ToList();
var machine = fieldData.First(x => x.Type == CornFieldUpgradeType.Machine && x.level == maxLevel); var machine = fieldData.First(x => x.Type == CornFieldUpgradeType.Machine && x.level == maxLevel);
maxMachineImage.DestroyAllChildrens(); maxMachineImage.DestroyAllChildrens();
Instantiate(machine.GetIconPrefab(), maxMachineImage); Instantiate(machine.GetIconPrefab(), maxMachineImage);