public override void Initialize() { this.text = "<TEXT>"; this.textureHeight = 128; this.font = new FontFamily("Consolas"); this.color = Color.WHITE; this.bounds = new Rectangle(0, 0, 1, 1); this.bounds.OnChange += rectangle => RebuildMesh(); this.dock = GUIDock.Centered; this.noText = false; LoadFontAtlas(); CreateRenderable(ResolveAttributes, AssignUniforms, GraphicsHandler.CreateDefaultShader(1), BuildMesh()); }
//protected override void Update() { // if (InputHandler.IsKeyReleased(Key.Keypad7)) // Dock = GUIDock.TopLeft; // else if (InputHandler.IsKeyReleased(Key.Keypad8)) // Dock = GUIDock.TopCenter; // else if (InputHandler.IsKeyReleased(Key.Keypad9)) // Dock = GUIDock.TopRight; // else if (InputHandler.IsKeyReleased(Key.Keypad4)) // Dock = GUIDock.LeftCenter; // else if (InputHandler.IsKeyReleased(Key.Keypad5)) // Dock = GUIDock.Centered; // else if (InputHandler.IsKeyReleased(Key.Keypad6)) // Dock = GUIDock.RightCenter; // else if (InputHandler.IsKeyReleased(Key.Keypad1)) // Dock = GUIDock.BottomLeft; // else if (InputHandler.IsKeyReleased(Key.Keypad2)) // Dock = GUIDock.BottomCenter; // else if (InputHandler.IsKeyReleased(Key.Keypad3)) // Dock = GUIDock.BottomRight; // else if (InputHandler.IsKeyReleased(Key.Space)) // Log.WriteLine("tS" + bounds.ToString(), LogType.Debug); //} public override void Initialize(object[] parameters) { if (parameters.Length >= 1 && parameters[0] is string txt) { this.text = txt; } else { this.text = "<TEXT>"; } if (this.text.Length == 0) { this.text = " "; this.noText = true; } if (parameters.Length >= 2 && parameters[1] is ushort texHeight) { this.textureHeight = texHeight; } else { this.textureHeight = 128; } if (parameters.Length >= 3 && parameters[2] is FontFamily fnt) { this.font = fnt; } else { this.font = new FontFamily("Consolas"); } if (parameters.Length >= 4 && parameters[3] is Color c) { this.color = c; } else { this.color = Color.WHITE; } if (parameters.Length >= 5 && parameters[4] is Rectangle r) { this.bounds = new Rectangle(r); } else { this.bounds = new Rectangle(0, 0, 1, 1); } this.bounds.OnChange += rectangle => RebuildMesh(); IShader s; if (parameters.Length >= 6 && parameters[5] is IShader sh) { s = sh; } else { s = GraphicsHandler.CreateDefaultShader(1); } LoadFontAtlas(); CreateRenderable(ResolveAttributes, AssignUniforms, s, BuildMesh()); }