Exemple #1
0
 void NewChar_B_Click()
 {
     try
     {
         CharacterSave newchar = new CharacterSave();
         newchar.name = newname.text;
         if (GameObject.Find("NewAge_T").GetComponent <Text>().text != "")
         {
             newchar.age.years = System.Convert.ToInt32(GameObject.Find("NewAge_T").GetComponent <Text>().text);
         }
         else
         {
             newchar.age.years = 0;
         }
         newchar.sexe        = activesex;
         newchar.Pic_base    = selected_bases;
         newchar.Pic_clothes = selected_clothes;
         newchar.Pic_paints  = selected_paints;
         newchar.Pic_hairs   = selected_hairs;
         if (activesex == 0)
         {
             newchar.Pic_jewels = selected_jewels;
         }
         else
         {
             newchar.Pic_beard = selected_beards;
         }
         newTribe.members.Add(newchar);
         tribe_members.text += "\n" + newname.text;
     }
     catch (System.FormatException)
     {
         Debug.Log("Age is not a number");
     }
 }
    public Character(CharacterSave save)
    {
        try
        {
            var baseExists = GameSettings.Instance.CharacterDatabase.Content.TryGetValue(save.baseUid, out var characterBase);
            if (!baseExists)
            {
                Debug.LogError("Missing character base");
                throw new Exception();
            }

            Base             = characterBase;
            MasteryInstances = Base.masteryGroup.Deserialize(save.serializedTechInstances);

            Weapon    = ItemInstanceBuilder.BuildInstance(save.Equipment[0]) as Equippable;
            Head      = ItemInstanceBuilder.BuildInstance(save.Equipment[1]) as Equippable;
            Body      = ItemInstanceBuilder.BuildInstance(save.Equipment[2]) as Equippable;
            Hand      = ItemInstanceBuilder.BuildInstance(save.Equipment[3]) as Equippable;
            Feet      = ItemInstanceBuilder.BuildInstance(save.Equipment[4]) as Equippable;
            Accessory = ItemInstanceBuilder.BuildInstance(save.Equipment[5]) as Equippable;

            Regenerate();

            currentHp     = save.currentHp;
            MasteryPoints = save.masteryPoints;
        }
        catch (Exception e)
        {
            throw new DeserializationFailureException(typeof(Character));
        }
    }
Exemple #3
0
        /// <summary>
        /// Setup the PartySave from the serialized object.
        /// </summary>
        /// <param name="saveObject">Save object representing the state of the party.</param>
        public void InitFromSaveObject(PartySave saveObject)
        {
            List <Character> memList = new List <Character>();

            // Inventory setup
            this.Shared.InitFromSaveObject(saveObject.Inventory);

            // Setup everything EXCEPT buffs
            for (int i = 0; i < saveObject.Characters.Count; i++)
            {
                CharacterSave charSave = saveObject.Characters[i];
                Character     restored = new Character(this.Shared); // Inventory
                restored.InitFromSaveObject(charSave);               // Everything else but buffs

                memList.Add(restored);
            }

            // Setup buffs (which need members inited to make)
            // memList index should match saveObject.Characters index!
            for (int i = 0; i < memList.Count; i++)
            {
                Character c = memList[i];
                c.Equipment.SetupTemporarySaveFields(memList);
                c.Equipment.InitFromSaveObject(saveObject.Characters[i].Equipment);
                c.Buffs.SetupTemporarySaveFields(memList);
                c.Buffs.InitFromSaveObject(saveObject.Characters[i].Buffs); // Assumes matching indices
            }

            // Add members
            foreach (Character c in memList)
            {
                members.Add(c);
            }
        }
    public void StoreData(StatsContainer[] data, StatsContainer[] data2)
    {
        characters.Clear();
        for (int i = 0; i < data.Length; i++)
        {
            if (data[i].id == -1)
            {
                continue;
            }
            CharacterSave c = new CharacterSave();
            c.LoadData(data[i]);
            characters.Add(c);
        }
        for (int i = 0; i < data2.Length; i++)
        {
            if (data2[i].id == -1)
            {
                continue;
            }
            CharacterSave c = new CharacterSave();
            c.LoadData(data2[i]);
            characters.Add(c);
        }

        while (characters.Count < ConstValues.AVAILABLE_SIZE)
        {
            characters.Add(new CharacterSave());
        }
    }
Exemple #5
0
    void AssignMemberClick()
    {
        EventSave curE  = GM.EM.events.Find(es => es.obj.id == obj.id);
        TribeGO   tribe = GM.TribeGO.GetComponent <TribeGO>();

        if (curE != null)
        {
            CharacterSave addedchar = tribe.tribeCurrent.members.Find(cs => cs.name == UI_Dropdown_Assign.captionText.text);
            if (addedchar != null)
            {
                if (!curE.cs.Contains(addedchar))
                {
                    if (curE.obj.modifiers.ContainsKey("activity"))
                    {
                        switch (curE.obj.modifiers["activity"])
                        {
                        case "gather":
                            if (!tribe.tribeCurrent.gatherers.Contains(addedchar) && (addedchar.available == true))
                            {
                                addedchar.available = false;
                                tribe.tribeCurrent.gatherers.Add(addedchar);
                                curE.cs.Add(addedchar);
                            }
                            break;

                        case "fish":
                            if (!tribe.tribeCurrent.fishers.Contains(addedchar) && (addedchar.available == true))
                            {
                                addedchar.available = false;
                                tribe.tribeCurrent.fishers.Add(addedchar);
                                curE.cs.Add(addedchar);
                            }
                            break;

                        case "hunt":
                            if (!tribe.tribeCurrent.hunters.Contains(addedchar) && (addedchar.available == true))
                            {
                                addedchar.available = false;
                                tribe.tribeCurrent.hunters.Add(addedchar);
                                curE.cs.Add(addedchar);
                            }
                            break;

                        case "source":
                            if (!tribe.tribeCurrent.sourcers.Contains(addedchar) && (addedchar.available == true))
                            {
                                addedchar.available = false;
                                tribe.tribeCurrent.sourcers.Add(addedchar);
                                curE.cs.Add(addedchar);
                            }
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
        }
    }
Exemple #6
0
 public void OnContinueGame()
 {
     if (CharacterSave.IsSavePresent())
     {
         LiveSession.SetPlayerData(CharacterSave.Load());
         GetComponent <SceneTransition>().DelayedSceneChange("ControlRoom");
     }
 }
Exemple #7
0
    void RemoveMemberClick()
    {
        EventSave curE  = GM.EM.events.Find(es => es.obj.id == obj.id);
        TribeGO   tribe = GM.TribeGO.GetComponent <TribeGO>();

        if (curE != null)
        {
            CharacterSave removechar = tribe.tribeCurrent.members.Find(cs => cs.name == UI_Dropdown_Remove.captionText.text);
            if (removechar != null)
            {
                if (curE.cs.Contains(removechar))
                {
                    if (curE.obj.modifiers.ContainsKey("activity"))
                    {
                        switch (curE.obj.modifiers["activity"])
                        {
                        case "gather":
                            if (tribe.tribeCurrent.gatherers.Contains(removechar) && (removechar.available == false))     // available check not necessary, in case multiple assignments go back here later
                            {
                                removechar.available = true;
                                curE.cs.Remove(removechar);
                                tribe.tribeCurrent.gatherers.Remove(removechar);
                            }
                            break;

                        case "fish":
                            if (tribe.tribeCurrent.fishers.Contains(removechar) && (removechar.available == false))     // available check not necessary, in case multiple assignments go back here later
                            {
                                removechar.available = true;
                                curE.cs.Remove(removechar);
                                tribe.tribeCurrent.fishers.Remove(removechar);
                            }
                            break;

                        case "hunt":
                            if (tribe.tribeCurrent.hunters.Contains(removechar) && (removechar.available == false))     // available check not necessary, in case multiple assignments go back here later
                            {
                                removechar.available = true;
                                curE.cs.Remove(removechar);
                                tribe.tribeCurrent.hunters.Remove(removechar);
                            }
                            break;

                        case "source":
                            if (tribe.tribeCurrent.sourcers.Contains(removechar) && (removechar.available == false))     // available check not necessary, in case multiple assignments go back here later
                            {
                                removechar.available = true;
                                curE.cs.Remove(removechar);
                                tribe.tribeCurrent.sourcers.Remove(removechar);
                            }
                            break;
                        }
                    }
                } // else no char to remove
            }     // else no char with that name
        }         // no event associated (no char assigned to it)
    }
Exemple #8
0
        void Kill()
        {
            Instantiate(CarcassPrefab, transform.position, Quaternion.identity);
            gameObject.SetActive(false);
            GameObject.Find("Player").SetActive(false);
            isDead = true;

            DeathReport.ShowDeathPanel();
            CharacterSave.Delete();
        }
    public CharacterSave Serialize()
    {
        var save = new CharacterSave()
        {
            baseUid   = GameSettings.Instance.CharacterDatabase.GetId(Base).Value,
            currentHp = currentHp,
            //serializedTechInstances = Base.masteryGroup.Serialize(MasteryInstances),
            Equipment     = EquippableSaves(),
            masteryPoints = MasteryPoints,
        };

        return(save);
    }
 public StatsContainer(CharacterSave save, CharacterStats stats)
 {
     if (save == null)
     {
         id      = -1;
         statsID = -1;
         level   = -1;
     }
     else
     {
         SetupValues(save, stats);
     }
 }
Exemple #11
0
    void Skip_B_Click()
    {
        TribeSave newtribe = new TribeSave();
        Text      skipX    = GameObject.Find("Xchars_T").GetComponent <Text>();

        try
        {
            newtribe.tribename = "skip " + newtribename.text;
            for (int i = 0; i < System.Convert.ToInt32(skipX.text); i++)
            {
                CharacterSave newcs = new CharacterSave();
                newcs.name      = i.ToString();
                newcs.age.years = Random.Range(0, 35);
                newcs.sexe      = Random.Range(0, 2);
                if (newcs.sexe == 0)
                {
                    newcs.Pic_base    = Random.Range(0, basesF.Length);
                    newcs.Pic_clothes = Random.Range(0, clothesF.Length);;
                    newcs.Pic_paints  = Random.Range(0, paintsF.Length);
                    newcs.Pic_hairs   = Random.Range(0, hairsF.Length);
                    newcs.Pic_jewels  = Random.Range(0, jewelsF.Length);;
                }
                else
                {
                    newcs.Pic_base    = Random.Range(0, basesM.Length);
                    newcs.Pic_clothes = Random.Range(0, clothesM.Length);
                    newcs.Pic_paints  = Random.Range(0, paintsM.Length);
                    newcs.Pic_hairs   = Random.Range(0, hairsM.Length);
                    newcs.Pic_beard   = Random.Range(0, beardsM.Length);
                }
                newtribe.members.Add(newcs);
            }
            newTribeGO.GetComponent <newTribeGO>().tribeCurrent = newtribe;
        }
        catch (System.FormatException)
        {
            Debug.Log("X is not a number");
        }
        PlayerPrefs.SetString("NewName", newtribename.text);
        PlayerPrefs.SetString("mapfile", "Assets/Resources/Map/Chunk1.tmx");
        PlayerPrefs.SetString("savefile", "");
        PlayerPrefs.SetInt("spawnzone", 2); // to add random ?
        SceneManager.LoadScene("Sapiens_Load", LoadSceneMode.Single);
    }
Exemple #12
0
 void CreateCharClick()
 {
     try
     {
         TribeGO       tribeGO       = GameObject.Find("GameManager").GetComponent <GameManager>().TribeGO.GetComponent <TribeGO>();
         GameObject    Tribe_Members = GameObject.Find("Tribe_Members");
         CharacterSave addedChar     = new CharacterSave();
         addedChar.age.years = Convert.ToInt32(CharAge.text);
         GameObject.Find("GameManager").GetComponent <GameManager>().CreatePlayer(tribeGO.tribeCurrent.members.Count, CharName.text, addedChar, tribeGO, Tribe_Members);
         GameObject Charlist = GameObject.Find("UI_CharPanel");
         if (Charlist != null)
         {
             Charlist.GetComponent <PanelChar>().SetExistingChars();
         }
         Debug.Log("Char : " + CharName.text + " created.");
     }
     catch (FormatException)
     {
     }
 }
    public bool AddNew(int stars, CharacterStats stats)
    {
        for (int i = 0; i < values.Length; i++)
        {
            if (values[i].id != -1)
            {
                continue;
            }
            CharacterSave save = new CharacterSave();
            save.GenerateDataFromStars(stars, stats);
            StatsContainer cont = new StatsContainer(save, stats)
            {
                id      = ++SaveController.highestID,
                statsID = stats.statsID
            };
            values[i] = cont;
            return(true);
        }

        return(false);
    }
    private void SetupValues(CharacterSave save, CharacterStats stats)
    {
        id      = save.id;
        statsID = save.statsID;
        _stats  = stats;
        level   = save.level;
        if (level == -1)
        {
            return;
        }
        currentExp   = save.currentExp;
        currentSp    = save.currentSp;
        weaponLevel  = save.weaponLevel;
        supportLevel = save.supportLevel;
        skillLevel   = save.skillLevel;
        skillALevel  = save.skillALevel;
        skillBLevel  = save.skillBLevel;
        skillCLevel  = save.skillCLevel;

        iHp  = save.iHp;
        iAtk = save.iAtk;
        iSpd = save.iSpd;
        iDef = save.iDef;
        iRes = save.iRes;

        eHp  = save.eHp;
        eAtk = save.eAtk;
        eSpd = save.eSpd;
        eDef = save.eDef;
        eRes = save.eRes;

        charName     = stats.charName;
        portrait     = stats.portrait;
        battleSprite = stats.battleSprite;
        charClass    = stats.charClass;

        CalculateStats();
    }
Exemple #15
0
        /// <summary>
        /// Converts the party into a serializable object.
        /// </summary>
        /// <returns>A serializable object representing the state of the party.</returns>
        public PartySave GetSaveObject()
        {
            InventorySave        inventory = Shared.GetSaveObject();
            List <CharacterSave> mems      = members.Select(c => c.GetSaveObject()).ToList();

            // Go through all characters
            for (int i = 0; i < mems.Count; i++)
            {
                CharacterSave c = mems[i];

                //Go through particular character's buffs
                foreach (BuffSave pb in c.Buffs)
                {
                    bool isPartyMemberFound = false;

                    // Search party list to see if any party member is the caster
                    for (int j = 0; j < mems.Count && !isPartyMemberFound; j++)
                    {
                        // Id match -- Ref party member mode: we want to reference the member again on Load.
                        if (mems[j].Id.Equals(pb.CasterCharacterId))
                        {
                            pb.SetupAsCasterInParty(j);
                            isPartyMemberFound = true;
                        }
                    }

                    // Caster is not a party member -- Spoof stats mode: we want to reference the caster's stats only to avoid infinite loops.
                    if (!isPartyMemberFound)
                    {
                        pb.SetupAsCasterNotInParty();
                    }
                }
            }

            return(new PartySave(mems, inventory));
        }
Exemple #16
0
 private void ExportBtn_Click(object sender, EventArgs e)
 {
     path              = exporttextBox.Text;
     index             = (CharacterSave)dataGridView1.CurrentRow.DataBoundItem;
     this.DialogResult = DialogResult.OK;
 }
Exemple #17
0
    void CharacterValueChanged(Dropdown CharList)
    {
        foreach (Transform child in CharacterFace.GetComponent <Transform>())
        {
            Destroy(child.gameObject);
        }
        if (GM.TribeGO.GetComponent <TribeGO>().tribeCurrent.members.Count > 0)
        {
            curChar = GM.TribeGO.GetComponent <TribeGO>().tribeCurrent.members[CharacterList.value];
            Transform  charT = CharacterFace.GetComponent <Transform>();
            GameObject body  = new GameObject(curChar.name + "_Body");
            Transform  bodyT = body.GetComponent <Transform>();
            bodyT.SetParent(CharacterFace.GetComponent <Transform>());
            bodyT.position = new Vector3(charT.position.x, charT.position.y, charT.position.z);
            body.AddComponent <Image>();
            Sprite FaceSprite;
            if (curChar.sexe == 0)
            {
                FaceSprite = GM.basesF[curChar.Pic_base];
            }
            else
            {
                FaceSprite = GM.basesM[curChar.Pic_base];
            }
            body.GetComponent <Image>().sprite = FaceSprite;

            GameObject paints  = new GameObject(curChar.name + "_Paints");
            Transform  paintsT = paints.GetComponent <Transform>();
            paintsT.SetParent(CharacterFace.GetComponent <Transform>());
            paintsT.position = new Vector3(charT.position.x, charT.position.y, charT.position.z);
            paints.AddComponent <Image>();
            Sprite PaintSprite;
            if (curChar.sexe == 0)
            {
                PaintSprite = GM.paintsF[curChar.Pic_paints];
            }
            else
            {
                PaintSprite = GM.paintsM[curChar.Pic_paints];
            }
            paints.GetComponent <Image>().sprite = PaintSprite;

            GameObject hairs  = new GameObject(curChar.name + "_Hairs");
            Transform  hairsT = hairs.GetComponent <Transform>();
            hairsT.SetParent(CharacterFace.GetComponent <Transform>());
            hairsT.position = new Vector3(charT.position.x, charT.position.y, charT.position.z);
            hairs.AddComponent <Image>();
            Sprite HairsSprite;
            if (curChar.sexe == 0)
            {
                HairsSprite = GM.hairsF[curChar.Pic_hairs];
            }
            else
            {
                HairsSprite = GM.hairsM[curChar.Pic_hairs];
            }
            hairs.GetComponent <Image>().sprite = HairsSprite;

            GameObject extra  = new GameObject(curChar.name + "_Extra");
            Transform  extraT = extra.GetComponent <Transform>();
            extraT.SetParent(CharacterFace.GetComponent <Transform>());
            extraT.position = new Vector3(charT.position.x, charT.position.y, charT.position.z);
            extra.AddComponent <Image>();
            Sprite ExtraSprite;
            if (curChar.sexe == 0)
            {
                ExtraSprite = GM.jewelsF[curChar.Pic_jewels];
            }
            else
            {
                ExtraSprite = GM.beardsM[curChar.Pic_beard];
            }
            extra.GetComponent <Image>().sprite = ExtraSprite;

            GameObject clothes  = new GameObject(curChar.name + "_Clothes");
            Transform  clothesT = clothes.GetComponent <Transform>();
            clothesT.SetParent(CharacterFace.GetComponent <Transform>());
            clothesT.position = new Vector3(charT.position.x, charT.position.y, charT.position.z);
            clothes.AddComponent <Image>();
            Sprite ClothesSprite;
            if (curChar.sexe == 0)
            {
                ClothesSprite = GM.clothesF[curChar.Pic_clothes];
            }
            else
            {
                ClothesSprite = GM.clothesM[curChar.Pic_clothes];
            }
            clothes.GetComponent <Image>().sprite = ClothesSprite;
            Character_Name.text = "Name : " + curChar.name;
        }
    }
Exemple #18
0
    void Update()
    {
        if (GM.TribeGO.GetComponent <TribeGO>().tribeCurrent.members.Count > 0)
        {
            if (curChar == null) // added first with debug while char panel open
            {
                curChar = GM.TribeGO.GetComponent <TribeGO>().tribeCurrent.members[0];
            }
            TribeSave tribe = GM.TribeGO.GetComponent <TribeGO>().tribeCurrent;

            // panel char bottom
            if (panel == "attributes")
            {
                Character_Strength.text   = "Strength : " + curChar.strength;
                Character_Endurance.text  = "Endurance : " + curChar.endu;
                Character_Body.text       = "Body : " + curChar.body;
                Character_SpeedStat.text  = "Speed : " + curChar.speed;
                Character_Dexterity.text  = "Dexterity : " + curChar.dexte;
                Character_Perception.text = "Perception : " + curChar.percept;
                Character_Accuracy.text   = "Accuracy : " + curChar.accu;
                Character_Autonomy.text   = "Autonomy : " + curChar.autonomy;
                Character_Spirit.text     = "Spirit : " + curChar.spirit;
                Character_Social.text     = "Social : " + curChar.social;
                Character_Mental.text     = "Mental : " + curChar.mental;
                Character_Language.text   = "Language : " + curChar.lang;
                Character_Food.text       = "Food : " + curChar.food;
            }

            if (panel == "stats")
            {
                curChar.moral   = curChar.moralmax;   // to remove, set elsewhere
                curChar.fatigue = curChar.fatiguemax; // to remove, set elsewhere
                curChar.life    = curChar.lifemax;    // to remove, set  elsewhere

                HealthBar.fillAmount  = (curChar.life / curChar.lifemax);
                FatigueBar.fillAmount = (curChar.fatigue / curChar.fatiguemax);
                MoraleBar.fillAmount  = (curChar.moral / curChar.moralmax);
                LevelBar.fillAmount   = (curChar.last / curChar.next);



                Fatiguecurrent.text = curChar.fatigue.ToString();
                Fatiguemax.text     = curChar.fatiguemax.ToString();
                Healthcurrent.text  = ((int)curChar.life).ToString();
                Healthmax.text      = ((int)curChar.lifemax).ToString();
                Moralecurrent.text  = curChar.moral.ToString();
                Moralemax.text      = curChar.moralmax.ToString();
                Levelcurrent.text   = curChar.level.ToString();
                Levelmax.text       = (curChar.level + 1).ToString();
                LevelRank.text      = curChar.exp_rank;
            }

            // panel tribe
            Tribe_Youngs.text = tribe.youngs.Count.ToString();
            Tribe_Adults.text = tribe.adults.Count.ToString();
            if (tribe.food_consumption < tribe.food_gain)
            {
                Tribe_FoodBar.fillAmount = tribe.food_consumption / tribe.food_gain;
            }
            else
            {
                Tribe_FoodBar.fillAmount = 0;
            }
            Tribe_FoodBarText.text = tribe.food_consumption + " used / " + tribe.food_gain + " available each day.";

            // panel char top
            Character_Age.text        = "Age : " + curChar.age.days / 365 + "years, " + curChar.age.days + " days.";
            Character_Experience.text = "XP : " + curChar.xp;
            Character_Level.text      = curChar.level.ToString();
            Character_NextXP.text     = "Next level : " + ((int)curChar.last).ToString() + " / " + ((int)curChar.next).ToString();
            LevelTopBar.fillAmount    = (curChar.last / curChar.next);
            LevelTopcurrent.text      = curChar.level.ToString();
            LevelTopmax.text          = (curChar.level + 1).ToString();
        }
    }
        public PlayerCharacter(Game game, CharacterSave charsave)
        {
            ID                = charsave.ID;
            BattleStats       = new BattleStats(null);
            Name              = charsave.Name;
            BattleStats.HP    = charsave.HpSp[0];
            BattleStats.MaxHP = charsave.HpSp[1];
            BattleStats.SP    = charsave.HpSp[2];
            BattleStats.MaxSP = charsave.HpSp[3];
            BattleStats.baseAttributes.Add(Magicians.Attributes.Strength, charsave.Stats[0]);
            BattleStats.baseAttributes.Add(Magicians.Attributes.Magic, charsave.Stats[1]);
            BattleStats.baseAttributes.Add(Magicians.Attributes.Dexterity, charsave.Stats[2]);
            StatGain           = charsave.StatGain.ToArray();
            Inventory.Capacity = 16;
            Spells.Capacity    = 8;
            foreach (KeyValuePair <Attributes, int> kvp in BattleStats.baseAttributes)
            {
                BattleStats.Attributes.Add(kvp.Key, kvp.Value);
            }
            BattleStats.baseResistances.Add(DamageTypes.Physical, 0);
            BattleStats.baseResistances.Add(DamageTypes.Fire, 0);
            BattleStats.baseResistances.Add(DamageTypes.Cold, 0);
            BattleStats.baseResistances.Add(DamageTypes.Electricity, 0);
            BattleStats.baseResistances.Add(DamageTypes.Poison, 0);
            BattleStats.baseResistances.Add(DamageTypes.Raw, 0);
            BattleStats.baseResistances.Add(DamageTypes.Light, 100);

            foreach (KeyValuePair <DamageTypes, int> kvp in BattleStats.baseResistances)
            {
                BattleStats.Resistances.Add(kvp.Key, kvp.Value);
            }
            this.Arcana = charsave.Arcana;
            for (int i = 0; i < charsave.Inventory.Count; i++)
            {
                Inventory.Add(game.Items.Find(p => p.InternalName == charsave.Inventory[i]));
            }
            for (int i = 0; i < charsave.Equips.Length; i++)
            {
                for (int e = 0; e < Inventory.Count; e++)
                {
                    if (Inventory[e].InternalName == charsave.Equips[i])
                    {
                        EquipItem(e);
                    }
                }
            }
            for (int i = 0; i < charsave.Spells.Count; i++)
            {
                for (int x = 0; x < game.Spells.Count; x++)
                {
                    if (game.Spells[x].InternalName == charsave.Spells[i])
                    {
                        LearnSpell(game.Spells[x]);
                        break;
                    }
                }
            }

            Level        = charsave.Level;
            Exp          = charsave.Exp;
            TotalExp     = charsave.TotalExp;
            NextLevelExp = charsave.NextLevelExp;
            BattleStats.RecalculateStats();
            GraphicsFolderName = charsave.SpriteFolder;
            Gender             = charsave.Gender;
            if (Spells.Count > 8)
            {
                Spells.RemoveRange(8, Spells.Count - 8);
            }
            Spells.Capacity = 8;
            GetLevelUps(game);

            LearnableSpellLevels = charsave.LearnLevels;
            if (charsave.LearnSpells != null)
            {
                foreach (string s in charsave.LearnSpells)
                {
                    var spell = game.Spells.Find(spl => spl.InternalName == s);
                    if (spell != null)
                    {
                        LearnableSpells.Add(spell);
                    }
                }
            }
        }
Exemple #20
0
 private void ImportBtn_Click(object sender, EventArgs e)
 {
     ImportTo          = (CharacterSave)dataGridView1.CurrentRow.DataBoundItem;
     path              = InputPathtextBox.Text;
     this.DialogResult = DialogResult.OK;
 }
Exemple #21
0
 public void Save()
 {
     CharacterSave.Save(characterDataPath, CharacterSave.characterContainer);
 }
Exemple #22
0
 public void Load()
 {
     CharacterSave.Load(characterDataPath);
 }
 public void ApplyData()
 {
     //add characterData to the container
     CharacterSave.AddCharacterData(characterData);
 }
Exemple #24
0
 public static void SavePlayer()
 {
     CharacterSave.Save(PlayerData);
 }