internal void ReloadFromSave(CharacterSaveData csd)
 {
     for (int i = 0; i < savedEXP.Count; i++)
     {
         savedEXP[i].ReloadFromSaveFile(csd);
     }
 }
        internal void ReloadFromSave(CharacterSaveData csd, CharacterClassCollection ccc)
        {
            postLoadCCC          = ccc;
            postLoadAbiEquipList = ccc.abiEquipList;

            classExp.ReloadFromSave(csd);
            abilityEquipList.ReloadFromSave(csd);
            ccc.actualTalentSlots = actualTalentSlots;
            ccc.ReloadTalents();
        }
        internal void ReloadFromSave(CharacterSaveData csd)
        {
            csd.ccsd.postLoadAbiEquipList.abilityIDs.Clear();
            csd.ccsd.postLoadAbiEquipList.abilities.Clear();

            for (int i = 0; i < csd.ccsd.abilityEquipList.abilityIDs.Count; i++)
            {
                csd.ccsd.postLoadAbiEquipList.abilityIDs.Add(csd.ccsd.abilityEquipList.abilityIDs[i]);
                csd.ccsd.postLoadAbiEquipList.abilities.Add(GameProcessor.gcDB.gameAbilities.Find(abi => abi.abilityIdentifier == csd.ccsd.abilityEquipList.abilityIDs[i]));
            }
        }
 internal void ReloadFromSaveFile(CharacterSaveData csd)
 {
     for (int i = 0; i < csd.ccsd.postLoadCCC.charClassList.Count; i++)
     {
         var c = csd.ccsd.postLoadCCC.charClassList[i];
         c.classEXP.totalExp   = exp;
         c.classEXP.classLevel = level;
         ClassPoints.PasteBackFromSave(classPoints, c);
         c.classStats  = stats;
         c.bIsUnlocked = bIsUnlocked;
         c.classEXP.CalculateResetExpAndLevels();
     }
 }
        public void GenerateSave()
        {
            int i = 0;

            foreach (var hero in PlayerSaveData.heroParty)
            {
                CharacterSaveData newData = new CharacterSaveData();
                newData.AdjustToCharacter(hero);
                heroTeamActive.Add(newData);
                if (hero.Equals(PlayerController.selectedSprite))
                {
                    mainControllerID = hero.shapeID;
                }
                i++;
            }

            mainControllerPos = PlayerController.selectedSprite.position;
            mapLoc            = GameProcessor.loadedMap.mapLocation;
            if (mapLoc.EndsWith(".cgmapc"))
            {
                databaseLoc = mapLoc.Replace(".cgmapc", ".cgdbc");
            }
            else if (mapLoc.EndsWith(".cgmap"))
            {
                databaseLoc = mapLoc.Replace(".cgmap", ".cgdb");
            }

            timeIndex = DateTime.Now.Ticks;

            boolSaveInfo.Clear();
            for (int j = 0; j < localBoolData.Count; j++)
            {
                boolSaveInfo.Add(BoolSaveInfo.toSaveInfo(localBoolData[j]));
            }

            wsi = WorldSaveInfo.GenerateSave();
        }
 internal void ReloadFromSave(CharacterSaveData csd)
 {
     csd.ccsd.ReloadFromSave(csd, this);
 }