TwitchPlaysReverseJenga/scripts/PivotMover.gd
2024-05-18 21:43:09 +10:00

61 lines
1.2 KiB
GDScript

extends Node3D
#class_name
#Authored by Tom. Please consult for any modifications or major feature requests.
#region Variables
#Signals
#Enums
#Constants
#Exported Variables
#@export_group("Group")
#@export_subgroup("Subgroup")
@export var rotation_speed : float = 20 #degrees per second
@export var height_speed : float = 0.5 # m per second
@export_group("Node References")
@export var gizmo_pivot : Node3D
#Onready Variables
#Other Variables (please try to separate and organise!)
var target_rotation : float = 0
var target_height : float = 3.445
#endregion
#region Godot methods
func _ready():
#Runs when all children have entered the tree
pass
func _process(delta):
if abs(rotation_degrees.y - target_rotation) < 1:
rotation_degrees.y = target_rotation
else:
if(target_rotation > rotation_degrees.y):
rotation_degrees.y += rotation_speed * delta
else:
rotation_degrees.y -= rotation_speed * delta
pass
gizmo_pivot.rotation_degrees.y = rotation_degrees.y
#endregion
#region Signal methods
func _on_twitch_link_rotate_camera(direction, amount):
var dir
match direction:
"left" : dir = -1
"right" : dir = 1
target_rotation += dir * float(amount)
#endregion
#region Other methods (please try to separate and organise!)
#endregion