シリアライズエラー解消

This commit is contained in:
kimura 2021-08-16 14:10:54 +09:00
parent d728fc8572
commit 126b301abc
4 changed files with 33 additions and 11 deletions

View File

@ -76,12 +76,12 @@ public class CornField : MonoBehaviour
{ {
var index = i; var index = i;
i++; i++;
seedling.SetSeedlingGene(lineData.Seedlings[index].firstTime, lineData.Seedlings[index].period, lineData.Seedlings[index].level); seedling.SetSeedlingGene(lineData.Seedlings[index].FirstTime, lineData.Seedlings[index].Period, lineData.Seedlings[index].Level);
seedling.Harvested.Subscribe(_ => seedling.Harvested.Subscribe(_ =>
{ {
// 収穫 // 収穫
VibrationManager.Instance.PlayVibrationOnce(); VibrationManager.Instance.PlayVibrationOnce();
var harvestCount = GetHarvestCount(lineData.Seedlings[index].level); var harvestCount = GetHarvestCount(lineData.Seedlings[index].Level);
var harvestedCorn = GetHarvestedCornCount(gameData.MachineLevel); var harvestedCorn = GetHarvestedCornCount(gameData.MachineLevel);
gameData.cornSeed += harvestedCorn * harvestCount; gameData.cornSeed += harvestedCorn * harvestCount;
var seedlingTransform = seedling.transform; var seedlingTransform = seedling.transform;
@ -112,7 +112,7 @@ public class CornField : MonoBehaviour
} }
// 新しい苗 // 新しい苗
var newGene = GenerateSeedlingGene(line.FieldLevel); var newGene = GenerateSeedlingGene(line.FieldLevel);
seedling.SetSeedlingGene(newGene.firstTime, newGene.period, newGene.level); seedling.SetSeedlingGene(newGene.FirstTime, newGene.Period, newGene.Level);
gameData.SeedlingDataList[seedlingDataIndex].Seedlings[index] = newGene; gameData.SeedlingDataList[seedlingDataIndex].Seedlings[index] = newGene;
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();
}).AddTo(compositeDisposable); }).AddTo(compositeDisposable);
@ -131,8 +131,8 @@ public class CornField : MonoBehaviour
if (Random.Range(0, 2) == 0) if (Random.Range(0, 2) == 0)
{ {
var tmpData = gameData.SeedlingDataList[seedlingDataIndex].Seedlings[i]; var tmpData = gameData.SeedlingDataList[seedlingDataIndex].Seedlings[i];
tmpData.firstTime = tmpData.firstTime.AddSeconds(-1); tmpData.FirstTime = tmpData.FirstTime.AddSeconds(-1);
line.Seedlings[i].PromoteGrowth(tmpData.firstTime); line.Seedlings[i].PromoteGrowth(tmpData.FirstTime);
gameData.SeedlingDataList[seedlingDataIndex].Seedlings[i] = tmpData; gameData.SeedlingDataList[seedlingDataIndex].Seedlings[i] = tmpData;
} }
} }
@ -176,7 +176,7 @@ public class CornField : MonoBehaviour
return new SeedlingProgressData return new SeedlingProgressData
{ {
type = PlantLineType.Top, type = PlantLineType.Top,
Seedlings = new List<(DateTime firstTime, int period, CornFieldRank rank)>() Seedlings = new List<SeedlingData>()
{ {
GenerateSeedlingGene(level), GenerateSeedlingGene(level),
GenerateSeedlingGene(level), GenerateSeedlingGene(level),
@ -188,7 +188,7 @@ public class CornField : MonoBehaviour
return new SeedlingProgressData return new SeedlingProgressData
{ {
type = PlantLineType.Center, type = PlantLineType.Center,
Seedlings = new List<(DateTime firstTime, int period, CornFieldRank rank)>() Seedlings = new List<SeedlingData>()
{ {
GenerateSeedlingGene(level), GenerateSeedlingGene(level),
GenerateSeedlingGene(level), GenerateSeedlingGene(level),
@ -199,7 +199,7 @@ public class CornField : MonoBehaviour
return new SeedlingProgressData return new SeedlingProgressData
{ {
type = PlantLineType.Bottom, type = PlantLineType.Bottom,
Seedlings = new List<(DateTime firstTime, int period, CornFieldRank rank)>() Seedlings = new List<SeedlingData>()
{ {
GenerateSeedlingGene(level), GenerateSeedlingGene(level),
GenerateSeedlingGene(level), GenerateSeedlingGene(level),
@ -212,10 +212,10 @@ public class CornField : MonoBehaviour
} }
} }
private (DateTime firstTime, int period, CornFieldRank level) GenerateSeedlingGene(CornFieldRank level) private SeedlingData GenerateSeedlingGene(CornFieldRank level)
{ {
// return (DateTime.Now, Random.Range(minPeriod, maxPeriod + 1)); // return (DateTime.Now, Random.Range(minPeriod, maxPeriod + 1));
return (DateTime.Now.AddSeconds(-Random.Range(0, 15)), 15 + Random.Range(0, 15), level); return new SeedlingData(DateTime.Now.AddSeconds(-Random.Range(0, 15)), 15 + Random.Range(0, 15), level);
} }
private int GetHarvestCount(CornFieldRank rank) private int GetHarvestCount(CornFieldRank rank)

View File

@ -0,0 +1,19 @@
using System;
public class SeedlingData
{
public DateTime FirstTime;
public int Period;
public CornFieldRank Level;
public SeedlingData()
{
}
public SeedlingData(DateTime firstTime, int period, CornFieldRank level)
{
this.FirstTime = firstTime;
this.Period = period;
this.Level = level;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 75f5330a759540399e645faea986ac87
timeCreated: 1629089702

View File

@ -4,5 +4,5 @@ using System.Collections.Generic;
public class SeedlingProgressData public class SeedlingProgressData
{ {
public PlantLineType type; public PlantLineType type;
public List<(DateTime firstTime, int period, CornFieldRank level)> Seedlings; public List<SeedlingData> Seedlings;
} }