Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
ClickTextWidget.cs
浏览该文件的文档.
1using Engine;
3
4namespace Game {
7 public Action click;
11
12 // ReSharper disable UnusedParameter.Local
13 public ClickTextWidget(Vector2 vector2, string text, Action click, bool box = false)
14 // ReSharper restore UnusedParameter.Local
15 {
16 Size = vector2;
20 Text = text, FontScale = 0.8f, HorizontalAlignment = WidgetAlignment.Center, VerticalAlignment = WidgetAlignment.Center
21 };
23 IsDrawEnabled = true;
24 IsDrawRequired = true;
25 IsUpdateEnabled = true;
26 this.click = click;
27 }
28
29 public override void Draw(DrawContext dc) {
32 Vector2 v2 = new(ActualSize.X, 0f);
34 Vector2 v4 = new(0f, ActualSize.Y);
35 Vector2.Transform(ref v, ref m, out Vector2 result);
36 Vector2.Transform(ref v2, ref m, out Vector2 result2);
37 Vector2.Transform(ref v3, ref m, out Vector2 result3);
38 Vector2.Transform(ref v4, ref m, out Vector2 result4);
40 Vector2 vector = Vector2.Normalize(GlobalTransform.Right.XY);
42 for (int i = 0; i < 1; i++) {
43 flatBatch2D.QueueLine(result, result2, 1f, BorderColor);
44 flatBatch2D.QueueLine(result2, result3, 1f, BorderColor);
45 flatBatch2D.QueueLine(result3, result4, 1f, BorderColor);
46 flatBatch2D.QueueLine(result4, result, 1f, BorderColor);
47 result += vector - v5;
48 result2 += -vector - v5;
49 result3 += -vector + v5;
50 result4 += vector + v5;
51 }
52 }
53
54 public override void Update() {
55 if (Input.Click.HasValue
56 && HitTest(Input.Click.Value.Start)
57 && HitTest(Input.Click.Value.End)) {
58 click?.Invoke();
59 }
60 }
61 }
62}
static readonly DepthStencilState DepthWrite
void QueueLine(Vector2 p1, Vector2 p2, float depth, Color color)
FlatBatch2D FlatBatch(int layer=0, DepthStencilState depthStencilState=null, RasterizerState rasterizerState=null, BlendState blendState=null)
override void Draw(DrawContext dc)
ClickTextWidget(Vector2 vector2, string text, Action click, bool box=false)
RectangleWidget rectangleWidget
readonly WidgetsList Children
readonly PrimitivesRenderer2D PrimitivesRenderer2D
bool IsUpdateEnabled
WidgetInput Input
virtual bool HitTest(Vector2 point)
virtual WidgetAlignment VerticalAlignment
virtual WidgetAlignment HorizontalAlignment
bool IsDrawRequired
Vector2 ActualSize
Matrix GlobalTransform
static Color Transparent
定义 Color.cs:5
static Color Red
static readonly Vector2 Zero
static Vector2 Transform(Vector2 v, Matrix m)
static Vector2 Normalize(Vector2 v)