public AgentDef(string defName, string name, AgentTypeDef type, Circle bounds) : base("BB:Agent", defName, name) { this.type = type; this.bounds = bounds; }
public Defs() { // TODO: something neat where these are loaded dynamically agentMinion = new AgentTypeDef("BB:Minion"); var tileset32 = Register(new AtlasDef("BB:tileset32", "tileset32", 16, 32)); var tileset64 = Register(new AtlasDef("BB:tileset64", "tileset64", 32, 64)); var sprites32 = Register(new AtlasDef("BB:sprites32", "sprites32", 8, 32)); var sprites64 = Register(new AtlasDef("BB:sprites64", "sprites64", 16, 64)); var arrow = Register(new AtlasDef("BB:arrow", "character/arrow/arrow", 1, 37)); Register(new TerrainDef("BB:Grass", "Grass", tileset32, new Vec2I(0, 29))); Register(new TerrainDef("BB:Dirt", "Dirt", tileset32, new Vec2I(0, 0))); Register(new TerrainDef("BB:Mud", "Mud", tileset32, new Vec2I(0, 26))); Register(new TerrainDef("BB:Path", "Path", tileset32, new Vec2I(0, 23))); Register(new TerrainDef("BB:Water", "Water", tileset32, new Vec2I[] { new Vec2I(26, 29), new Vec2I(26, 26), new Vec2I(26, 23), new Vec2I(26, 20), new Vec2I(26, 17), new Vec2I(26, 14), new Vec2I(26, 11), new Vec2I(26, 8), }, false)); Register(new SpriteDef("BB:Stone", sprites32, Vec2I.zero, new Vec2I(2, 2), Vec2I.one)); Register(new SpriteDef("BB:Wood", sprites32, new Vec2I(2, 0), new Vec2I(2, 2), Vec2I.one)); Register(new SpriteDef("BB:Plank", sprites64, new Vec2I(0, 0), new Vec2I(2, 2), Vec2I.one)); Register(new SpriteDef("BB:BldgRock", sprites32, new Vec2I(0, 18), new Vec2I(4, 4), Vec2I.zero)); Register(new SpriteDef("BB:BldgTree", sprites32, new Vec2I(0, 4), new Vec2I(8, 14), new Vec2I(2, 0))); Register(new SpriteDef("BB:WoodcuttingTableD", sprites32, new Vec2I(10, 26), new Vec2I(12, 5), new Vec2I(4, 0))); Register(new SpriteDef("BB:WoodcuttingTableR", sprites32, new Vec2I(3, 26), new Vec2I(6, 12), new Vec2I(1, 4))); Register(new SpriteDef("BB:MineIcon", sprites32, new Vec2I(0, 62), new Vec2I(2, 2), Vec2I.one)); Register(new SpriteDef("BB:BuildIcon", sprites64, new Vec2I(0, 30), new Vec2I(2, 2), Vec2I.one)); Register(new SpriteDef("BB:CancelIcon", sprites64, new Vec2I(2, 30), new Vec2I(2, 2), Vec2I.one)); Register(new SpriteDef("BB:PlayIcon", sprites64, new Vec2I(8, 28), new Vec2I(4, 4), Vec2I.zero)); Register(new SpriteDef("BB:PauseIcon", sprites64, new Vec2I(12, 28), new Vec2I(4, 4), Vec2I.zero)); Register(new SpriteDef("BB:PlayFFIcon", sprites64, new Vec2I(16, 28), new Vec2I(6, 4), Vec2I.zero)); Register(new SpriteDef("BB:PlaySFFIcon", sprites64, new Vec2I(22, 28), new Vec2I(10, 4), Vec2I.zero)); Register(new SpriteDef("BB:ProjArrow", arrow, new Vec2I(776, 210), new Vec2I(32, 8), new Vec2I(16, 4))); Register(new ItemDef("BB:Stone", "Stone", Get <SpriteDef>("BB:Stone"), 5)); Register(new ItemDef("BB:Wood", "Wood", Get <SpriteDef>("BB:Wood"), 5)); Register(new ItemDef("BB:Plank", "Planks", Get <SpriteDef>("BB:Plank"), 10)); Register(BldgProtoDef.Create <BuildingProtoResource, BldgMineableDef>()); Register(new BldgMineableDef("BB:Rock", "Rock", Tool.Pickaxe, new ItemInfo(Get <ItemDef>("BB:Stone"), 36), Get <SpriteDef>("BB:BldgRock"))); Register(new BldgMineableDef("BB:Tree", "Tree", Tool.Axe, new ItemInfo(Get <ItemDef>("BB:Wood"), 25), Get <SpriteDef>("BB:BldgTree"))); Register(BldgProtoDef.Create <BuildingProtoFloor, BldgFloorDef>()); Register(new BldgFloorDef("BB:StoneBrick", "Stone Brick Floor", new[] { new ItemInfo(Get <ItemDef>("BB:Stone"), 5) }, tileset64, new Vec2I(0, 9))); Register(BldgProtoDef.Create <BuildingProtoWall, BldgWallDef>()); Register(new BldgWallDef("BB:StoneBrick", "Stone Brick Wall", new[] { new ItemInfo(Get <ItemDef>("BB:Stone"), 10) }, tileset64, new Vec2I(0, 12))); Register(BldgProtoDef.Create <BuildingProtoWorkbench, BldgWorkbenchDef>()); Register(new BldgWorkbenchDef("BB:Woodcutter", "Woodcutting Table", new BuildingBounds(new Vec2I(3, 1), new Vec2I(1, 0)), new Vec2I(0, -1), Get <SpriteDef>("BB:WoodcuttingTableD"), Get <SpriteDef>("BB:WoodcuttingTableR"), new[] { new ItemInfo(Get <ItemDef>("BB:Wood"), 10) }, new[] { Register(new RecipeDef("BB:CutLogs", "Saw Planks", 4, new[] { new ItemInfo(Get <ItemDef>("BB:Wood"), 1) }, new[] { new ItemInfo(Get <ItemDef>("BB:Plank"), 10) } )) } )); }