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]); } } }
public void Reload(GameContentDataBase gcdb) { CCC = gcdb.gameCCCs.Find(ccc => ccc.identifier == CCCidentifier).Clone(); CCC.ReloadDefaultAIAbility(gcdb, this); CCC.ReloadFromDatabase(gcdb); }
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); }
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; }
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); }
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) { }