Пример #1
0
 // Start is called before the first frame update
 void Start()
 {
     character       = GetComponent <DynamicCharacterAvatar>();
     savedCharacters = FindObjectOfType <SavedCharacters>();
     character.ClearSlots();
     character.LoadFromRecipeString(savedCharacters.savedCharacter);
 }
Пример #2
0
    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");
    }
Пример #3
0
        //------------------------------------------------------------------------------
        // 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);
        }
Пример #4
0
 // Start is called before the first frame update
 void Start()
 {
     character       = GetComponent <DynamicCharacterAvatar>();
     savedCharacters = FindObjectOfType <SavedCharacters>();
 }