Files
barotrauma-localmods/Quick Interactions/CSharp/Client/CrabUI/Events/CUIFocusHandle.cs

31 lines
782 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Barotrauma;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Graphics;
namespace QICrabUI
{
public class CUIFocusHandle : ICUIVitalizable
{
public void SetHost(CUIComponent host) => Host = host;
public CUIComponent Host;
public bool Focusable;
public CUIMouseEvent Trigger = CUIMouseEvent.Down;
public bool ShouldStart(CUIInput input)
{
return Focusable && (
(Trigger == CUIMouseEvent.Down && input.MouseDown) ||
(Trigger == CUIMouseEvent.DClick && input.DoubleClick)
);
}
public CUIFocusHandle() { }
public CUIFocusHandle(CUIComponent host) => Host = host;
}
}