public TileTestScreen(ScreenManager manager) : base(manager) { board = new Board("level1",manager.Game.Content); //board = new Board(new TileSet(manager.Game.Content.Load<Texture2D>("tileset1")),100,100 ); player = new Creature(new TileSet("playersprite",manager.Game.Content)); board.Creatures[6, 6] = player; ghost = new Point(6,6); mapArea = new Point(14,10); GhostChaseDistX = (mapArea.X - 6)/2; GhostChaseDistY = (mapArea.Y - 6) / 2; Creature.LoadCreature("Sand Monster",manager.Game.Content); }
// Load from file public static Creature LoadCreature(string name, ContentManager content) { XElement creatures = XElement.Load("Data/creatures.xml"); XElement hit = creatures.Elements("Creature").First(n => (string) n.Attribute("name") == name); Creature result = new Creature(new TileSet((string)hit.Attribute("tileset"),content)); result.Initiative = tal(hit, "initiative"); result.Movement = tal(hit, "movement"); result.Health = tal(hit, "health"); result.MaxHealth = result.Health; int[] melee = talArray(hit, "melee"); result.MinMeleeDmg = melee[0]; result.MaxMeleeDmg = melee[1]; result.Armor = tal(hit, "armor"); // todo load rest return result; }