You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.5 KiB
50 lines
1.5 KiB
namespace CMSGame
|
|
{
|
|
public partial class BattleHUD : Control
|
|
{
|
|
public Vector2 LastMousePressedPosition;
|
|
|
|
public Label? BattleTimeLabel;
|
|
|
|
public Popup? PauseMenuPopup;
|
|
|
|
public Popup? SettingsMenuPopup;
|
|
|
|
public BattleActionMenu? BattleActionMenu;
|
|
|
|
public override void _Ready()
|
|
{
|
|
this.GetUniqueNode(ref BattleTimeLabel, nameof(BattleTimeLabel));
|
|
this.GetUniqueNode(ref PauseMenuPopup, nameof(PauseMenuPopup));
|
|
this.GetUniqueNode(ref SettingsMenuPopup, nameof(SettingsMenuPopup));
|
|
this.GetUniqueNode(ref BattleActionMenu, nameof(BattleActionMenu));
|
|
}
|
|
|
|
public override void _GuiInput(InputEvent @event)
|
|
{
|
|
if (@event is InputEventMouseButton mouseButtonEvent)
|
|
{
|
|
if (mouseButtonEvent.Pressed)
|
|
{
|
|
LastMousePressedPosition = mouseButtonEvent.Position;
|
|
var battleActionMenuRect = new Rect2(BattleActionMenu!.Position, BattleActionMenu.Size);
|
|
if (!battleActionMenuRect.HasPoint(LastMousePressedPosition))
|
|
{
|
|
BattleActionMenu.Visible = false;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public void ShowActionMenu(Vector2 position)
|
|
{
|
|
if (!BattleActionMenu!.Visible)
|
|
{
|
|
BattleActionMenu.Position = position;
|
|
BattleActionMenu.Visible = true;
|
|
}
|
|
}
|
|
}
|
|
}
|