]> Untitled Git - frog-ninja.git/blobdiff - skin/skin.gd
Separated the Visual from the Model
[frog-ninja.git] / skin / skin.gd
index 7780b64d82784ea5051db9620c5a767b74991e26..c9ed62e39cf119ed1d9bff2bba6b7f9353acc42e 100644 (file)
@@ -1,50 +1,8 @@
 extends Node3D
 extends Node3D
-class_name AnimatedSkin
+class_name SkeletonSkin3D
 
 
 
 
-@onready var animation_tree: AnimationTree = $AnimationTree
-@onready var animation_player: AnimationPlayer = $AnimationPlayer
-
-
-func left_hand_visible(b: bool = true):
-       %hand_L.visible = b
-
-
-func right_hand_visible(b: bool = true):
-       %hand_R.visible = b
-       
-
-func set_walking_speed(s: float):
-       animation_tree.set("parameters/walking speed/blend_position", s)
-
-### state transitions
-
-func transition(to_state: String):
-       animation_tree.set("parameters/state/transition_request", to_state)
-       
-func transition_idle():
-       transition("idle")
-
-func transition_move():
-       transition("move")
-
-func transition_dash():
-       transition("dash")
-
-func transition_slash():
-       transition("slash")
-
-func transition_shoot():
-       transition("shoot")
-
-func transition_fall():
-       transition("fall")
-
-func transition_fallToRoll():
-       transition("fallToRoll")
-
-func transition_fallToLanding():
-       transition("fallToLanding")
-
-func transition_suddenStop():
-       transition("suddenStop")
+func assign_skeleton(skeleton: Skeleton3D):
+       for mesh in get_children():
+               if mesh is MeshInstance3D:
+                       mesh.skeleton = skeleton.get_path()