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

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;
}
}
}
}