From 5a3e52270e8926d5fa7b7514db829570e91b51b8 Mon Sep 17 00:00:00 2001 From: mathias Date: Sun, 2 Feb 2020 15:59:50 +0100 Subject: [PATCH] Bullhead playing animation --- BodyParts/BullHead.gd | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/BodyParts/BullHead.gd b/BodyParts/BullHead.gd index f80db9f..26f871c 100644 --- a/BodyParts/BullHead.gd +++ b/BodyParts/BullHead.gd @@ -1,16 +1,31 @@ extends PushingBodyPart -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" +onready var anim = get_node("Mesh/AnimationPlayer") # Called when the node enters the scene tree for the first time. -func _ready(): +func _ready() -> void: pass # Replace with function body. -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass +func _is_animation_playing(): + return anim.is_playing() + + +func action(): + anim.play("ArmatureAction") + + # Apply a slight counter force + var offset = transform.basis.xform(Vector3.ZERO) #transform.basis.xform(touch_area.global_transform.origin - base.global_transform.origin) * 0.5 + var direction = -(base.transform.basis.y - base.transform.basis.z).normalized() * 0.5 + + base.apply_impulse(offset, direction) + + +func push(body): + # We multiply by 0.1 because we only want it to spin slightly, it should mostly go up + var offset = transform.basis.xform(Vector3.ZERO) #transform.basis.xform(touch_area.global_transform.origin - base.global_transform.origin) * 0.5 + var direction = (base.transform.basis.y - base.transform.basis.z).normalized() * 19.0 + + base.apply_impulse(offset, direction)