From 625f1eb1f9f483563db27bae9b05e53f8d7261c2 Mon Sep 17 00:00:00 2001 From: Madeline McWhorter Date: Tue, 9 Jun 2026 23:53:19 -0500 Subject: [PATCH] initial commit --- AGUI.Bases.Button3D.tscn | 63 +++++++++++++++++++ AGUI.Class.gd | 2 + AGUI.Class.gd.uid | 1 + AGUI.Scripts/AGUI.Bases.Button3D.Collider.gd | 34 ++++++++++ .../AGUI.Bases.Button3D.Collider.gd.uid | 1 + AGUI.Scripts/AGUI.Bases.Button3D.gd | 13 ++++ AGUI.Scripts/AGUI.Bases.Button3D.gd.uid | 1 + AGUI.gd | 12 ++++ AGUI.gd.uid | 1 + 9 files changed, 128 insertions(+) create mode 100644 AGUI.Bases.Button3D.tscn create mode 100644 AGUI.Class.gd create mode 100644 AGUI.Class.gd.uid create mode 100644 AGUI.Scripts/AGUI.Bases.Button3D.Collider.gd create mode 100644 AGUI.Scripts/AGUI.Bases.Button3D.Collider.gd.uid create mode 100644 AGUI.Scripts/AGUI.Bases.Button3D.gd create mode 100644 AGUI.Scripts/AGUI.Bases.Button3D.gd.uid create mode 100644 AGUI.gd create mode 100644 AGUI.gd.uid diff --git a/AGUI.Bases.Button3D.tscn b/AGUI.Bases.Button3D.tscn new file mode 100644 index 0000000..8435926 --- /dev/null +++ b/AGUI.Bases.Button3D.tscn @@ -0,0 +1,63 @@ +[gd_scene format=3 uid="uid://icaxptclt0rm"] + +[ext_resource type="Script" uid="uid://dwbx108724v25" path="res://AgainstGravityUI/AGUI.Scripts/AGUI.Bases.Button3D.gd" id="1_1du0n"] +[ext_resource type="Script" uid="uid://cbexo34ybb17a" path="res://AgainstGravityUI/AGUI.Scripts/AGUI.Bases.Button3D.Collider.gd" id="2_xjbij"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_xeeyd"] + +[sub_resource type="Animation" id="Animation_1du0n"] +length = 0.001 +tracks/0/type = "position_3d" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("StaticBody3D/MeshRoot") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, 0) + +[sub_resource type="Animation" id="Animation_xjbij"] +resource_name = "interact" +length = 0.1 +tracks/0/type = "position_3d" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("StaticBody3D/MeshRoot") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, 0, 0.03333334, 1, 0, -0.05, 0) + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_7pntp"] +_data = { +&"RESET": SubResource("Animation_1du0n"), +&"interact": SubResource("Animation_xjbij") +} + +[node name="AGUIButtonBase3D" type="Node3D" unique_id=81597797] +script = ExtResource("1_1du0n") + +[node name="StaticBody3D" type="StaticBody3D" parent="." unique_id=1473098479] +collision_layer = 2 +collision_mask = 2 +script = ExtResource("2_xjbij") + +[node name="Collider" type="CollisionShape3D" parent="StaticBody3D" unique_id=335334790] +transform = Transform3D(1, 0, 0, 0, 0.011110017, 0, 0, 0, 1, 0, 0, 0) +shape = SubResource("BoxShape3D_xeeyd") + +[node name="MeshRoot" type="CSGCombiner3D" parent="StaticBody3D" unique_id=1112723183] +transform = Transform3D(1, 0, 0, 0, 0.024529457, 0, 0, 0, 1, 0, 0, 0) +operation = 2 + +[node name="MainMesh" type="CSGBox3D" parent="StaticBody3D/MeshRoot" unique_id=1438018078] + +[node name="Subtractor_Box" type="CSGBox3D" parent="StaticBody3D/MeshRoot/MainMesh" unique_id=842962794] +operation = 2 + +[node name="Subtractor_Cylinder" type="CSGCylinder3D" parent="StaticBody3D/MeshRoot/MainMesh/Subtractor_Box" unique_id=1951089581] +transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0, 0) +operation = 2 +radius = 0.734 + +[node name="Animator" type="AnimationPlayer" parent="StaticBody3D" unique_id=53081295] +root_node = NodePath("../..") +libraries/ = SubResource("AnimationLibrary_7pntp") diff --git a/AGUI.Class.gd b/AGUI.Class.gd new file mode 100644 index 0000000..99f3978 --- /dev/null +++ b/AGUI.Class.gd @@ -0,0 +1,2 @@ +extends StaticBody3D +class_name AGUIRootNode diff --git a/AGUI.Class.gd.uid b/AGUI.Class.gd.uid new file mode 100644 index 0000000..7533220 --- /dev/null +++ b/AGUI.Class.gd.uid @@ -0,0 +1 @@ +uid://bhvtgi1j8wcqq diff --git a/AGUI.Scripts/AGUI.Bases.Button3D.Collider.gd b/AGUI.Scripts/AGUI.Bases.Button3D.Collider.gd new file mode 100644 index 0000000..3bd17d3 --- /dev/null +++ b/AGUI.Scripts/AGUI.Bases.Button3D.Collider.gd @@ -0,0 +1,34 @@ +extends StaticBody3D + +var baseColor : Color +var pressedColor : Color +@onready var Animator = $Animator +var pressed : bool = false +var ButtonMaterial : StandardMaterial3D = StandardMaterial3D.new() + +func _initButton(BaseColor:Color,PressedColor:Color): + baseColor=BaseColor + pressedColor=PressedColor + ButtonMaterial.albedo_color = BaseColor + +func _ready() -> void: + + $MeshRoot.material_override = ButtonMaterial + ButtonMaterial.albedo_color = baseColor + Animator.get_animation("interact").loop_mode = Animation.LOOP_NONE + +func press(): + if !pressed: + $"..".buttonPressed.emit() + $"..".buttonUpdated.emit() + Animator.play("interact") + ButtonMaterial.albedo_color = pressedColor + pressed=true + +func release(): + if pressed: + $"..".buttonReleased.emit() + $"..".buttonUpdated.emit() + Animator.play_backwards("interact") + ButtonMaterial.albedo_color = baseColor + pressed=false diff --git a/AGUI.Scripts/AGUI.Bases.Button3D.Collider.gd.uid b/AGUI.Scripts/AGUI.Bases.Button3D.Collider.gd.uid new file mode 100644 index 0000000..72a90e8 --- /dev/null +++ b/AGUI.Scripts/AGUI.Bases.Button3D.Collider.gd.uid @@ -0,0 +1 @@ +uid://cbexo34ybb17a diff --git a/AGUI.Scripts/AGUI.Bases.Button3D.gd b/AGUI.Scripts/AGUI.Bases.Button3D.gd new file mode 100644 index 0000000..7612ece --- /dev/null +++ b/AGUI.Scripts/AGUI.Bases.Button3D.gd @@ -0,0 +1,13 @@ +extends Node3D + +signal buttonPressed +signal buttonReleased +signal buttonUpdated + +@export_category("Visuals") +@export var baseColor : Color +@export var pressedColor : Color + +func _ready() -> void: + $StaticBody3D._initButton(baseColor,pressedColor) + print(baseColor,pressedColor) diff --git a/AGUI.Scripts/AGUI.Bases.Button3D.gd.uid b/AGUI.Scripts/AGUI.Bases.Button3D.gd.uid new file mode 100644 index 0000000..8785c0d --- /dev/null +++ b/AGUI.Scripts/AGUI.Bases.Button3D.gd.uid @@ -0,0 +1 @@ +uid://dwbx108724v25 diff --git a/AGUI.gd b/AGUI.gd new file mode 100644 index 0000000..50c42e1 --- /dev/null +++ b/AGUI.gd @@ -0,0 +1,12 @@ +extends Node + +var GUIScreens : Dictionary = { + "Main": load("res://Player/AGUI.WatchPanels/AGUI.Watch.Main.tscn"), + "Settings": load("res://Player/AGUI.WatchPanels/AGUI.Watch.Settings.tscn") +} +var CurrentScreen : String = "" + +func freeWatch(): + if CurrentScreen != "": + get_node("/root/" + CurrentScreen).queue_free() + CurrentScreen = "" diff --git a/AGUI.gd.uid b/AGUI.gd.uid new file mode 100644 index 0000000..60ee807 --- /dev/null +++ b/AGUI.gd.uid @@ -0,0 +1 @@ +uid://dtu1iixrydyt