public void Reload(CharacterClassCollection ccc)
        {
            var listToRemove = new List <int>();
            var tempList     = ccc.allCharacterAbilities();

            for (int i = 0; i < abilityIDs.Count; i++)
            {
                var temp = tempList.Find(abi => abi.abilityIdentifier == abilityIDs[i]);
                if (temp == null)
                {
                    listToRemove.Add(i);
                }
                else
                {
                    abilities.Add(temp);
                }
            }

            if (listToRemove.Count != 0)
            {
                listToRemove.Reverse();

                for (int i = 0; i < listToRemove.Count; i++)
                {
                    abilityIDs.RemoveAt(listToRemove[i]);
                }
            }
        }
Esempio n. 2
0
        public void Reload(GameContentDataBase gcdb)
        {
            CCC = gcdb.gameCCCs.Find(ccc => ccc.identifier == CCCidentifier).Clone();

            CCC.ReloadDefaultAIAbility(gcdb, this);

            CCC.ReloadFromDatabase(gcdb);
        }
Esempio n. 3
0
 public BaseTalentSlot(Point p, CharacterClassCollection CCC)
 {
     talentNode        = new TalentNode(p);
     talentNode.parent = this;
     parentCCC         = CCC;
     ID = CCC.LatestID;
     CCC.LatestID++;
 }
        internal void ReloadFromSave(CharacterSaveData csd, CharacterClassCollection ccc)
        {
            postLoadCCC          = ccc;
            postLoadAbiEquipList = ccc.abiEquipList;

            classExp.ReloadFromSave(csd);
            abilityEquipList.ReloadFromSave(csd);
            ccc.actualTalentSlots = actualTalentSlots;
            ccc.ReloadTalents();
        }
        static internal ClassExpCollection Initialize(CharacterClassCollection ccc)
        {
            ClassExpCollection temp = new ClassExpCollection();

            for (int i = 0; i < ccc.charClassList.Count; i++)
            {
                temp.savedEXP.Add(new ClassExperience(ccc.charClassList[i]));
            }

            return(temp);
        }
Esempio n. 6
0
 static public void Start(BaseCharacter bc)
 {
     if (bInitialize)
     {
         Initialize();
     }
     TalentGrid.mPos          = new Point(0, 0);
     TalentGrid.mScale        = 1f;
     talentGrid               = new TalentGrid(bc.CCC.getEditorTalentNodesForGrid());
     bIsRunning               = true;
     TalentGrid.bUpdateMatrix = true;
     CCCRef = bc.CCC;
 }
Esempio n. 7
0
 public EnemyAIInfo(BaseCharacter bc, MapRegion r)
 {
     EnemyChar        = bc.Clone();
     charID           = bc.shapeID;
     EnemyWeapon      = bc.weapon == null ? null : bc.weapon.Clone() as BaseEquipment;
     charWeaponID     = bc.weaponID;
     charArmorID      = bc.armourID;
     EnemyArmor       = bc.armour == null ? null : bc.armour.Clone() as BaseEquipment;
     enemyStats       = bc.statChart.Clone();
     CCCidentifier    = bc.CCCidentifier;
     CCC              = bc.CCC.Clone();
     enemyWeaponArray = new List <int>(bc.enemyWeaponArray);
     enemyArmourArray = new List <int>(bc.enemyArmourArray);
     enemyName        = bc.displayName;
     infoID           = r.highestEnemyID++;
 }
        public CharacterClassCollection Clone()
        {
            CharacterClassCollection temp = (CharacterClassCollection)this.MemberwiseClone();

            temp.charClassListIDs       = new List <int>(charClassListIDs);
            temp.charSeparateAbilityIDs = new List <int>(charSeparateAbilityIDs);

            temp.charClassList = new List <BaseClass>();
            foreach (var item in charClassList)
            {
                temp.charClassList.Add(item.Clone());
            }
            temp.charSeparateAbilities = new List <BasicAbility>();
            foreach (var item in charSeparateAbilities)
            {
                temp.charSeparateAbilities.Add(item.Clone());
            }

            return(temp);
        }
Esempio n. 9
0
        virtual public void Reload(CharacterClassCollection CCC, BaseCharacter bc)
        {
            foreach (var item in cpReq)
            {
                item.Reload(GameProcessor.gcDB);
            }
            requiredTalents = new List <BaseTalentSlot>();
            foreach (var item in requiredTalentIDs)
            {
                requiredTalents.Add(CCC.actualTalentSlots.Find(t => t.ID == item));
            }
            requiredTalents.RemoveAll(t => t == null);
            parentCCC         = CCC;
            talentNode.parent = this;

            if (bUnlocked)
            {
                Unlock(bc);
            }
        }
 public void GenerateSave(CharacterClassCollection ccc)
 {
     classExp          = ClassExpCollection.Initialize(ccc);
     abilityEquipList  = ccc.abiEquipList;
     actualTalentSlots = new List <BaseTalentSlot>(ccc.baseTalentSlot);
 }
 public void AddCCC(CharacterClassCollection CCC)
 {
     CCC.identifier = CCCID;
     gameCCCs.Add(CCC);
     CCCID++;
 }
 public ClassUnlockTalent(Point p, CharacterClassCollection CCC) : base(p, CCC)
 {
 }