public Menu() { Shader plainShader = new Shader.Plain(new Color8(0, 0, 0), new Color8(0, 0, 0), ' '); Image plainImage = new Image.Rectangle(plainShader, new Vector2d16(600, 300), 0); Shader logoShader = new Shader.TextureSymbol(ResourceLoader.LoadResource <Atlas16>(@"Textures\mainMenu.bms"), new Vector2d16(0, 0), new Vector2d16(51, 5)); Image logo = new Image.Rectangle(logoShader, new Vector2d16(51, 5), 1); //Image mainMenuImage = new Image.Rectangle(mainMenu, new Vector2d16(30, 15), 126); Image team = new Image.Rectangle(new Shader.RichText("Made by Code0", new Color8(60, 60, 60)), new Vector2d16(14, 1), 200); Shader cursorShader = new Shader.Plain(new Color8(0, 0, 255), Color8.GetNull(), '>'); Image cursor = new Image.Rectangle(cursorShader, new Vector2d16(1, 1), 127); Shape circle = new Shape.Circle(1); var tmp = new GameObject[] { new VisualObject(new Vector2d16(-100, -50), plainImage), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 25, Config.screenHeight / 5), logo), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 8, Config.screenHeight / 5 + 8), newGame), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 4, Config.screenHeight / 5 + 10), loadGame), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 4, Config.screenHeight / 5 + 12), test), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 5, Config.screenHeight / 5 + 14), mapEditor), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 4, Config.screenHeight / 5 + 16), settings), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 3, Config.screenHeight / 5 + 18), credits), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 2, Config.screenHeight / 5 + 20), exit), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 7, Config.screenHeight / 5 * 4), team) }; map = new Map("Test", Renderer.Dimensions, 0, tmp); hero = new KinematicObject(new Vector2d16(Config.screenWidth / 2 - 10, Config.screenHeight / 5 + 8), circle, cursor); }
public Credits() { Shader plainShader = new Shader.Plain(new Color8(0, 0, 0), new Color8(0, 0, 0), ' '); Image plainImage = new Image.Rectangle(plainShader, new Vector2d16(600, 300), 0); Shader logoShader = new Shader.TextureSymbol(ResourceLoader.LoadResource <Atlas16>(@"Textures\mainMenu.bms"), new Vector2d16(0, 12), new Vector2d16(53, 16)); Image logo = new Image.Rectangle(logoShader, new Vector2d16(54, 4), 1); Shader cursorShader = new Shader.Plain(new Color8(0, 0, 255), Color8.GetNull(), ' '); Image cursor = new Image.Rectangle(cursorShader, new Vector2d16(1, 1), 127); Shape circle = new Shape.Circle(1); var tmp = new GameObject[] { new VisualObject(new Vector2d16(-100, -50), plainImage), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 25, Config.screenHeight / 5), logo), new VisualObject(new Vector2d16(Config.screenWidth / 2 - 28, Config.screenHeight / 2.5), credits) }; map = new Map("Test", Renderer.Dimensions, 0, tmp); hero = new KinematicObject(new Vector2d16(0, 0), circle, cursor); }
public override Fragment8 Compute(Vector2d16 current, Vector2d16 start, Vector2d16 end) { if (text.Length <= current._2 || text[current._2].Length <= current._1) { return(Fragment8.GetNull()); } return(new Fragment8(new Color8(255, 255, 255), Color8.GetNull(), text[current._2][current._1])); }
public override Fragment8 Compute(Vector2d16 current, Vector2d16 start, Vector2d16 end) { char ch = (char)atlas.GetData(this.start - start + current); if (ch == 0) { return(Fragment8.GetNull()); } return(new Fragment8(new Color8(255, 255, 255), Color8.GetNull(), ch)); }
public override Fragment8 Compute(Vector2d16 current, Vector2d16 start, Vector2d16 end) { if (text.Length <= current._2 || text[current._2].Length <= current._1) { return(Fragment8.GetNull()); } switch (text[current._2][current._1]) { case '#': //Bold return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB80)); case '|': //Faint return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB81)); case '/': //Italic return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB82)); case '_': //Underlined return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB83)); case '^': //Blink return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB84)); case '%': //Crossed-out return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB85)); case '~': //Video inverse return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB86)); case '@': //Fraktur return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB87)); default: return(new Fragment8(foreground, Color8.GetNull(), text[current._2][current._1])); } }