void Start() { Debug.Log("-----------------<1>-----------------"); MonsterDataV1 dataV1 = new MonsterDataV1() { Name = "スライム", HitPoint = 10, HitRate = 80f, Speed = 2, Luck = 3, }; { byte[] bytes = ZeroFormatterSerializer.Serialize(dataV1); MonsterDataV1 loadData = ZeroFormatterSerializer.Deserialize <MonsterDataV1>(bytes); Debug.Log("Name:" + loadData.Name); Debug.Log("HitPoint:" + loadData.HitPoint); Debug.Log("HitRate:" + loadData.HitRate); Debug.Log("Speed:" + loadData.Speed); Debug.Log("Luck:" + loadData.Luck); } Debug.Log("-----------------<2>-----------------"); MonsterDataV2 dataV2 = new MonsterDataV2() { Name = "スライムベッキー", HitPoint = 100, HitRate = 95f, Speed = 200, Luck = 300, Defense = 400, }; { byte[] bytes = ZeroFormatterSerializer.Serialize(dataV2); MonsterDataV2 loadData = ZeroFormatterSerializer.Deserialize <MonsterDataV2>(bytes); Debug.Log("Name:" + loadData.Name); Debug.Log("HitPoint:" + loadData.HitPoint); Debug.Log("HitRate:" + loadData.HitRate); Debug.Log("Speed:" + loadData.Speed); Debug.Log("Luck:" + loadData.Luck); Debug.Log("Defense:" + loadData.Defense); } Debug.Log("-----------------<3>-----------------"); PackAndUnpack(dataV1); Debug.Log("-----------------<4>-----------------"); PackAndUnpack(dataV2); }
void OutputToLog(MonsterDataBase data) { switch (data.Version) { case MonsterDataBase.VersionType.MonsterDataV1: MonsterDataV1 version1 = data as MonsterDataV1; Debug.Log("Name:" + version1.Name); Debug.Log("HitPoint:" + version1.HitPoint); Debug.Log("HitRate:" + version1.HitRate); Debug.Log("Speed:" + version1.Speed); Debug.Log("Luck:" + version1.Luck); break; case MonsterDataBase.VersionType.MonsterDataV2: MonsterDataV2 version2 = data as MonsterDataV2; Debug.Log("Name:" + version2.Name); Debug.Log("HitPoint:" + version2.HitPoint); Debug.Log("HitRate:" + version2.HitRate); Debug.Log("Speed:" + version2.Speed); Debug.Log("Luck:" + version2.Luck); Debug.Log("Defense:" + version2.Defense); break; } }