public TestOutnumber() { BaseBattleStats baseBattleStats = new BaseBattleStats((ushort)UnitType.TestSwordsman, 1, WeaponType.Sword, WeaponClass.Basic, ArmorType.Ground, ArmorClass.Leather, 70, 30, 1, 9, 2, 9, 10, 30, 0); IBaseUnitStats baseUnitStats = new BaseUnitStats("TestSwordsman", "SWORDSMAN_UNIT", 1001, 1, new Resource(), new Resource(), baseBattleStats, 300, 300, 1); Ioc.Kernel.Get <UnitFactory>().AddType(baseUnitStats); }
public virtual void Init(string filename) { using (var reader = new CsvReader(new StreamReader(new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)))) { String[] toks; var col = new Dictionary <string, int>(); for (int i = 0; i < reader.Columns.Length; ++i) { if (reader.Columns[i].Length == 0) { continue; } col.Add(reader.Columns[i], i); } while ((toks = reader.ReadRow()) != null) { if (toks[0].Length <= 0) { continue; } var resource = new Resource(int.Parse(toks[col["Crop"]]), int.Parse(toks[col["Gold"]]), int.Parse(toks[col["Iron"]]), int.Parse(toks[col["Wood"]]), int.Parse(toks[col["Labor"]])); var upgradeResource = new Resource(int.Parse(toks[col["UpgrdCrop"]]), int.Parse(toks[col["UpgrdGold"]]), int.Parse(toks[col["UpgrdIron"]]), int.Parse(toks[col["UpgrdWood"]]), int.Parse(toks[col["UpgrdLabor"]])); var stats = new BaseBattleStats(ushort.Parse(toks[col["Type"]]), byte.Parse(toks[col["Lvl"]]), (WeaponType)Enum.Parse(typeof(WeaponType), toks[col["Weapon"]].ToCamelCase()), (WeaponClass)Enum.Parse(typeof(WeaponClass), toks[col["WpnClass"]].ToCamelCase()), (ArmorType)Enum.Parse(typeof(ArmorType), toks[col["Armor"]].ToCamelCase()), (ArmorClass)Enum.Parse(typeof(ArmorClass), toks[col["ArmrClass"]].ToCamelCase()), decimal.Parse(toks[col["Hp"]]), decimal.Parse(toks[col["Atk"]]), byte.Parse(toks[col["Splash"]]), byte.Parse(toks[col["Rng"]]), byte.Parse(toks[col["Stl"]]), byte.Parse(toks[col["Spd"]]), ushort.Parse(toks[col["GrpSize"]]), ushort.Parse(toks[col["Carry"]]), resource.NormalizedCost); var basestats = new BaseUnitStats(toks[col["Name"]], toks[col["SpriteClass"]], ushort.Parse(toks[col["Type"]]), byte.Parse(toks[col["Lvl"]]), resource, upgradeResource, stats, int.Parse(toks[col["Time"]]), int.Parse(toks[col["UpgrdTime"]]), byte.Parse(toks[col["Upkeep"]])); dict[int.Parse(toks[col["Type"]]) * 100 + int.Parse(toks[col["Lvl"]])] = basestats; } } }