// Start is called before the first frame update void Start() { character = GetComponent <DynamicCharacterAvatar>(); savedCharacters = FindObjectOfType <SavedCharacters>(); character.ClearSlots(); character.LoadFromRecipeString(savedCharacters.savedCharacter); }
public void SaveCharacter() { //Can probably rewrite this without the SavedCharacters file - just control the directory where saved characters go, and load all files in that directory as characters. string savedChars; if (File.Exists(chars)) { savedChars = File.ReadAllText(chars); print("saved characters loaded..."); } else { savedChars = ""; } SavedCharacters sc = JsonUtility.FromJson <SavedCharacters> (savedChars); if (sc == null) { sc = new SavedCharacters(); } string charData = JsonUtility.ToJson(character); if (!File.Exists(character.name)) { sc.Characters.Add(character.name); string characterList = JsonUtility.ToJson(sc); File.WriteAllText(chars, characterList); print("new character saved!"); } File.WriteAllText(character.name, charData); print("character saved"); }
//------------------------------------------------------------------------------ // Public Functions: //------------------------------------------------------------------------------ public override void Inintialize() { // Create save location if it doesn't exist saveLocation = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\DiabloSimulator\\Saves\\"; Directory.CreateDirectory(saveLocation); // Populate save list string[] saveFileList = Directory.GetDirectories(saveLocation); foreach (string file in saveFileList) { SavedCharacters.Add(file.Substring(saveLocation.Length)); } // Register for events AddEventHandler(GameEvents.PlayerAttack, OnPlayerAttack); AddEventHandler(GameEvents.MonsterAttack, OnMonsterAttack); AddEventHandler(GameEvents.MonsterDead, OnMonsterDead); AddEventHandler(GameEvents.AdvanceTime, OnAdvanceTime); AddEventHandler(GameEvents.HeroDead, OnHeroDead); AddEventHandler(GameEvents.PlayerRest, OnPlayerRest); AddEventHandler(GameEvents.WorldZoneDiscovery, OnWorldZoneDiscovery); AddEventHandler(GameEvents.SetWorldZone, OnSetWorldZone); AddEventHandler(GameEvents.ItemEquip, OnItemEquip); AddEventHandler(GameEvents.ItemDiscard, OnItemDiscard); AddEventHandler(GameEvents.ItemSell, OnItemSell); AddEventHandler(GameEvents.ItemJunk, OnItemJunk); AddEventHandler(GameEvents.ItemKeep, OnItemKeep); AddEventHandler(GameEvents.ItemUnequip, OnItemUnequip); AddEventHandler(GameEvents.PlayerUsePotion, OnPlayerUsePotion); AddEventHandler(GameEvents.GameSave, OnGameSave); AddEventHandler(GameEvents.GameLoad, OnGameLoad); AddEventHandler(GameEvents.HeroCreate, OnHeroCreate); }
// Start is called before the first frame update void Start() { character = GetComponent <DynamicCharacterAvatar>(); savedCharacters = FindObjectOfType <SavedCharacters>(); }