Beispiel #1
0
        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());
        }