gd: added input addon
BIN
addons/guide/ui/renderers/mouse/icons/Mouse_Cursor.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ci7icm3q4l1sg"
|
||||
path="res://.godot/imported/Mouse_Cursor.png-d260e60db8690d81bb10201ace09e70f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/guide/ui/renderers/mouse/icons/Mouse_Cursor.png"
|
||||
dest_files=["res://.godot/imported/Mouse_Cursor.png-d260e60db8690d81bb10201ace09e70f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
addons/guide/ui/renderers/mouse/icons/Mouse_Left_Key_Light.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://vvgpheda22ew"
|
||||
path="res://.godot/imported/Mouse_Left_Key_Light.png-8c9c47fe23d850a53ee5b259032ff1e7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/guide/ui/renderers/mouse/icons/Mouse_Left_Key_Light.png"
|
||||
dest_files=["res://.godot/imported/Mouse_Left_Key_Light.png-8c9c47fe23d850a53ee5b259032ff1e7.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
addons/guide/ui/renderers/mouse/icons/Mouse_Middle_Key_Light.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bmj244x0jn7v2"
|
||||
path="res://.godot/imported/Mouse_Middle_Key_Light.png-d1b621d65964bf35e881bf5a749d0470.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/guide/ui/renderers/mouse/icons/Mouse_Middle_Key_Light.png"
|
||||
dest_files=["res://.godot/imported/Mouse_Middle_Key_Light.png-d1b621d65964bf35e881bf5a749d0470.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
addons/guide/ui/renderers/mouse/icons/Mouse_Right_Key_Light.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b8bsyguf4qw6f"
|
||||
path="res://.godot/imported/Mouse_Right_Key_Light.png-f1130bc98a1b33064099609790f7efff.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/guide/ui/renderers/mouse/icons/Mouse_Right_Key_Light.png"
|
||||
dest_files=["res://.godot/imported/Mouse_Right_Key_Light.png-f1130bc98a1b33064099609790f7efff.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
addons/guide/ui/renderers/mouse/icons/Mouse_Side_Key_1_Light.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://je8rm7jk2nxd"
|
||||
path="res://.godot/imported/Mouse_Side_Key_1_Light.png-1e0810994bec8c12ac686f4c33006236.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/guide/ui/renderers/mouse/icons/Mouse_Side_Key_1_Light.png"
|
||||
dest_files=["res://.godot/imported/Mouse_Side_Key_1_Light.png-1e0810994bec8c12ac686f4c33006236.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
addons/guide/ui/renderers/mouse/icons/Mouse_Side_Key_2_Light.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqxly0g8pftxa"
|
||||
path="res://.godot/imported/Mouse_Side_Key_2_Light.png-3a47028a83b486166e55c8b465b98934.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/guide/ui/renderers/mouse/icons/Mouse_Side_Key_2_Light.png"
|
||||
dest_files=["res://.godot/imported/Mouse_Side_Key_2_Light.png-3a47028a83b486166e55c8b465b98934.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
addons/guide/ui/renderers/mouse/icons/Mouse_Simple_Key_Light.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b3uxk5agbpmab"
|
||||
path="res://.godot/imported/Mouse_Simple_Key_Light.png-0d9fe3a005ffb8a731da9e9c204556cb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/guide/ui/renderers/mouse/icons/Mouse_Simple_Key_Light.png"
|
||||
dest_files=["res://.godot/imported/Mouse_Simple_Key_Light.png-0d9fe3a005ffb8a731da9e9c204556cb.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
87
addons/guide/ui/renderers/mouse/mouse_renderer.gd
Normal file
@ -0,0 +1,87 @@
|
||||
@tool
|
||||
extends GUIDEIconRenderer
|
||||
|
||||
@onready var _controls:Control = %Controls
|
||||
@onready var _mouse_left:Control = %MouseLeft
|
||||
@onready var _mouse_right:Control = %MouseRight
|
||||
@onready var _mouse_middle:Control = %MouseMiddle
|
||||
@onready var _mouse_side_a:Control = %MouseSideA
|
||||
@onready var _mouse_side_b:Control = %MouseSideB
|
||||
@onready var _mouse_blank:Control = %MouseBlank
|
||||
@onready var _mouse_cursor:Control = %MouseCursor
|
||||
|
||||
|
||||
@onready var _directions:Control = %Directions
|
||||
@onready var _left:Control = %Left
|
||||
@onready var _right:Control = %Right
|
||||
@onready var _up:Control = %Up
|
||||
@onready var _down:Control = %Down
|
||||
@onready var _horizontal:Control = %Horizontal
|
||||
@onready var _vertical:Control = %Vertical
|
||||
|
||||
|
||||
|
||||
func supports(input:GUIDEInput) -> bool:
|
||||
return input is GUIDEInputMouseButton or \
|
||||
input is GUIDEInputMouseAxis1D or \
|
||||
input is GUIDEInputMouseAxis2D or \
|
||||
input is GUIDEInputMousePosition
|
||||
|
||||
|
||||
func render(input:GUIDEInput) -> void:
|
||||
for child in _controls.get_children():
|
||||
child.visible = false
|
||||
for child in _directions.get_children():
|
||||
child.visible = false
|
||||
|
||||
_directions.visible = false
|
||||
|
||||
if input is GUIDEInputMouseButton:
|
||||
match input.button:
|
||||
MOUSE_BUTTON_LEFT:
|
||||
_mouse_left.visible = true
|
||||
MOUSE_BUTTON_RIGHT:
|
||||
_mouse_right.visible = true
|
||||
MOUSE_BUTTON_MIDDLE:
|
||||
_mouse_middle.visible = true
|
||||
MOUSE_BUTTON_WHEEL_UP:
|
||||
_directions.visible = true
|
||||
_up.visible = true
|
||||
_mouse_middle.visible = true
|
||||
MOUSE_BUTTON_WHEEL_DOWN:
|
||||
_directions.visible = true
|
||||
_down.visible = true
|
||||
_mouse_middle.visible = true
|
||||
MOUSE_BUTTON_WHEEL_LEFT:
|
||||
_directions.visible = true
|
||||
_left.visible = true
|
||||
_mouse_middle.visible = true
|
||||
MOUSE_BUTTON_WHEEL_RIGHT:
|
||||
_directions.visible = true
|
||||
_right.visible = true
|
||||
_mouse_middle.visible = true
|
||||
MOUSE_BUTTON_XBUTTON1:
|
||||
_mouse_side_a.visible = true
|
||||
MOUSE_BUTTON_XBUTTON2:
|
||||
_mouse_side_b.visible = true
|
||||
|
||||
if input is GUIDEInputMouseAxis1D:
|
||||
if input.axis == GUIDEInputMouseAxis1D.GUIDEInputMouseAxis.X:
|
||||
_mouse_blank.visible = true
|
||||
_directions.visible = true
|
||||
_horizontal.visible = true
|
||||
else:
|
||||
_mouse_blank.visible = true
|
||||
_directions.visible = true
|
||||
_vertical.visible = true
|
||||
|
||||
if input is GUIDEInputMouseAxis2D:
|
||||
_mouse_blank.visible = true
|
||||
|
||||
if input is GUIDEInputMousePosition:
|
||||
_mouse_cursor.visible = true
|
||||
|
||||
call("queue_sort")
|
||||
|
||||
func cache_key(input:GUIDEInput) -> String:
|
||||
return "7e27520a-b6d8-4451-858d-e94330c82e85" + input.to_string()
|
1
addons/guide/ui/renderers/mouse/mouse_renderer.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://dh2deng2bk2eo
|
125
addons/guide/ui/renderers/mouse/mouse_renderer.tscn
Normal file
@ -0,0 +1,125 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://bfl6dbw21xqs1"]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/guide/ui/renderers/mouse/mouse_renderer.gd" id="1_amutf"]
|
||||
[ext_resource type="Texture2D" uid="uid://vvgpheda22ew" path="res://addons/guide/ui/renderers/mouse/icons/Mouse_Left_Key_Light.png" id="2_6vk7n"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8bsyguf4qw6f" path="res://addons/guide/ui/renderers/mouse/icons/Mouse_Right_Key_Light.png" id="3_aaqrj"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmj244x0jn7v2" path="res://addons/guide/ui/renderers/mouse/icons/Mouse_Middle_Key_Light.png" id="4_gprek"]
|
||||
[ext_resource type="Texture2D" uid="uid://bqxly0g8pftxa" path="res://addons/guide/ui/renderers/mouse/icons/Mouse_Side_Key_2_Light.png" id="6_adi64"]
|
||||
[ext_resource type="Texture2D" uid="uid://1swh072gtbb4" path="res://addons/guide/ui/renderers/textures/arrow_left.svg" id="6_fo4h0"]
|
||||
[ext_resource type="Texture2D" uid="uid://je8rm7jk2nxd" path="res://addons/guide/ui/renderers/mouse/icons/Mouse_Side_Key_1_Light.png" id="7_bbgo7"]
|
||||
[ext_resource type="Texture2D" uid="uid://cjvs04qsrj8ap" path="res://addons/guide/ui/renderers/textures/arrow_right.svg" id="7_t242p"]
|
||||
[ext_resource type="Texture2D" uid="uid://ni6lsbx1d2hf" path="res://addons/guide/ui/renderers/textures/arrow_up.svg" id="8_a7prs"]
|
||||
[ext_resource type="Texture2D" uid="uid://ci7icm3q4l1sg" path="res://addons/guide/ui/renderers/mouse/icons/Mouse_Cursor.png" id="8_g4vq6"]
|
||||
[ext_resource type="Texture2D" uid="uid://oq2vvwgbdsh7" path="res://addons/guide/ui/renderers/textures/arrow_down.svg" id="9_dfyjd"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmgxqbypegjxh" path="res://addons/guide/ui/renderers/textures/arrow_horizontal.svg" id="12_xdqh7"]
|
||||
[ext_resource type="Texture2D" uid="uid://b3uxk5agbpmab" path="res://addons/guide/ui/renderers/mouse/icons/Mouse_Simple_Key_Light.png" id="13_1bw2l"]
|
||||
[ext_resource type="Texture2D" uid="uid://bu5nlug6uf03w" path="res://addons/guide/ui/renderers/textures/arrow_vertical.svg" id="13_yoogt"]
|
||||
|
||||
[node name="MouseRenderer" type="MarginContainer"]
|
||||
process_mode = 3
|
||||
offset_right = 100.0
|
||||
offset_bottom = 100.0
|
||||
size_flags_horizontal = 0
|
||||
script = ExtResource("1_amutf")
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
|
||||
[node name="Controls" type="MarginContainer" parent="HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MouseBlank" type="TextureRect" parent="HBoxContainer/Controls"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("13_1bw2l")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="MouseLeft" type="TextureRect" parent="HBoxContainer/Controls"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("2_6vk7n")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="MouseRight" type="TextureRect" parent="HBoxContainer/Controls"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("3_aaqrj")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="MouseMiddle" type="TextureRect" parent="HBoxContainer/Controls"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("4_gprek")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="MouseSideA" type="TextureRect" parent="HBoxContainer/Controls"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("7_bbgo7")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="MouseSideB" type="TextureRect" parent="HBoxContainer/Controls"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("6_adi64")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="MouseCursor" type="TextureRect" parent="HBoxContainer/Controls"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_g4vq6")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="Directions" type="MarginContainer" parent="HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Left" type="TextureRect" parent="HBoxContainer/Directions"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("6_fo4h0")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="Right" type="TextureRect" parent="HBoxContainer/Directions"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("7_t242p")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="Up" type="TextureRect" parent="HBoxContainer/Directions"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_a7prs")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="Down" type="TextureRect" parent="HBoxContainer/Directions"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
texture = ExtResource("9_dfyjd")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="Horizontal" type="TextureRect" parent="HBoxContainer/Directions"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
texture = ExtResource("12_xdqh7")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="Vertical" type="TextureRect" parent="HBoxContainer/Directions"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
texture = ExtResource("13_yoogt")
|
||||
stretch_mode = 4
|