public static Agent CreateAgentFromVaultUnit(int id) { Agent agent = new Agent(); hotEntities he = new hotEntities(); unitvault uv = he.unitvaults.First(a => a.ID == id); CachedCatalogueUnit cachedUnit = CachedObjectContainer.GetCachedCatUnitByID(int.Parse(uv.CatalogueID)); CachedRace cachedRace = CachedObjectContainer.GetCachedRaceByName(cachedUnit.Race); agent.ID = uv.ID; agent.CATID = cachedUnit.CatalogueID; agent.Name = cachedUnit.Name; agent.UnitType = cachedUnit.UnitType; agent.Faction = cachedUnit.Faction; agent.Rarity = cachedUnit.Rarity; agent.Collection = cachedUnit.Collection; agent.Race = cachedUnit.Race; agent.DamageType = cachedUnit.DamageType; agent.BaseAttack = cachedUnit.Attack + int.Parse(uv.Attack) + cachedRace.Attack; agent.BaseAccuracy = cachedUnit.Accuracy + int.Parse(uv.Accuracy) + cachedRace.Accuracy; agent.BaseDodge = cachedUnit.Dodge + int.Parse(uv.Dodge) + cachedRace.Dodge; agent.BaseHitPoints = cachedUnit.HitPoints + int.Parse(uv.HitPoints) + cachedRace.HitPoints; agent.BaseMagic = cachedUnit.Magic + int.Parse(uv.Magic) + cachedRace.Magic; agent.BaseMagicResistance = cachedUnit.MagicResistance + int.Parse(uv.MagicResistance) + cachedRace.MagicResistance; agent.BaseFireResistance = cachedUnit.FireResistance + int.Parse(uv.FireResistance) + cachedRace.FireResistance; agent.BaseSlashResistance = cachedUnit.SlashResistance + int.Parse(uv.SlashResistance) + cachedRace.SlashResistance; agent.BasePiercingResistance = cachedUnit.PiercingResistance + int.Parse(uv.PiercingResistance) + cachedRace.PiercingResistance; agent.BaseBludgeoningResistance = cachedUnit.BludgeoningResistance + int.Parse(uv.BludgeoningResistance) + cachedRace.BludgeoningResistance; agent.BaseMovementSpeed = cachedUnit.MovementSpeed + int.Parse(uv.MovementSpeed) + cachedRace.MovementSpeed; agent.BaseMinAttackRange = cachedUnit.MinAttackRange + int.Parse(uv.MinAttRange); agent.BaseMaxAttackRange = cachedUnit.MaxAttackRange + int.Parse(uv.MaxAttRange); agent.BaseMinAttackRange = cachedUnit.MinAttackRange + int.Parse(uv.MinAttRange); agent.BaseMinAttackRange = cachedUnit.MinAttackRange + int.Parse(uv.MinAttRange); agent.Level = uv.Level; agent.Owner = uv.Owner; //players team id //hex to spawn on // agent.Abilities = uv.Abilities; string returnString = ""; // unit.iLevel.ToString().ToString() + ">" + // NetworkManager.Instance.cPlayer.sName + ">" + // GameManager.Instance.GetPlayersTeamID().ToString() + ">" + // hex.gameObject.name + ">" + // unit.Abilities; return(agent); }
public static CachedCatalogueUnit GetCachedCatUnitByID(int id) { CachedCatalogueUnit cu = null; foreach (CachedCatalogueUnit cachedUnit in CachedCatalogueUnits) { if (cachedUnit.CatalogueID == id) { cu = cachedUnit; } } return(cu); }
public static void CacheCatalogueUnits() { Console.WriteLine("Caching Catalogue Units..."); hotEntities he = new hotEntities(); foreach (unitcatalogue uc in he.unitcatalogues) { CachedCatalogueUnit ccu = new CachedCatalogueUnit(); ccu.CatalogueID = uc.CatalogueID; ccu.Name = uc.Name; ccu.UnitType = uc.UnitType; ccu.Faction = uc.Faction; ccu.Rarity = uc.Rarity; ccu.Collection = uc.Collection; ccu.Race = uc.Race; ccu.DamageType = uc.DamageType; ccu.Attack = int.Parse(uc.Attack); ccu.Accuracy = uc.Accuracy; ccu.Dodge = uc.Dodge; ccu.HitPoints = uc.HitPoints; ccu.MovementSpeed = int.Parse(uc.MovementSpeed); ccu.Magic = uc.Magic; ccu.MagicResistance = uc.MagicResistance; ccu.FireResistance = uc.FireResistance; ccu.SlashResistance = uc.SlashResistance; ccu.PiercingResistance = uc.PiercingResistance; ccu.BludgeoningResistance = uc.BludgeoningResistance; ccu.MinAttackRange = int.Parse(uc.MinAttackRange); ccu.MaxAttackRange = int.Parse(uc.MaxAttackRange); ccu.Abilities = uc.Abilities; ccu.Artist = uc.Artist; ccu.FlavourText = uc.FlavourText; CachedCatalogueUnits.Add(ccu); } Console.WriteLine("Catalogue Units cached: " + CachedCatalogueUnits.Count.ToString()); }