Files
academy2-game/scripts/modules/player_clothes.gd
Segey Lapin d6c8a24f5a stuff
2021-10-26 21:52:15 +03:00

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)