22 lines
775 B
GDScript
22 lines
775 B
GDScript
class_name PointerEvent
|
|
extends RefCounted
|
|
## Eine Zeige-Eingabe für die Karten-Werkzeuge, egal woher sie kommt: Maus am
|
|
## PC, Controller-Strahl in VR. position ist immer in Bildpunkten der Kamera,
|
|
## die das Werkzeug kennt.
|
|
|
|
enum Kind { MOVE, PRESS, RELEASE, SCROLL, CANCEL }
|
|
|
|
var kind: Kind = Kind.MOVE
|
|
var position := Vector2.ZERO
|
|
var shift := false # Mehrfachauswahl, Serienmodus
|
|
var ctrl := false # Pinsel umkehren, Raster-Zwang
|
|
var command := false # Strg (Mac: Cmd): Auswahl umschalten
|
|
var pressure := 1.0 # Pinselstärke 0..1
|
|
var scroll := 0 # +1 = hoch, -1 = runter
|
|
|
|
|
|
static func make(p_kind: Kind, p_position: Vector2 = Vector2.ZERO) -> PointerEvent:
|
|
var p := PointerEvent.new()
|
|
p.kind = p_kind
|
|
p.position = p_position
|
|
return p
|