public static DungeonMaster LoadEncounter() { var data = GameData.ReadDatafilesInDirectory("GameData"); var yaml = new YamlStream(); using (StreamReader r = new StreamReader("GameData/SlimeCave.yaml")) { yaml.Load(r); } var mapping = (YamlMappingNode)yaml.Documents[0].RootNode; var mapFile = (mapping[new YamlScalarNode("map_file")] as YamlScalarNode).Value; Bitmap bitmap = new Bitmap("GameData/" + mapFile); StringBuilder sb = new StringBuilder(); sb.AppendLine("Test Map"); sb.AppendLine(bitmap.Width + " " + bitmap.Height); for (int y = 0; y < bitmap.Height; y++) { for (int x = 0; x < bitmap.Height; x++) { var color = bitmap.GetPixel(x, y); sb.Append(data.GetIconByColor(color.R, color.G, color.B).ToString()); } sb.AppendLine(); } DM = DungeonMaster.LoadEncounter(mapping, sb.ToString(), data); return(DM); }
public void LoadEncounter() { throw new NotImplementedException(); //TODO: doesn't connect right stuff var yaml = new YamlStream(); using (StringReader r = new StringReader(levelYaml.text)) { yaml.Load(r); } var mapping = (YamlMappingNode)yaml.Documents[0].RootNode; var mapFile = (mapping[new YamlScalarNode("map_file")] as YamlScalarNode).Value; StringBuilder sb = new StringBuilder(); sb.AppendLine("Test Map"); sb.AppendLine(levelLayout.width + " " + levelLayout.height); for (int y = 1; y <= levelLayout.height; y++) { for (int x = 0; x < levelLayout.width; x++) { var color = levelLayout.GetPixel(x, levelLayout.height - y); var r = (byte)(color.r * 255); var g = (byte)(color.g * 255); var b = (byte)(color.b * 255); sb.Append(data.GetIconByColor(r, g, b).ToString()); } sb.AppendLine(); } DM = DungeonMaster.LoadEncounter(mapping, sb.ToString(), data); }