82 lines
2.5 KiB
GDScript3
82 lines
2.5 KiB
GDScript3
extends Node
|
|
|
|
|
|
# Declare member variables here. Examples:
|
|
# var a = 2
|
|
# var b = "text"
|
|
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
var root
|
|
var skel
|
|
var hair_skel
|
|
|
|
var garments = ["male-panties1", "male-shirt1"]
|
|
var garments_head = []
|
|
var basedir = "res://scenes/clothes/"
|
|
var material = preload("res://scenes/clothes/clothes-male.material")
|
|
func _ready():
|
|
root = get_parent()
|
|
call_deferred("setup_markers")
|
|
call_deferred("setup_garments")
|
|
func setup_markers():
|
|
var cmdq = []
|
|
if root.has_meta("cmdqueue"):
|
|
cmdq = root.get_meta("cmdqueue")
|
|
# cmdq.push_back(["hide_marker", "head/marker_talk"])
|
|
# cmdq.push_back(["hide_marker", "head/marker_hips_action"])
|
|
# cmdq.push_back(["register_marker", self, "hips/marker_dagger_sacrifice",
|
|
# {
|
|
# "method": "dagger_sacrifice"
|
|
# }
|
|
# ])
|
|
# cmdq.push_back(["hide_marker", "hips/marker_dagger_sacrifice"])
|
|
cmdq.push_back(["anim_state", "locomotion"])
|
|
root.set_meta("cmdqueue", cmdq)
|
|
func setup_garments():
|
|
skel = root.get_meta("skeleton")
|
|
hair_skel = root.get_meta("hair_skeleton")
|
|
|
|
print("garments for player")
|
|
for g in garments:
|
|
var m: MeshInstance = MeshInstance.new()
|
|
m.name = g
|
|
var geo: ArrayMesh = load(basedir + g + ".mesh")
|
|
print(g, " mesh: ", geo, "mat: ", material)
|
|
geo.surface_set_material(0, material)
|
|
m.mesh = geo
|
|
# m.skeleton = m.get_path_to(root.get_meta("skeleton"))
|
|
# = root.get_meta("skeleton")
|
|
skel.add_child(m)
|
|
m.transform = Transform()
|
|
for g in garments_head:
|
|
var m: MeshInstance = MeshInstance.new()
|
|
m.name = g
|
|
var geo: ArrayMesh = load(basedir + g + ".mesh")
|
|
print("mesh: ", geo, "mat: ", material)
|
|
geo.surface_set_material(0, material)
|
|
m.mesh = geo
|
|
# m.skeleton = m.get_path_to(root.get_meta("skeleton"))
|
|
# = root.get_meta("skeleton")
|
|
hair_skel.add_child(m)
|
|
m.transform = Transform()
|
|
#func _process(delta):
|
|
# if !skel:
|
|
# skel = root.get_meta("skeleton")
|
|
# var sacrifice_marker = skel.get_node("hips/marker_dagger_sacrifice")
|
|
# if sacrifice_marker.visible && !inventory.items.s_dagger:
|
|
# sacrifice_marker.hide()
|
|
# elif !sacrifice_marker.visible && inventory.items.s_dagger:
|
|
# sacrifice_marker.show()
|
|
|
|
#func dagger_sacrifice(data):
|
|
# print("dagger sacrifice")
|
|
# var cmdq = []
|
|
# var other = group_manager.player
|
|
# if other.has_meta("cmdqueue"):
|
|
# cmdq = other.get_meta("cmdqueue")
|
|
# cmdq.push_back(["anim_param", "blade_right/blend_amount", 1.0])
|
|
# cmdq.push_back(["equip", "wrist_r/weapon_right", "s_dagger"])
|
|
# other.set_meta("cmdqueue", cmdq)
|
|
# group_manager.submit_player_npc_event_arot(root, "sacrificed-a", root, "sacrificed", root)
|