add console panel, still have scroll problem
This commit is contained in:
38
scripts/user_interface/LabelConsole.cs
Normal file
38
scripts/user_interface/LabelConsole.cs
Normal file
@ -0,0 +1,38 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public class LabelConsole : Control {
|
||||
|
||||
Label mRealLabel;
|
||||
|
||||
// Called when the node enters the scene tree for the first time.
|
||||
public override void _Ready() {
|
||||
mRealLabel = GetNode<Label>("RealLabel");
|
||||
mRealLabel.Connect("item_rect_changed", this, nameof(Proc_Label_ItemRectChanged));
|
||||
}
|
||||
|
||||
public void SetText(string strl, LabelConsoleMessageType t) {
|
||||
mRealLabel.Text = strl;
|
||||
switch (t) {
|
||||
case LabelConsoleMessageType.Normal:
|
||||
mRealLabel.Modulate = Colors.White;
|
||||
break;
|
||||
case LabelConsoleMessageType.Highlight:
|
||||
mRealLabel.Modulate = Colors.Yellow;
|
||||
break;
|
||||
case LabelConsoleMessageType.Error:
|
||||
mRealLabel.Modulate = Colors.OrangeRed;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void Proc_Label_ItemRectChanged() {
|
||||
this.RectMinSize = new Vector2(0, (mRealLabel.GetLineHeight() + mRealLabel.GetConstant("line_spacing")) * mRealLabel.GetLineCount());
|
||||
}
|
||||
|
||||
// // Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
// public override void _Process(float delta)
|
||||
// {
|
||||
//
|
||||
// }
|
||||
}
|
Reference in New Issue
Block a user