public GameDataBase() { #if DataReset DataRemove(); #endif binform = new BinaryFormatter(); DataBaseFactory factory = new DataBaseFactory(); if (!LoadFile()) { dataCls = new DataContainerClass(); userDB.Initialize(); levelDB.Initialize(); tropyDB.Initialize(); //stageDB.Initialize(); //achivDB.Initialize(); } for (ObjectClassEnumType type = ObjectClassEnumType.None + 1; type < ObjectClassEnumType.End; type++) { ObjectDatas[(int)type] = factory.CreateDB(type); ObjectDatas[(int)type].Initialize(dataCls.GetInstallBinData(type)); } factory = null; }
public void ObjectUnInstall(string objectName, string objectTag, int stair, int floor) { ObjectClassEnumType sendClassType = ObjectClassEnumType.None; switch (objectTag) { case "Alias": case "Player": sendClassType = ObjectClassEnumType.AliasData; break; case "Enemy": case "SuperEnemy": sendClassType = ObjectClassEnumType.EnemyData; break; case "Obstacle": sendClassType = ObjectClassEnumType.TrapData; break; } if (ObjectDatas [(int)sendClassType].UnInstallMonster(stair, floor, objectName)) { #if EditorDebug Debug.Log("Success Good"); #endif } else { throw new System.NotImplementedException(); } }
public string GetInstallBinData(ObjectClassEnumType type) { string returnValue = string.Empty; switch (type) { case ObjectClassEnumType.AliasData: returnValue = aliasInstallData; break; case ObjectClassEnumType.EnemyData: returnValue = enemyInstallData; break; case ObjectClassEnumType.TrapData: returnValue = trapInstallData; break; } return(returnValue); }
public ObjectDataBase CreateDB(ObjectClassEnumType enumType) { ObjectDataBase instance = null; switch (enumType) { case ObjectClassEnumType.AliasData: instance = new AliasObjectData(); break; case ObjectClassEnumType.EnemyData: instance = new EnemyObjectData(); break; case ObjectClassEnumType.TrapData: instance = new TrapObjectData(); break; } return(instance); }
public void SetBinInstallData(string data, ObjectClassEnumType type) { /* * private string aliasInstallData; * private string enemyInstallData; * private string trapInstallData; */ switch (type) { case ObjectClassEnumType.AliasData: aliasInstallData = data; break; case ObjectClassEnumType.EnemyData: enemyInstallData = data; break; case ObjectClassEnumType.TrapData: trapInstallData = data; break; } }
public void UpdateObjectStatus(string obj_name, string objectTag, params object[] status) { ObjectClassEnumType sendClassType = ObjectClassEnumType.None; switch (objectTag) { case "Alias": case "Player": sendClassType = ObjectClassEnumType.AliasData; break; case "Enemy": case "SuperEnemy": sendClassType = ObjectClassEnumType.EnemyData; break; case "Obstacle": sendClassType = ObjectClassEnumType.TrapData; break; } ObjectDatas[(int)sendClassType].UpdateMonster(obj_name, status); SaveFile(); }
/* public void CreatePlayerData(string player_Name, string player_sprite_name) * { * player_character_data p_data; * * p_data.player_name = player_Name; * p_data.player_sprite_name = player_sprite_name; * p_data.player_gold = 0; * p_data.time = 0.0f; * * MemoryStream p_mem = new MemoryStream(); * * binform.Serialize(p_mem, p_data); * dataCls.PlayerBinData = Convert.ToBase64String(p_mem.GetBuffer()); * } */ public void ObjectInstall(string objectName, string objectTag, int stair, int floor, int level) { ObjectClassEnumType sendClassType = ObjectClassEnumType.None; switch (objectTag) { case "Alias": case "Player": sendClassType = ObjectClassEnumType.AliasData; break; case "Enemy": case "SuperEnemy": sendClassType = ObjectClassEnumType.EnemyData; break; case "Obstacle": sendClassType = ObjectClassEnumType.TrapData; break; } ObjectDatas [(int)sendClassType].InstallMonster(stair, floor, level, objectName); }
public void SaveFile() { //Class Data Save userDB.SaveData(); levelDB.SaveData(); #if !EditorDebug tropyDB.SaveData(); #else Debug.Log("Editor Debug"); #endif dataCls.PlayerBinData = userDB.getBinData(); dataCls.LevelBinData = levelDB.getBinData(); /* Prev ( * dataCls.InstallBinData = installData.getBinData(); * ) */ for (ObjectClassEnumType type = ObjectClassEnumType.None + 1; type < ObjectClassEnumType.End; type++) { ObjectDatas[(int)type].SaveData(); dataCls.SetBinInstallData(ObjectDatas[(int)type].getBinData(), type); } if (File.Exists(file_path)) { try { fileStream = new FileStream(file_path, FileMode.Truncate); binform.Serialize(fileStream, dataCls); } catch (ArgumentException AE) { Debug.Log(AE.StackTrace); } finally { fileStream.Close(); } } else { using (fileStream = File.Create(file_path)) { try { binform.Serialize(fileStream, dataCls); } catch (Exception e) { Debug.Log(e.Source + "/" + e.StackTrace); } finally { fileStream.Close(); } } } }