interface Component.IPressable

in global :: Sandbox

A component that can be pressed. Like a button. This could be by a player USE'ing it, or by a player walking on it, or by an NPC. A call to Press should ALWAYS call release afterwards. Generally this is done by the player, where holding E presses the button, and releasing E stops pressing it. You need to handle edge cases where the player dies while holding etc.


public void Hover( Component.IPressable.Event e )

A player has started looking at this

public void Look( Component.IPressable.Event e )

A player is still looking at this. Called every frame.

public void Blur( Component.IPressable.Event e )

A player has stopped looking at this

public bool Press( Component.IPressable.Event e )

Pressed. Returns true on success, else false. If it returns true then you should call Release when the press finishes. Not everything expects it, but some stuff will.

public bool Pressing( Component.IPressable.Event e )

Still being pressed. Return true to allow the press to continue, false cancel the press

public void Release( Component.IPressable.Event e )

To be called when the press finishes. You should only call this after a successful press - ie when Press hass returned true.

public bool CanPress( Component.IPressable.Event e )

Return true if the press is possible right now