.
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=14 format=3 uid="uid://boywgcl7f5ci6"]
|
[gd_scene load_steps=18 format=3 uid="uid://boywgcl7f5ci6"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://assets/characters/player.gd" id="1_bvkmh"]
|
[ext_resource type="Script" path="res://assets/characters/player.gd" id="1_bvkmh"]
|
||||||
[ext_resource type="Script" path="res://src/viewport.gd" id="3_d52t1"]
|
[ext_resource type="Script" path="res://src/viewport.gd" id="3_d52t1"]
|
||||||
@ -6,8 +6,12 @@
|
|||||||
[ext_resource type="SpineSkeletonFileResource" uid="uid://c3twn8iltvcj0" path="res://assets/characters/coco/coco_bandicoot.skel" id="4_m8s0r"]
|
[ext_resource type="SpineSkeletonFileResource" uid="uid://c3twn8iltvcj0" path="res://assets/characters/coco/coco_bandicoot.skel" id="4_m8s0r"]
|
||||||
[ext_resource type="Script" path="res://src/spine_sprite.gd" id="5_migwh"]
|
[ext_resource type="Script" path="res://src/spine_sprite.gd" id="5_migwh"]
|
||||||
[ext_resource type="Script" path="res://assets/characters/coco/states/idle.gd" id="6_0vw3v"]
|
[ext_resource type="Script" path="res://assets/characters/coco/states/idle.gd" id="6_0vw3v"]
|
||||||
|
[ext_resource type="Script" path="res://assets/characters/coco/states/move.gd" id="7_p4lpb"]
|
||||||
|
[ext_resource type="Script" path="res://assets/characters/coco/states/jump.gd" id="8_1523y"]
|
||||||
|
[ext_resource type="Script" path="res://assets/characters/coco/states/fall.gd" id="9_t8gpm"]
|
||||||
|
[ext_resource type="Script" path="res://assets/characters/coco/states/pause.gd" id="10_qwrnp"]
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_xbknf"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_05y88"]
|
||||||
viewport_path = NodePath("MeshInstance3D/SubViewport")
|
viewport_path = NodePath("MeshInstance3D/SubViewport")
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fy03b"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fy03b"]
|
||||||
@ -18,7 +22,7 @@ transparency = 1
|
|||||||
shading_mode = 0
|
shading_mode = 0
|
||||||
diffuse_mode = 3
|
diffuse_mode = 3
|
||||||
specular_mode = 1
|
specular_mode = 1
|
||||||
albedo_texture = SubResource("ViewportTexture_xbknf")
|
albedo_texture = SubResource("ViewportTexture_05y88")
|
||||||
billboard_mode = 1
|
billboard_mode = 1
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]
|
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]
|
||||||
@ -82,18 +86,32 @@ transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
|
|||||||
shape = SubResource("CylinderShape3D_cbp6h")
|
shape = SubResource("CylinderShape3D_cbp6h")
|
||||||
|
|
||||||
[node name="LimboHSM" type="LimboHSM" parent="."]
|
[node name="LimboHSM" type="LimboHSM" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
|
||||||
[node name="Idle" type="LimboState" parent="LimboHSM"]
|
[node name="Idle" type="LimboState" parent="LimboHSM" node_paths=PackedStringArray("sprite")]
|
||||||
script = ExtResource("6_0vw3v")
|
script = ExtResource("6_0vw3v")
|
||||||
|
sprite = NodePath("../../MeshInstance3D/SubViewport/SpineSprite")
|
||||||
|
|
||||||
[node name="Move" type="LimboState" parent="LimboHSM"]
|
[node name="Move" type="LimboState" parent="LimboHSM" node_paths=PackedStringArray("sprite")]
|
||||||
|
script = ExtResource("7_p4lpb")
|
||||||
|
sprite = NodePath("../../MeshInstance3D/SubViewport/SpineSprite")
|
||||||
|
|
||||||
[node name="Jump" type="LimboState" parent="LimboHSM"]
|
[node name="Jump" type="LimboState" parent="LimboHSM" node_paths=PackedStringArray("sprite")]
|
||||||
|
script = ExtResource("8_1523y")
|
||||||
|
sprite = NodePath("../../MeshInstance3D/SubViewport/SpineSprite")
|
||||||
|
|
||||||
[node name="Fall" type="LimboState" parent="LimboHSM"]
|
[node name="Fall" type="LimboState" parent="LimboHSM" node_paths=PackedStringArray("sprite")]
|
||||||
|
script = ExtResource("9_t8gpm")
|
||||||
|
sprite = NodePath("../../MeshInstance3D/SubViewport/SpineSprite")
|
||||||
|
|
||||||
[node name="Attack" type="LimboState" parent="LimboHSM"]
|
[node name="Run" type="LimboState" parent="LimboHSM"]
|
||||||
|
|
||||||
[node name="AirAttack" type="LimboState" parent="LimboHSM"]
|
[node name="Pause" type="LimboState" parent="LimboHSM" node_paths=PackedStringArray("sprite")]
|
||||||
|
script = ExtResource("10_qwrnp")
|
||||||
|
sprite = NodePath("../../MeshInstance3D/SubViewport/SpineSprite")
|
||||||
|
|
||||||
|
[node name="Spin" type="LimboState" parent="LimboHSM"]
|
||||||
|
|
||||||
|
[node name="AirSpin" type="LimboState" parent="LimboHSM"]
|
||||||
|
|
||||||
[node name="Crouch" type="LimboState" parent="LimboHSM"]
|
[node name="Crouch" type="LimboState" parent="LimboHSM"]
|
||||||
|
|||||||
@ -1,42 +1,54 @@
|
|||||||
coco_bandicoot.png
|
coco_bandicoot.png
|
||||||
size:523,522
|
size:522,812
|
||||||
filter:Linear,Linear
|
filter:Linear,Linear
|
||||||
scale:0.5
|
scale:0.5
|
||||||
accessories.png
|
accessories.png
|
||||||
bounds:442,162,47,57
|
bounds:202,62,47,57
|
||||||
coco_arm_back_1
|
coco_arm_back_1
|
||||||
bounds:111,4,99,173
|
bounds:419,637,99,173
|
||||||
offsets:0,0,100,173
|
offsets:0,0,100,173
|
||||||
rotate:90
|
|
||||||
coco_arm_front_1
|
coco_arm_front_1
|
||||||
bounds:286,41,88,198
|
bounds:253,77,88,198
|
||||||
rotate:90
|
|
||||||
coco_body_1
|
coco_body_1
|
||||||
bounds:220,131,135,212
|
bounds:2,121,135,229
|
||||||
offsets:0,0,139,212
|
offsets:0,0,139,229
|
||||||
coco_eyebrows_1
|
|
||||||
bounds:286,11,89,28
|
|
||||||
coco_eyewhite_1
|
|
||||||
bounds:2,2,107,104
|
|
||||||
offsets:2,0,109,104
|
|
||||||
coco_hand_back_1
|
|
||||||
bounds:442,221,61,59
|
|
||||||
coco_hand_front_1
|
|
||||||
bounds:442,282,79,61
|
|
||||||
coco_head_1
|
|
||||||
bounds:220,345,222,175
|
|
||||||
coco_leg_back_1
|
|
||||||
bounds:126,105,92,415
|
|
||||||
coco_leg_front_1
|
|
||||||
bounds:2,108,122,412
|
|
||||||
coco_ponytail_1
|
|
||||||
bounds:357,135,83,208
|
|
||||||
coco_pupil_back_1
|
|
||||||
bounds:220,115,14,27
|
|
||||||
rotate:90
|
rotate:90
|
||||||
|
coco_eyebrows_1
|
||||||
|
bounds:410,495,89,31
|
||||||
|
coco_eyewhite_1
|
||||||
|
bounds:416,528,107,104
|
||||||
|
offsets:2,0,109,104
|
||||||
|
rotate:90
|
||||||
|
coco_hand_back_1
|
||||||
|
bounds:431,122,61,59
|
||||||
|
coco_hand_front_1
|
||||||
|
bounds:347,483,79,61
|
||||||
|
rotate:90
|
||||||
|
coco_head_1
|
||||||
|
bounds:345,183,222,175
|
||||||
|
rotate:90
|
||||||
|
coco_laptop_1
|
||||||
|
bounds:2,2,198,117
|
||||||
|
coco_leg_back_1
|
||||||
|
bounds:2,718,92,415
|
||||||
|
rotate:90
|
||||||
|
coco_leg_front_1
|
||||||
|
bounds:2,594,122,412
|
||||||
|
rotate:90
|
||||||
|
coco_ponytail_1
|
||||||
|
bounds:253,277,90,188
|
||||||
|
coco_pupil_back_1
|
||||||
|
bounds:503,499,14,27
|
||||||
coco_pupil_front_1
|
coco_pupil_front_1
|
||||||
bounds:377,11,28,62
|
bounds:347,564,28,62
|
||||||
rotate:90
|
rotate:90
|
||||||
flower.png
|
flower.png
|
||||||
bounds:444,366,154,74
|
bounds:347,407,154,74
|
||||||
|
makeup_shotgun
|
||||||
|
bounds:2,467,343,125
|
||||||
|
makeup_shotgun_fx_0
|
||||||
|
bounds:343,105,76,86
|
||||||
|
rotate:90
|
||||||
|
makeup_shotgun_fx_1
|
||||||
|
bounds:2,258,207,249
|
||||||
rotate:90
|
rotate:90
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 204 KiB After Width: | Height: | Size: 220 KiB |
@ -4,7 +4,7 @@
|
|||||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://dn5wtcrr40ahd" path="res://assets/characters/coco/coco.tres" id="2_8ur8k"]
|
[ext_resource type="SpineSkeletonDataResource" uid="uid://dn5wtcrr40ahd" path="res://assets/characters/coco/coco.tres" id="2_8ur8k"]
|
||||||
[ext_resource type="Script" path="res://src/spine_sprite.gd" id="3_m02kv"]
|
[ext_resource type="Script" path="res://src/spine_sprite.gd" id="3_m02kv"]
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_8u2jr"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_ofb5q"]
|
||||||
viewport_path = NodePath("MeshInstance3D/SubViewport")
|
viewport_path = NodePath("MeshInstance3D/SubViewport")
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5xxpu"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5xxpu"]
|
||||||
@ -15,7 +15,7 @@ transparency = 1
|
|||||||
shading_mode = 0
|
shading_mode = 0
|
||||||
diffuse_mode = 3
|
diffuse_mode = 3
|
||||||
specular_mode = 1
|
specular_mode = 1
|
||||||
albedo_texture = SubResource("ViewportTexture_8u2jr")
|
albedo_texture = SubResource("ViewportTexture_ofb5q")
|
||||||
billboard_mode = 1
|
billboard_mode = 1
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]
|
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]
|
||||||
|
|||||||
12
assets/characters/coco/states/fall.gd
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
extends LimboState
|
||||||
|
|
||||||
|
@export var sprite: SpineSprite
|
||||||
|
|
||||||
|
func _enter() -> void:
|
||||||
|
Messagebus.COCO_STATE.emit(self.name)
|
||||||
|
agent.velocity.y = agent.JUMP_VELOCITY
|
||||||
|
var a = sprite.get_animation_state()
|
||||||
|
if a: a.set_animation("fall", true, 0)
|
||||||
|
|
||||||
|
func _update(delta) -> void:
|
||||||
|
pass
|
||||||
@ -1,15 +1,25 @@
|
|||||||
extends LimboState
|
extends LimboState
|
||||||
|
|
||||||
@export var animation_player: Node
|
@export var sprite: SpineSprite
|
||||||
@export var animation: SpineAnimationTrack
|
|
||||||
|
|
||||||
func _enter() -> void:
|
func _enter() -> void:
|
||||||
print("pretending to enter animation state")
|
Messagebus.COCO_STATE.emit(self.name)
|
||||||
|
var a = sprite.get_animation_state()
|
||||||
|
if a: a.set_animation("idle", true, 0)
|
||||||
|
if agent.armed:
|
||||||
|
a.add_animation("holding/shotgun", false, 1)
|
||||||
|
|
||||||
|
func _update(delta) -> void:
|
||||||
|
var a: Player = agent
|
||||||
|
a.apply_movement(delta)
|
||||||
|
if a.velocity.x != 0 or a.velocity.z != 0:
|
||||||
|
get_root().dispatch("to_move")
|
||||||
|
if Input.is_action_pressed("Pause"):
|
||||||
|
get_root().dispatch("to_pause")
|
||||||
|
agent.check_jump_input(delta)
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
pass # Replace with function body.
|
pass # Replace with function body.
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
pass
|
pass
|
||||||
|
|||||||
22
assets/characters/coco/states/jump.gd
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
extends LimboState
|
||||||
|
|
||||||
|
@export var sprite: SpineSprite
|
||||||
|
|
||||||
|
func _enter() -> void:
|
||||||
|
Messagebus.COCO_STATE.emit(self.name)
|
||||||
|
var a = sprite.get_animation_state()
|
||||||
|
if a: a.set_animation("jump", false, 0)
|
||||||
|
|
||||||
|
|
||||||
|
func _update(delta) -> void:
|
||||||
|
#if agent.velocity.y < 0 and !agent.is_on_floor():
|
||||||
|
#get_root().dispatch("to_fall")
|
||||||
|
if agent.is_on_floor():
|
||||||
|
get_root().dispatch("to_move")
|
||||||
|
agent.apply_movement(delta)
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
pass
|
||||||
22
assets/characters/coco/states/move.gd
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
extends LimboState
|
||||||
|
|
||||||
|
@export var sprite: SpineSprite
|
||||||
|
|
||||||
|
func _enter() -> void:
|
||||||
|
Messagebus.COCO_STATE.emit(self.name)
|
||||||
|
var a = sprite.get_animation_state()
|
||||||
|
if a: a.set_animation("move", true, 0)
|
||||||
|
if true:
|
||||||
|
a.set_animation("holding/shotgun", false, 1)
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
func _update(delta) -> void:
|
||||||
|
agent.apply_movement(delta)
|
||||||
|
if agent.velocity.x == 0 and agent.velocity.z == 0:
|
||||||
|
get_root().dispatch("to_idle")
|
||||||
|
agent.check_jump_input(delta)
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
pass
|
||||||
22
assets/characters/coco/states/pause.gd
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
extends LimboState
|
||||||
|
|
||||||
|
@export var sprite: SpineSprite
|
||||||
|
|
||||||
|
func _enter() -> void:
|
||||||
|
sprite.animation_event.connect(emit_show_laptop)
|
||||||
|
var a = sprite.get_animation_state()
|
||||||
|
if agent.can_pause:
|
||||||
|
a.set_empty_animation(0, 0.4)
|
||||||
|
a.set_animation("holding/laptop", false, 1)
|
||||||
|
#Messagebus.PAUSE.emit(true)
|
||||||
|
|
||||||
|
|
||||||
|
func emit_show_laptop(sprite: SpineSprite, animation_state: SpineAnimationState, track_entry: SpineTrackEntry, event: SpineEvent):
|
||||||
|
print("spine event"+str(event))
|
||||||
|
var event_name = event.get_data().get_event_name()
|
||||||
|
if event_name == "show_laptop":
|
||||||
|
Messagebus.LAPTOP.emit(true)
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
pass
|
||||||
@ -1,27 +1,50 @@
|
|||||||
extends CharacterBody3D
|
extends CharacterBody3D
|
||||||
|
class_name Player
|
||||||
|
|
||||||
const SPEED = 150.0
|
const SPEED = 150.0
|
||||||
const RUN_SPEED = 400.0
|
const RUN_SPEED = 400.0
|
||||||
const JUMP_VELOCITY = 200
|
const JUMP_VELOCITY = 200
|
||||||
|
|
||||||
#
|
@export var state_machine: LimboHSM
|
||||||
#@export var state_machine: LimboHSM
|
@onready var idle_state: LimboState = $LimboHSM/Idle
|
||||||
## States
|
@onready var move_state: LimboState = $LimboHSM/Move
|
||||||
#@onready var idle_state: LimboState = $LimboHSM/Idle
|
@onready var jump_state: LimboState = $LimboHSM/Jump
|
||||||
|
@onready var fall_state: LimboState = $LimboHSM/Fall
|
||||||
|
@onready var pause_state: LimboState = $LimboHSM/Pause
|
||||||
|
|
||||||
|
var movement_input = Vector3.ZERO
|
||||||
var last_direction:= Vector3.ONE
|
var last_direction:= Vector3.ONE
|
||||||
@onready var camera: Camera3D = $Camera3D
|
@onready var camera: Camera3D = $Camera3D
|
||||||
#
|
|
||||||
#func _ready():
|
var armed = false
|
||||||
#_initialize_state_machine()
|
var can_pause = true
|
||||||
#
|
|
||||||
#func _initialize_state_machine():
|
func _ready():
|
||||||
#state_machine.initial_state = idle_state
|
state_machine = $LimboHSM
|
||||||
#state_machine.initialize(self)
|
_initialize_state_machine()
|
||||||
#state_machine.set_active(true)
|
GDRx.on_physics_step()\
|
||||||
#
|
.subscribe(check_buffered_jump).dispose_with(self)
|
||||||
func _physics_process(delta: float) -> void:
|
GDRx.on_physics_step()\
|
||||||
|
.subscribe(check_coyote_jump).dispose_with(self)
|
||||||
|
GDRx.on_physics_step()\
|
||||||
|
.subscribe(handle_jump).dispose_with(self)
|
||||||
|
GDRx.on_physics_step()\
|
||||||
|
.subscribe(handle_move).dispose_with(self)
|
||||||
|
|
||||||
|
func _initialize_state_machine():
|
||||||
|
state_machine.add_transition(idle_state, move_state, "to_move")
|
||||||
|
state_machine.add_transition(move_state, idle_state, "to_idle")
|
||||||
|
state_machine.add_transition(move_state, jump_state, "to_jump")
|
||||||
|
state_machine.add_transition(idle_state, jump_state, "to_jump")
|
||||||
|
state_machine.add_transition(jump_state, fall_state, "to_fall")
|
||||||
|
state_machine.add_transition(state_machine.ANYSTATE, pause_state, "to_pause")
|
||||||
|
|
||||||
|
state_machine.initial_state = idle_state
|
||||||
|
state_machine.initialize(self)
|
||||||
|
state_machine.set_active(true)
|
||||||
|
|
||||||
|
|
||||||
|
func apply_movement(delta: float) -> void:
|
||||||
# Add the gravity.
|
# Add the gravity.
|
||||||
if not is_on_floor():
|
if not is_on_floor():
|
||||||
velocity += get_gravity() * delta
|
velocity += get_gravity() * delta
|
||||||
@ -29,18 +52,88 @@ func _physics_process(delta: float) -> void:
|
|||||||
self.velocity.x = delta * k * Input.get_axis("move_left", "move_right")
|
self.velocity.x = delta * k * Input.get_axis("move_left", "move_right")
|
||||||
self.velocity.z = delta * k * Input.get_axis("move_forward", "move_back")
|
self.velocity.z = delta * k * Input.get_axis("move_forward", "move_back")
|
||||||
|
|
||||||
|
if Input.is_key_pressed(KEY_E):
|
||||||
|
var s: SpineSprite = $MeshInstance3D/SubViewport/SpineSprite
|
||||||
|
var a = s.get_animation_state()
|
||||||
|
a.set_animation("holding/shoot", false, 3)
|
||||||
|
shoot_gun()
|
||||||
|
armed = !armed
|
||||||
Messagebus.DEBUG_XYZ.emit(self.global_transform.origin)
|
Messagebus.DEBUG_XYZ.emit(self.global_transform.origin)
|
||||||
|
|
||||||
if Input.is_action_just_pressed("jump") and is_on_floor():
|
|
||||||
self.velocity.y = delta * JUMP_VELOCITY
|
|
||||||
var i = Input.get_axis("move_left", "move_right")
|
|
||||||
if snapped(i, 1):
|
|
||||||
last_direction = Vector3(sign(i), 1, 1)
|
|
||||||
var t: Material = $MeshInstance3D.material_override
|
|
||||||
t.uv1_scale = last_direction
|
|
||||||
|
|
||||||
move_and_slide()
|
move_and_slide()
|
||||||
|
|
||||||
|
func shoot_gun():
|
||||||
|
var space_state = get_world_3d().direct_space_state
|
||||||
|
|
||||||
|
# use global coordinates, not local to node
|
||||||
|
var start = self.to_global(Vector3(0, 0, 0))
|
||||||
|
var end = self.to_global(Vector3(50, 0, 0)) * sign(last_direction.x)
|
||||||
|
line(start, end, Color.BLACK, 4)
|
||||||
|
var query = PhysicsRayQueryParameters3D.create(start, end)
|
||||||
|
query.exclude = [self]
|
||||||
|
var result = space_state.intersect_ray(query)
|
||||||
|
print(result)
|
||||||
|
|
||||||
|
func line(pos1: Vector3, pos2: Vector3, color = Color.BLACK, persist_ms = 0):
|
||||||
|
var mesh_instance := MeshInstance3D.new()
|
||||||
|
var immediate_mesh := ImmediateMesh.new()
|
||||||
|
var material := ORMMaterial3D.new()
|
||||||
|
|
||||||
|
mesh_instance.mesh = immediate_mesh
|
||||||
|
mesh_instance.cast_shadow = GeometryInstance3D.SHADOW_CASTING_SETTING_OFF
|
||||||
|
|
||||||
|
immediate_mesh.surface_begin(Mesh.PRIMITIVE_LINES, material)
|
||||||
|
immediate_mesh.surface_add_vertex(pos1)
|
||||||
|
immediate_mesh.surface_add_vertex(pos1-Vector3(0,0,0.2))
|
||||||
|
immediate_mesh.surface_add_vertex(pos2)
|
||||||
|
immediate_mesh.surface_add_vertex(pos2-Vector3(0,0,0.2))
|
||||||
|
immediate_mesh.surface_end()
|
||||||
|
|
||||||
|
material.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED
|
||||||
|
material.albedo_color = color
|
||||||
|
|
||||||
|
return await final_cleanup(mesh_instance, persist_ms)
|
||||||
|
|
||||||
|
|
||||||
|
func final_cleanup(mesh_instance: MeshInstance3D, persist_ms: float):
|
||||||
|
get_tree().get_root().add_child(mesh_instance)
|
||||||
|
if persist_ms == 1:
|
||||||
|
await get_tree().physics_frame
|
||||||
|
mesh_instance.queue_free()
|
||||||
|
elif persist_ms > 0:
|
||||||
|
await get_tree().create_timer(persist_ms).timeout
|
||||||
|
mesh_instance.queue_free()
|
||||||
|
else:
|
||||||
|
return mesh_instance
|
||||||
|
|
||||||
|
func apply_jump() -> void:
|
||||||
|
pass
|
||||||
|
#move_and_slide()
|
||||||
|
|
||||||
|
func check_coyote_jump(delta) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
func check_buffered_jump(delta) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
func handle_jump(delta) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
func handle_move(delta) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
func check_jump_input(delta) -> void:
|
||||||
|
check_coyote_jump(delta)
|
||||||
|
check_buffered_jump(delta)
|
||||||
|
if Input.is_action_just_pressed("jump") and is_on_floor():
|
||||||
|
state_machine.dispatch("to_jump")
|
||||||
|
self.velocity.y = delta * JUMP_VELOCITY
|
||||||
|
|
||||||
|
func _physics_process(delta: float) -> void:
|
||||||
|
var i = Input.get_axis("move_left", "move_right")
|
||||||
|
if snapped(i, 1):
|
||||||
|
self.last_direction = Vector3(sign(i), 1, 1)
|
||||||
|
var t: Material = $MeshInstance3D.material_override
|
||||||
|
t.uv1_scale = self.last_direction
|
||||||
# handle camera
|
# handle camera
|
||||||
camera.position.x = lerp(camera.position.x, position.x, 0.08)
|
camera.position.x = lerp(camera.position.x, position.x, 0.08)
|
||||||
camera.position.y = lerp(camera.position.y, position.y, 0.08) + 0.07
|
camera.position.y = lerp(camera.position.y, position.y, 0.08) + 0.07
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
tawna.png
|
tawna.png
|
||||||
size:505,1156
|
size:248,580
|
||||||
filter:Linear,Linear
|
filter:Linear,Linear
|
||||||
scale:0.5
|
scale:0.5
|
||||||
tawna
|
tawna
|
||||||
bounds:2,2,501,1152
|
bounds:2,2,244,576
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 473 KiB After Width: | Height: | Size: 171 KiB |
@ -33,7 +33,7 @@ max_value = 200.0
|
|||||||
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.56535, 83.9717), 420.727, 420.727, 0, 0, Vector2(0.729483, 200), 0.0, 0.0, 0, 0]
|
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.56535, 83.9717), 420.727, 420.727, 0, 0, Vector2(0.729483, 200), 0.0, 0.0, 0, 0]
|
||||||
point_count = 3
|
point_count = 3
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_7i7n4"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_cdclm"]
|
||||||
viewport_path = NodePath("MeshInstance3D/SubViewport")
|
viewport_path = NodePath("MeshInstance3D/SubViewport")
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"]
|
||||||
@ -41,7 +41,7 @@ transparency = 1
|
|||||||
shading_mode = 0
|
shading_mode = 0
|
||||||
diffuse_mode = 3
|
diffuse_mode = 3
|
||||||
specular_mode = 1
|
specular_mode = 1
|
||||||
albedo_texture = SubResource("ViewportTexture_7i7n4")
|
albedo_texture = SubResource("ViewportTexture_cdclm")
|
||||||
billboard_mode = 1
|
billboard_mode = 1
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]
|
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]
|
||||||
@ -105,7 +105,8 @@ canvas_cull_mask = 4294966273
|
|||||||
size = Vector2i(3671, 3671)
|
size = Vector2i(3671, 3671)
|
||||||
|
|
||||||
[node name="SpineSprite" type="SpineSprite" parent="MeshInstance3D/SubViewport"]
|
[node name="SpineSprite" type="SpineSprite" parent="MeshInstance3D/SubViewport"]
|
||||||
position = Vector2(1358, 0)
|
position = Vector2(1827, 2016)
|
||||||
|
scale = Vector2(2, 2)
|
||||||
skeleton_data_res = SubResource("SpineSkeletonDataResource_ufcij")
|
skeleton_data_res = SubResource("SpineSkeletonDataResource_ufcij")
|
||||||
meshes = true
|
meshes = true
|
||||||
preview_skin = "default"
|
preview_skin = "default"
|
||||||
|
|||||||
@ -71,14 +71,14 @@ data = PackedVector3Array(5, 0, 5, -5, 0, 5, 5, 0, -5, -5, 0, 5, -5, 0, -5, 5, 0
|
|||||||
vertices = PackedVector3Array(1.56663, 0.279793, -3.25, 1.56663, 0.279793, -2.75, 2.31663, 0.279793, -2.5, 4.31663, 0.279793, -3.25, 2.31663, 0.279793, -1.5, 1.56663, 0.279793, 2.5, 8.31663, 0.279793, 2.5, 8.31663, 0.279793, -4.5, 1.56663, 0.279793, -1.25, 4.31663, 0.279793, -4.5, 0.81663, 0.279793, -2.5, -5.68337, 0.279793, -3.25, 0.81663, 0.279793, -1.5, -5.68337, 0.279793, 2.5)
|
vertices = PackedVector3Array(1.56663, 0.279793, -3.25, 1.56663, 0.279793, -2.75, 2.31663, 0.279793, -2.5, 4.31663, 0.279793, -3.25, 2.31663, 0.279793, -1.5, 1.56663, 0.279793, 2.5, 8.31663, 0.279793, 2.5, 8.31663, 0.279793, -4.5, 1.56663, 0.279793, -1.25, 4.31663, 0.279793, -4.5, 0.81663, 0.279793, -2.5, -5.68337, 0.279793, -3.25, 0.81663, 0.279793, -1.5, -5.68337, 0.279793, 2.5)
|
||||||
polygons = [PackedInt32Array(1, 0, 2), PackedInt32Array(2, 0, 3), PackedInt32Array(4, 3, 5), PackedInt32Array(5, 3, 6), PackedInt32Array(6, 3, 7), PackedInt32Array(4, 2, 3), PackedInt32Array(5, 8, 4), PackedInt32Array(3, 9, 7), PackedInt32Array(1, 10, 0), PackedInt32Array(0, 10, 11), PackedInt32Array(8, 5, 12), PackedInt32Array(12, 5, 13), PackedInt32Array(12, 13, 11), PackedInt32Array(11, 10, 12)]
|
polygons = [PackedInt32Array(1, 0, 2), PackedInt32Array(2, 0, 3), PackedInt32Array(4, 3, 5), PackedInt32Array(5, 3, 6), PackedInt32Array(6, 3, 7), PackedInt32Array(4, 2, 3), PackedInt32Array(5, 8, 4), PackedInt32Array(3, 9, 7), PackedInt32Array(1, 10, 0), PackedInt32Array(0, 10, 11), PackedInt32Array(8, 5, 12), PackedInt32Array(12, 5, 13), PackedInt32Array(12, 13, 11), PackedInt32Array(11, 10, 12)]
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_lyeeo"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_cn41h"]
|
||||||
viewport_path = NodePath("NavigationRegion3D/MeshInstance3D/SubViewport")
|
viewport_path = NodePath("NavigationRegion3D/MeshInstance3D/SubViewport")
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mdr1l"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mdr1l"]
|
||||||
transparency = 2
|
transparency = 2
|
||||||
alpha_scissor_threshold = 0.5
|
alpha_scissor_threshold = 0.5
|
||||||
alpha_antialiasing_mode = 0
|
alpha_antialiasing_mode = 0
|
||||||
albedo_texture = SubResource("ViewportTexture_lyeeo")
|
albedo_texture = SubResource("ViewportTexture_cn41h")
|
||||||
metallic_specular = 0.0
|
metallic_specular = 0.0
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lrfyr"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lrfyr"]
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
[ext_resource type="Script" path="res://src/canvas_layer.gd" id="10_x3yev"]
|
[ext_resource type="Script" path="res://src/canvas_layer.gd" id="10_x3yev"]
|
||||||
|
|
||||||
[node name="Main" type="Node"]
|
[node name="Main" type="Node"]
|
||||||
|
process_mode = 3
|
||||||
script = ExtResource("1_l1pcn")
|
script = ExtResource("1_l1pcn")
|
||||||
test = 101
|
test = 101
|
||||||
|
|
||||||
@ -35,6 +36,7 @@ script = ExtResource("5_4aaix")
|
|||||||
script = ExtResource("6_oxtdj")
|
script = ExtResource("6_oxtdj")
|
||||||
|
|
||||||
[node name="LevelManager" type="Node" parent="."]
|
[node name="LevelManager" type="Node" parent="."]
|
||||||
|
process_mode = 1
|
||||||
script = ExtResource("6_xklu3")
|
script = ExtResource("6_xklu3")
|
||||||
|
|
||||||
[node name="CameraManager" type="Node" parent="."]
|
[node name="CameraManager" type="Node" parent="."]
|
||||||
|
|||||||
BIN
assets/spine/coco-walk/images/Copy of coco_arm_front_1.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dtk2iidlc7i0a"
|
||||||
|
path="res://.godot/imported/Copy of coco_arm_front_1.png-5926d54fd8d331028e1d23f32e01ae22.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/coco-walk/images/Copy of coco_arm_front_1.png"
|
||||||
|
dest_files=["res://.godot/imported/Copy of coco_arm_front_1.png-5926d54fd8d331028e1d23f32e01ae22.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 41 KiB |
BIN
assets/spine/coco-walk/images/coco_body_2.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
34
assets/spine/coco-walk/images/coco_body_2.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dalxlvqrv3xku"
|
||||||
|
path="res://.godot/imported/coco_body_2.png-08930752ff81f991009d83c86bef5d51.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/coco-walk/images/coco_body_2.png"
|
||||||
|
dest_files=["res://.godot/imported/coco_body_2.png-08930752ff81f991009d83c86bef5d51.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 71 KiB |
BIN
assets/spine/coco-walk/images/coco_head_2.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
34
assets/spine/coco-walk/images/coco_head_2.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bew858jkcyd8a"
|
||||||
|
path="res://.godot/imported/coco_head_2.png-fcf8c73db8028f0695e327ce3f17e227.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/coco-walk/images/coco_head_2.png"
|
||||||
|
dest_files=["res://.godot/imported/coco_head_2.png-fcf8c73db8028f0695e327ce3f17e227.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/coco-walk/images/coco_laptop_1.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
34
assets/spine/coco-walk/images/coco_laptop_1.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b34tqsmac3h5y"
|
||||||
|
path="res://.godot/imported/coco_laptop_1.png-fc0162ea4bfdc11b72bad2bf80a71225.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/coco-walk/images/coco_laptop_1.png"
|
||||||
|
dest_files=["res://.godot/imported/coco_laptop_1.png-fc0162ea4bfdc11b72bad2bf80a71225.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/coco-walk/images/coco_leg_back_2.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
34
assets/spine/coco-walk/images/coco_leg_back_2.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dbda31eli61mt"
|
||||||
|
path="res://.godot/imported/coco_leg_back_2.png-e2c8d576243cf02a82c3944da9749514.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/coco-walk/images/coco_leg_back_2.png"
|
||||||
|
dest_files=["res://.godot/imported/coco_leg_back_2.png-e2c8d576243cf02a82c3944da9749514.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/coco-walk/images/coco_leg_front_2.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
34
assets/spine/coco-walk/images/coco_leg_front_2.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dkvst4vvr44te"
|
||||||
|
path="res://.godot/imported/coco_leg_front_2.png-0443a34e668f5a3fa97cf22ee2e8d4df.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/coco-walk/images/coco_leg_front_2.png"
|
||||||
|
dest_files=["res://.godot/imported/coco_leg_front_2.png-0443a34e668f5a3fa97cf22ee2e8d4df.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 6.7 KiB |
BIN
assets/spine/coco-walk/images/makeup_shotgun.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
34
assets/spine/coco-walk/images/makeup_shotgun.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://daa4nh3vyyu4f"
|
||||||
|
path="res://.godot/imported/makeup_shotgun.png-ed09e1ad06d001e6ab56a822536fe663.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/coco-walk/images/makeup_shotgun.png"
|
||||||
|
dest_files=["res://.godot/imported/makeup_shotgun.png-ed09e1ad06d001e6ab56a822536fe663.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/coco-walk/images/makeup_shotgun_fx_0.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
34
assets/spine/coco-walk/images/makeup_shotgun_fx_0.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c728m6vxxhr5l"
|
||||||
|
path="res://.godot/imported/makeup_shotgun_fx_0.png-ba24f917faf9c3b0162b7d53b829f3da.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/coco-walk/images/makeup_shotgun_fx_0.png"
|
||||||
|
dest_files=["res://.godot/imported/makeup_shotgun_fx_0.png-ba24f917faf9c3b0162b7d53b829f3da.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/coco-walk/images/makeup_shotgun_fx_1.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
34
assets/spine/coco-walk/images/makeup_shotgun_fx_1.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dwurne0py6y33"
|
||||||
|
path="res://.godot/imported/makeup_shotgun_fx_1.png-b97eb4dd49b3856c1ff98fd3509cb8b0.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/coco-walk/images/makeup_shotgun_fx_1.png"
|
||||||
|
dest_files=["res://.godot/imported/makeup_shotgun_fx_1.png-b97eb4dd49b3856c1ff98fd3509cb8b0.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
@ -10,8 +10,8 @@
|
|||||||
"name": "test",
|
"name": "test",
|
||||||
"parent": "root",
|
"parent": "root",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"x": 242.5,
|
"x": 179.5000000000009,
|
||||||
"y": 1265.4999999999995
|
"y": 1334.4999999999995
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"slots": [
|
"slots": [
|
||||||
@ -33,12 +33,24 @@
|
|||||||
"attachment": "coco_leg_back_1",
|
"attachment": "coco_leg_back_1",
|
||||||
"blend": "normal"
|
"blend": "normal"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "coco_leg_back_2",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "coco_leg_back_2",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "coco_body_1",
|
"name": "coco_body_1",
|
||||||
"bone": "root",
|
"bone": "root",
|
||||||
"attachment": "coco_body_1",
|
"attachment": "coco_body_1",
|
||||||
"blend": "normal"
|
"blend": "normal"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "coco_body_2",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "coco_body_2",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "coco_hand_back_1",
|
"name": "coco_hand_back_1",
|
||||||
"bone": "root",
|
"bone": "root",
|
||||||
@ -51,6 +63,18 @@
|
|||||||
"attachment": "coco_arm_front_1",
|
"attachment": "coco_arm_front_1",
|
||||||
"blend": "normal"
|
"blend": "normal"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "coco_leg_front_2",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "coco_leg_front_2",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Copy of coco_arm_front_1",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "Copy of coco_arm_front_1",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "coco_hand_front_1",
|
"name": "coco_hand_front_1",
|
||||||
"bone": "root",
|
"bone": "root",
|
||||||
@ -63,6 +87,30 @@
|
|||||||
"attachment": "coco_ponytail_1",
|
"attachment": "coco_ponytail_1",
|
||||||
"blend": "normal"
|
"blend": "normal"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "makeup_shotgun",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "makeup_shotgun",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "makeup_shotgun_fx_0",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "makeup_shotgun_fx_0",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "makeup_shotgun_fx_1",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "makeup_shotgun_fx_1",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "coco_laptop_1",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "coco_laptop_1",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "coco_eyewhite_1",
|
"name": "coco_eyewhite_1",
|
||||||
"bone": "root",
|
"bone": "root",
|
||||||
@ -87,6 +135,12 @@
|
|||||||
"attachment": "coco_head_1",
|
"attachment": "coco_head_1",
|
||||||
"blend": "normal"
|
"blend": "normal"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "coco_head_2",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "coco_head_2",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "test",
|
"name": "test",
|
||||||
"bone": "test",
|
"bone": "test",
|
||||||
@ -98,116 +152,188 @@
|
|||||||
"default": {
|
"default": {
|
||||||
"coco_arm_back_1": {
|
"coco_arm_back_1": {
|
||||||
"coco_arm_back_1": {
|
"coco_arm_back_1": {
|
||||||
"x": 106.0,
|
"x": 43.0,
|
||||||
"y": 747.0,
|
"y": 787.0,
|
||||||
"width": 200,
|
"width": 200,
|
||||||
"height": 346
|
"height": 346
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"coco_leg_front_1": {
|
"coco_leg_front_1": {
|
||||||
"coco_leg_front_1": {
|
"coco_leg_front_1": {
|
||||||
"x": -101.0,
|
"x": -164.0,
|
||||||
"y": 270.0,
|
"y": 310.0,
|
||||||
"width": 244,
|
"width": 244,
|
||||||
"height": 824
|
"height": 824
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"coco_leg_back_1": {
|
"coco_leg_back_1": {
|
||||||
"coco_leg_back_1": {
|
"coco_leg_back_1": {
|
||||||
"x": 72.0,
|
"x": 9.0,
|
||||||
"y": 280.5,
|
"y": 320.5,
|
||||||
"width": 184,
|
"width": 184,
|
||||||
"height": 829
|
"height": 829
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"coco_leg_back_2": {
|
||||||
|
"coco_leg_back_2": {
|
||||||
|
"x": 428.5,
|
||||||
|
"y": 345.5,
|
||||||
|
"width": 175,
|
||||||
|
"height": 783
|
||||||
|
}
|
||||||
|
},
|
||||||
"coco_body_1": {
|
"coco_body_1": {
|
||||||
"coco_body_1": {
|
"coco_body_1": {
|
||||||
"x": -29.0,
|
"x": -92.0,
|
||||||
"y": 730.5,
|
"y": 788.0,
|
||||||
|
"width": 278,
|
||||||
|
"height": 458
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"coco_body_2": {
|
||||||
|
"coco_body_2": {
|
||||||
|
"x": 528.0,
|
||||||
|
"y": 790.5,
|
||||||
"width": 278,
|
"width": 278,
|
||||||
"height": 423
|
"height": 423
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"coco_hand_back_1": {
|
"coco_hand_back_1": {
|
||||||
"coco_hand_back_1": {
|
"coco_hand_back_1": {
|
||||||
"x": 213.5,
|
"x": 150.5,
|
||||||
"y": 591.0,
|
"y": 631.0,
|
||||||
"width": 121,
|
"width": 121,
|
||||||
"height": 118
|
"height": 118
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"coco_arm_front_1": {
|
"coco_arm_front_1": {
|
||||||
"coco_arm_front_1": {
|
"coco_arm_front_1": {
|
||||||
"x": -195.5,
|
"x": -258.5,
|
||||||
"y": 732.0,
|
"y": 772.0,
|
||||||
"width": 175,
|
"width": 175,
|
||||||
"height": 396
|
"height": 396
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"coco_leg_front_2": {
|
||||||
|
"coco_leg_front_2": {
|
||||||
|
"x": 869.5,
|
||||||
|
"y": 339.0,
|
||||||
|
"width": 847,
|
||||||
|
"height": 760
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Copy of coco_arm_front_1": {
|
||||||
|
"Copy of coco_arm_front_1": {
|
||||||
|
"x": 641.5,
|
||||||
|
"y": 753.5,
|
||||||
|
"width": 245,
|
||||||
|
"height": 419
|
||||||
|
}
|
||||||
|
},
|
||||||
"coco_hand_front_1": {
|
"coco_hand_front_1": {
|
||||||
"coco_hand_front_1": {
|
"coco_hand_front_1": {
|
||||||
"x": -270.5,
|
"x": -333.5,
|
||||||
"y": 548.0,
|
"y": 588.0,
|
||||||
"width": 157,
|
"width": 157,
|
||||||
"height": 122
|
"height": 122
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"coco_ponytail_1": {
|
"coco_ponytail_1": {
|
||||||
"coco_ponytail_1": {
|
"coco_ponytail_1": {
|
||||||
"x": -385.0,
|
"x": -561.0,
|
||||||
"y": 1426.0,
|
"y": 1485.5,
|
||||||
"width": 166,
|
"width": 180,
|
||||||
"height": 416
|
"height": 375
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"makeup_shotgun": {
|
||||||
|
"makeup_shotgun": {
|
||||||
|
"x": 403.5,
|
||||||
|
"y": 1760.0,
|
||||||
|
"width": 685,
|
||||||
|
"height": 250
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"makeup_shotgun_fx_0": {
|
||||||
|
"makeup_shotgun_fx_0": {
|
||||||
|
"x": 867.5,
|
||||||
|
"y": 1838.5,
|
||||||
|
"width": 151,
|
||||||
|
"height": 171
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"makeup_shotgun_fx_1": {
|
||||||
|
"makeup_shotgun_fx_1": {
|
||||||
|
"x": 1298.0,
|
||||||
|
"y": 1847.0,
|
||||||
|
"width": 414,
|
||||||
|
"height": 498
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"coco_laptop_1": {
|
||||||
|
"coco_laptop_1": {
|
||||||
|
"x": 927.0,
|
||||||
|
"y": 1504.5,
|
||||||
|
"width": 396,
|
||||||
|
"height": 233
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"coco_eyewhite_1": {
|
"coco_eyewhite_1": {
|
||||||
"coco_eyewhite_1": {
|
"coco_eyewhite_1": {
|
||||||
"x": -14.0,
|
"x": -77.0,
|
||||||
"y": 1076.0,
|
"y": 1116.0,
|
||||||
"width": 218,
|
"width": 218,
|
||||||
"height": 208
|
"height": 208
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"coco_pupil_back_1": {
|
"coco_pupil_back_1": {
|
||||||
"coco_pupil_back_1": {
|
"coco_pupil_back_1": {
|
||||||
"x": 37.5,
|
"x": -25.5,
|
||||||
"y": 1047.0,
|
"y": 1087.0,
|
||||||
"width": 27,
|
"width": 27,
|
||||||
"height": 54
|
"height": 54
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"coco_pupil_front_1": {
|
"coco_pupil_front_1": {
|
||||||
"coco_pupil_front_1": {
|
"coco_pupil_front_1": {
|
||||||
"x": -35.5,
|
"x": -98.5,
|
||||||
"y": 1022.0,
|
"y": 1062.0,
|
||||||
"width": 55,
|
"width": 55,
|
||||||
"height": 124
|
"height": 124
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"coco_head_1": {
|
"coco_head_1": {
|
||||||
"coco_head_1": {
|
"coco_head_1": {
|
||||||
"x": 9.5,
|
"x": -53.5,
|
||||||
"y": 1090.5,
|
"y": 1130.5,
|
||||||
"width": 443,
|
"width": 443,
|
||||||
"height": 349
|
"height": 349
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"coco_head_2": {
|
||||||
|
"coco_head_2": {
|
||||||
|
"x": 529.5,
|
||||||
|
"y": 1136.5,
|
||||||
|
"width": 411,
|
||||||
|
"height": 361
|
||||||
|
}
|
||||||
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"coco_eyebrows_1": {
|
"coco_eyebrows_1": {
|
||||||
"x": -234.0,
|
"x": -234.0,
|
||||||
"y": -133.0,
|
"y": -159.0,
|
||||||
"width": 177,
|
"width": 177,
|
||||||
"height": 55
|
"height": 61
|
||||||
},
|
},
|
||||||
"accessories.png": {
|
"accessories.png": {
|
||||||
"x": 125.5,
|
"x": -121.5,
|
||||||
"y": -98.0,
|
"y": 133.0,
|
||||||
"width": 94,
|
"width": 94,
|
||||||
"height": 113
|
"height": 113
|
||||||
},
|
},
|
||||||
"flower.png": {
|
"flower.png": {
|
||||||
"x": 168.5,
|
"x": 168.5,
|
||||||
"y": 87.0,
|
"y": 58.0,
|
||||||
"width": 308,
|
"width": 308,
|
||||||
"height": 147
|
"height": 147
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
assets/spine/menu/images/Paint Layer 2.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
34
assets/spine/menu/images/Paint Layer 2.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://1cpwkt3c3ote"
|
||||||
|
path="res://.godot/imported/Paint Layer 2.png-c35a357f49dc209385fae2819edf8b58.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/menu/images/Paint Layer 2.png"
|
||||||
|
dest_files=["res://.godot/imported/Paint Layer 2.png-c35a357f49dc209385fae2819edf8b58.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/menu/images/hand.png
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
34
assets/spine/menu/images/hand.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://be8xujh4bijbf"
|
||||||
|
path="res://.godot/imported/hand.png-6af6f0867f65a84e5c3ba9536ec71f50.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/menu/images/hand.png"
|
||||||
|
dest_files=["res://.godot/imported/hand.png-6af6f0867f65a84e5c3ba9536ec71f50.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/menu/images/inv_screen.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
34
assets/spine/menu/images/inv_screen.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dayktnhj5oaqg"
|
||||||
|
path="res://.godot/imported/inv_screen.png-42600d6fffc14f704c343b178450af56.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/menu/images/inv_screen.png"
|
||||||
|
dest_files=["res://.godot/imported/inv_screen.png-42600d6fffc14f704c343b178450af56.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/menu/images/journal_screen.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
34
assets/spine/menu/images/journal_screen.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bkwgroj1wf15q"
|
||||||
|
path="res://.godot/imported/journal_screen.png-9179f4e44a8c1aa6e251ac1447c4aa80.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/menu/images/journal_screen.png"
|
||||||
|
dest_files=["res://.godot/imported/journal_screen.png-9179f4e44a8c1aa6e251ac1447c4aa80.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/menu/images/laptop.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
34
assets/spine/menu/images/laptop.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dnfw43vfvgjfo"
|
||||||
|
path="res://.godot/imported/laptop.png-539b91d8263f66e2366aedc7afab93f4.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/menu/images/laptop.png"
|
||||||
|
dest_files=["res://.godot/imported/laptop.png-539b91d8263f66e2366aedc7afab93f4.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/menu/images/menu_screen.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
34
assets/spine/menu/images/menu_screen.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bwcq0b2xs4frm"
|
||||||
|
path="res://.godot/imported/menu_screen.png-62927edcc4dfcc13ab17ad3a9e335ea4.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/menu/images/menu_screen.png"
|
||||||
|
dest_files=["res://.godot/imported/menu_screen.png-62927edcc4dfcc13ab17ad3a9e335ea4.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/menu/images/pointer.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
34
assets/spine/menu/images/pointer.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cbn6tah6kf3jc"
|
||||||
|
path="res://.godot/imported/pointer.png-4c58a57bd1fd0b4cf01b8bf522542c9b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/menu/images/pointer.png"
|
||||||
|
dest_files=["res://.godot/imported/pointer.png-4c58a57bd1fd0b4cf01b8bf522542c9b.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
129
assets/spine/menu/images/spine.json
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
{
|
||||||
|
"skeleton": {
|
||||||
|
"images": "/home/user/Projects/Games/Test/assets/spine/menu/images/"
|
||||||
|
},
|
||||||
|
"bones": [
|
||||||
|
{
|
||||||
|
"name": "root"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"slots": [
|
||||||
|
{
|
||||||
|
"name": "Paint Layer 2",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "Paint Layer 2",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "journal_screen",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "journal_screen",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "menu_screen",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "menu_screen",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stats_screen",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "stats_screen",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "inv_screen",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "inv_screen",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "laptop",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "laptop",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hand",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "hand",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pointer",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "pointer",
|
||||||
|
"blend": "normal"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skins": {
|
||||||
|
"default": {
|
||||||
|
"Paint Layer 2": {
|
||||||
|
"Paint Layer 2": {
|
||||||
|
"x": -4.0,
|
||||||
|
"y": 533.0,
|
||||||
|
"width": 1128,
|
||||||
|
"height": 974
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"journal_screen": {
|
||||||
|
"journal_screen": {
|
||||||
|
"x": 5.5,
|
||||||
|
"y": 560.0,
|
||||||
|
"width": 1029,
|
||||||
|
"height": 800
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"menu_screen": {
|
||||||
|
"menu_screen": {
|
||||||
|
"x": 5.5,
|
||||||
|
"y": 560.0,
|
||||||
|
"width": 1029,
|
||||||
|
"height": 800
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stats_screen": {
|
||||||
|
"stats_screen": {
|
||||||
|
"x": 6.5,
|
||||||
|
"y": 560.0,
|
||||||
|
"width": 1027,
|
||||||
|
"height": 800
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"inv_screen": {
|
||||||
|
"inv_screen": {
|
||||||
|
"x": 5.5,
|
||||||
|
"y": 560.0,
|
||||||
|
"width": 1029,
|
||||||
|
"height": 800
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"laptop": {
|
||||||
|
"laptop": {
|
||||||
|
"x": 11.5,
|
||||||
|
"y": 423.0,
|
||||||
|
"width": 1477,
|
||||||
|
"height": 1274
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hand": {
|
||||||
|
"hand": {
|
||||||
|
"x": 424.0,
|
||||||
|
"y": -131.5,
|
||||||
|
"width": 472,
|
||||||
|
"height": 249
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pointer": {
|
||||||
|
"pointer": {
|
||||||
|
"x": -336.5,
|
||||||
|
"y": 916.0,
|
||||||
|
"width": 95,
|
||||||
|
"height": 88
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"animations": {}
|
||||||
|
}
|
||||||
BIN
assets/spine/menu/images/stats_screen.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
34
assets/spine/menu/images/stats_screen.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bpw2brxlsumv6"
|
||||||
|
path="res://.godot/imported/stats_screen.png-302aca7bfa2eea78da137d33367ee802.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/menu/images/stats_screen.png"
|
||||||
|
dest_files=["res://.godot/imported/stats_screen.png-302aca7bfa2eea78da137d33367ee802.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/menu/menu.spine
Normal file
BIN
assets/spine/tawna/hairpin.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
34
assets/spine/tawna/hairpin.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cuvo5xehbgfpo"
|
||||||
|
path="res://.godot/imported/hairpin.png-d317e6ed5bffcd982f5b071c30cd3f0f.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/tawna/hairpin.png"
|
||||||
|
dest_files=["res://.godot/imported/hairpin.png-d317e6ed5bffcd982f5b071c30cd3f0f.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
59
assets/spine/tawna/spine.json
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
"skeleton": {
|
||||||
|
"images": "/home/user/Projects/Games/Test/assets/spine/tawna/"
|
||||||
|
},
|
||||||
|
"bones": [
|
||||||
|
{
|
||||||
|
"name": "root"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"slots": [
|
||||||
|
{
|
||||||
|
"name": "hairpin",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "hairpin",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "tawna",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "tawna",
|
||||||
|
"blend": "normal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "tawna2",
|
||||||
|
"bone": "root",
|
||||||
|
"attachment": "tawna2",
|
||||||
|
"blend": "normal"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skins": {
|
||||||
|
"default": {
|
||||||
|
"hairpin": {
|
||||||
|
"hairpin": {
|
||||||
|
"x": 3667.36,
|
||||||
|
"y": -2791.74,
|
||||||
|
"width": 94,
|
||||||
|
"height": 113
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tawna": {
|
||||||
|
"tawna": {
|
||||||
|
"x": 3424.86,
|
||||||
|
"y": -3257.24,
|
||||||
|
"width": 487,
|
||||||
|
"height": 1152
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tawna2": {
|
||||||
|
"tawna2": {
|
||||||
|
"x": 3424.86,
|
||||||
|
"y": -3257.24,
|
||||||
|
"width": 487,
|
||||||
|
"height": 1152
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"animations": {}
|
||||||
|
}
|
||||||
BIN
assets/spine/tawna/tawna.png
Normal file
|
After Width: | Height: | Size: 459 KiB |
34
assets/spine/tawna/tawna.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://djs2larjanlvv"
|
||||||
|
path="res://.godot/imported/tawna.png-1d74aecd9c905845687936a1f88f0c4f.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/tawna/tawna.png"
|
||||||
|
dest_files=["res://.godot/imported/tawna.png-1d74aecd9c905845687936a1f88f0c4f.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/spine/tawna/tawna.spine
Normal file
BIN
assets/spine/tawna/tawna2.png
Normal file
|
After Width: | Height: | Size: 458 KiB |
34
assets/spine/tawna/tawna2.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cmqeoeh8sgisa"
|
||||||
|
path="res://.godot/imported/tawna2.png-36c7cd5d1e0c89767b6e48c5667f0d64.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/spine/tawna/tawna2.png"
|
||||||
|
dest_files=["res://.godot/imported/tawna2.png-36c7cd5d1e0c89767b6e48c5667f0d64.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
@ -1,8 +1,16 @@
|
|||||||
extends CanvasLayer
|
extends CanvasLayer
|
||||||
|
|
||||||
|
@onready var sprite: SpineSprite = $LaptopMenu/Control/SpineSprite
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
GDRx.from_signal(Messagebus.DEBUG_XYZ).subscribe(display_xy).dispose_with(self)
|
GDRx.from_signal(Messagebus.DEBUG_XYZ).subscribe(display_xy).dispose_with(self)
|
||||||
GDRx.from_signal(Messagebus.CHANGE_SCENE).subscribe(display_map).dispose_with(self)
|
GDRx.from_signal(Messagebus.CHANGE_SCENE).subscribe(display_map).dispose_with(self)
|
||||||
|
GDRx.from_signal(Messagebus.COCO_STATE).subscribe(display_state).dispose_with(self)
|
||||||
|
|
||||||
|
func display_state(name: String) -> void:
|
||||||
|
var coco_state = "Idle"
|
||||||
|
var state_label = $Control/MarginContainer/BoxContainer/VBoxContainer/StateLabel
|
||||||
|
state_label.text = "State:"+name
|
||||||
|
|
||||||
#$FlipPage.set_shader_parameter("scale", Vector3(100,100,100))
|
#$FlipPage.set_shader_parameter("scale", Vector3(100,100,100))
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
[gd_scene load_steps=7 format=3 uid="uid://sq6kut2r2bqx"]
|
[gd_scene load_steps=8 format=3 uid="uid://sq6kut2r2bqx"]
|
||||||
|
|
||||||
[ext_resource type="FontFile" uid="uid://bsp54mgll6mvy" path="res://assets/ui/FOT-PopJoyStd-B.otf" id="1_7sq06"]
|
[ext_resource type="FontFile" uid="uid://bsp54mgll6mvy" path="res://assets/ui/FOT-PopJoyStd-B.otf" id="1_7sq06"]
|
||||||
[ext_resource type="Script" path="res://assets/ui/main_ui.gd" id="1_ca2yl"]
|
[ext_resource type="Script" path="res://assets/ui/main_ui.gd" id="1_ca2yl"]
|
||||||
[ext_resource type="Shader" path="res://assets/ui/main_ui.gdshader" id="2_jrexl"]
|
[ext_resource type="Shader" path="res://assets/ui/main_ui.gdshader" id="2_jrexl"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cei6ecg57ja35" path="res://assets/ui/menu/laptop_menu.tscn" id="2_wklhg"]
|
||||||
[ext_resource type="Shader" path="res://assets/characters/player_outline.gdshader" id="3_g5bqj"]
|
[ext_resource type="Shader" path="res://assets/characters/player_outline.gdshader" id="3_g5bqj"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_x68ve"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_x68ve"]
|
||||||
@ -33,6 +34,12 @@ shader_parameter/Alpha = 1.0
|
|||||||
[node name="MainUi" type="CanvasLayer"]
|
[node name="MainUi" type="CanvasLayer"]
|
||||||
script = ExtResource("1_ca2yl")
|
script = ExtResource("1_ca2yl")
|
||||||
|
|
||||||
|
[node name="LaptopMenu" parent="." instance=ExtResource("2_wklhg")]
|
||||||
|
offset_left = 261.0
|
||||||
|
offset_top = -61.0
|
||||||
|
offset_right = 157.0
|
||||||
|
offset_bottom = 143.0
|
||||||
|
|
||||||
[node name="Transition" type="ColorRect" parent="."]
|
[node name="Transition" type="ColorRect" parent="."]
|
||||||
material = SubResource("ShaderMaterial_x68ve")
|
material = SubResource("ShaderMaterial_x68ve")
|
||||||
offset_right = 1949.0
|
offset_right = 1949.0
|
||||||
@ -81,6 +88,12 @@ layout_mode = 2
|
|||||||
size_flags_horizontal = 2
|
size_flags_horizontal = 2
|
||||||
size_flags_vertical = 8
|
size_flags_vertical = 8
|
||||||
|
|
||||||
|
[node name="StateLabel" type="Label" parent="Control/MarginContainer/BoxContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_fonts/font = ExtResource("1_7sq06")
|
||||||
|
theme_override_font_sizes/font_size = 40
|
||||||
|
text = "State: Unknown"
|
||||||
|
|
||||||
[node name="XYZLabel" type="Label" parent="Control/MarginContainer/BoxContainer/VBoxContainer"]
|
[node name="XYZLabel" type="Label" parent="Control/MarginContainer/BoxContainer/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_fonts/font = ExtResource("1_7sq06")
|
theme_override_fonts/font = ExtResource("1_7sq06")
|
||||||
@ -94,3 +107,7 @@ layout_mode = 2
|
|||||||
theme_override_fonts/font = ExtResource("1_7sq06")
|
theme_override_fonts/font = ExtResource("1_7sq06")
|
||||||
theme_override_font_sizes/font_size = 40
|
theme_override_font_sizes/font_size = 40
|
||||||
text = "Map: debug1"
|
text = "Map: debug1"
|
||||||
|
|
||||||
|
[node name="LimboHSM" type="LimboHSM" parent="."]
|
||||||
|
|
||||||
|
[node name="LimboState" type="LimboState" parent="LimboHSM"]
|
||||||
|
|||||||
24
assets/ui/menu/laptop_menu.atlas
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
laptop_menu.png
|
||||||
|
size:1684,1043
|
||||||
|
filter:Linear,Linear
|
||||||
|
scale:0.5
|
||||||
|
Paint Layer 2
|
||||||
|
bounds:743,477,564,487
|
||||||
|
rotate:90
|
||||||
|
hand
|
||||||
|
bounds:518,166,236,125
|
||||||
|
rotate:90
|
||||||
|
inv_screen
|
||||||
|
bounds:743,75,515,400
|
||||||
|
journal_screen
|
||||||
|
bounds:1232,526,515,400
|
||||||
|
rotate:90
|
||||||
|
laptop
|
||||||
|
bounds:2,404,739,637
|
||||||
|
menu_screen
|
||||||
|
bounds:1282,9,515,400
|
||||||
|
rotate:90
|
||||||
|
pointer
|
||||||
|
bounds:1232,480,48,44
|
||||||
|
stats_screen
|
||||||
|
bounds:2,2,514,400
|
||||||
15
assets/ui/menu/laptop_menu.atlas.import
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="spine.atlas"
|
||||||
|
type="SpineAtlasResource"
|
||||||
|
uid="uid://i8of4ot88vfe"
|
||||||
|
path="res://.godot/imported/laptop_menu.atlas-af472bcf3fb58545990289cf0c991153.spatlas"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/ui/menu/laptop_menu.atlas"
|
||||||
|
dest_files=["res://.godot/imported/laptop_menu.atlas-af472bcf3fb58545990289cf0c991153.spatlas"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
normal_map_prefix="n"
|
||||||
40
assets/ui/menu/laptop_menu.gd
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var spine_sprite: SpineSprite = $Control/SpineSprite
|
||||||
|
var anim_state: SpineAnimationState
|
||||||
|
var last_menu: String = "stats"
|
||||||
|
var options = {
|
||||||
|
"stats": {},
|
||||||
|
"inv": {},
|
||||||
|
"journal": {},
|
||||||
|
"menu": {},
|
||||||
|
}
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
anim_state = spine_sprite.get_animation_state()
|
||||||
|
anim_state.set_animation("pointer", true, 4)
|
||||||
|
anim_state.set_animation("typing", true, 3)
|
||||||
|
|
||||||
|
Messagebus.LAPTOP.connect(maybe_show_laptop)
|
||||||
|
|
||||||
|
func maybe_show_laptop(show: bool):
|
||||||
|
var a = spine_sprite.get_animation_state()
|
||||||
|
if self.is_visible_in_tree():
|
||||||
|
self.hide()
|
||||||
|
a.set_animation("hide", false, 0)
|
||||||
|
else:
|
||||||
|
self.show()
|
||||||
|
a.set_animation("show", false, 0)
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
#func _process(delta: float) -> void:
|
||||||
|
#if Input.is_action_pressed("Pause"):
|
||||||
|
#print("enter laptop state here")
|
||||||
|
#if self.is_visible_in_tree():
|
||||||
|
#self.hide()
|
||||||
|
#anim_state.set_animation("hide", false, 0)
|
||||||
|
#else:
|
||||||
|
#self.show()
|
||||||
|
#anim_state.set_animation("show", false, 0)
|
||||||
|
#
|
||||||
BIN
assets/ui/menu/laptop_menu.png
Normal file
|
After Width: | Height: | Size: 128 KiB |
34
assets/ui/menu/laptop_menu.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b40bk8khjimro"
|
||||||
|
path="res://.godot/imported/laptop_menu.png-85ef6a041aef7f90db2ac657dd9888cf.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/ui/menu/laptop_menu.png"
|
||||||
|
dest_files=["res://.godot/imported/laptop_menu.png-85ef6a041aef7f90db2ac657dd9888cf.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/ui/menu/laptop_menu.skel
Normal file
14
assets/ui/menu/laptop_menu.skel.import
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="spine.skel"
|
||||||
|
type="SpineSkeletonFileResource"
|
||||||
|
uid="uid://cadv3ufdyphe6"
|
||||||
|
path="res://.godot/imported/laptop_menu.skel-ef2460c46b9880fbf0b3a932a675a6d7.spskel"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/ui/menu/laptop_menu.skel"
|
||||||
|
dest_files=["res://.godot/imported/laptop_menu.skel-ef2460c46b9880fbf0b3a932a675a6d7.spskel"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
34
assets/ui/menu/laptop_menu.tscn
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[gd_scene load_steps=5 format=3 uid="uid://cei6ecg57ja35"]
|
||||||
|
|
||||||
|
[ext_resource type="SpineAtlasResource" uid="uid://i8of4ot88vfe" path="res://assets/ui/menu/laptop_menu.atlas" id="1_cjg4b"]
|
||||||
|
[ext_resource type="Script" path="res://assets/ui/menu/laptop_menu.gd" id="1_lw7wl"]
|
||||||
|
[ext_resource type="SpineSkeletonFileResource" uid="uid://cadv3ufdyphe6" path="res://assets/ui/menu/laptop_menu.skel" id="2_1tqrt"]
|
||||||
|
|
||||||
|
[sub_resource type="SpineSkeletonDataResource" id="SpineSkeletonDataResource_0o7ph"]
|
||||||
|
atlas_res = ExtResource("1_cjg4b")
|
||||||
|
skeleton_file_res = ExtResource("2_1tqrt")
|
||||||
|
|
||||||
|
[node name="LaptopMenu" type="Control"]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
script = ExtResource("1_lw7wl")
|
||||||
|
|
||||||
|
[node name="Control" type="Control" parent="."]
|
||||||
|
anchors_preset = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="SpineSprite" type="SpineSprite" parent="Control"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
position = Vector2(744.783, 1151)
|
||||||
|
scale = Vector2(0.888371, 0.88837)
|
||||||
|
skeleton_data_res = SubResource("SpineSkeletonDataResource_0o7ph")
|
||||||
|
preview_skin = "Default"
|
||||||
|
preview_animation = "-- Empty --"
|
||||||
|
preview_frame = false
|
||||||
|
preview_time = 0.0
|
||||||
@ -98,7 +98,7 @@ func summon_minion(p_position: Vector2) -> void:
|
|||||||
minion.death.connect(func(): summon_count -= 1)
|
minion.death.connect(func(): summon_count -= 1)
|
||||||
|
|
||||||
|
|
||||||
## Method is used when this agent is summoned from the dungeons of the castle AaaAaaAAAAAaaAAaaaaaa
|
## Method is used when this agent is summoned from the dungeons of the castle
|
||||||
func play_summoning_effect() -> void:
|
func play_summoning_effect() -> void:
|
||||||
summoning_effect.emitting = true
|
summoning_effect.emitting = true
|
||||||
|
|
||||||
|
|||||||
@ -103,6 +103,11 @@ zoom_out={
|
|||||||
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":16,"position":Vector2(261, 10),"global_position":Vector2(275, 80),"factor":1.0,"button_index":5,"canceled":false,"pressed":true,"double_click":false,"script":null)
|
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":16,"position":Vector2(261, 10),"global_position":Vector2(275, 80),"factor":1.0,"button_index":5,"canceled":false,"pressed":true,"double_click":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Pause={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
[input_devices]
|
[input_devices]
|
||||||
|
|
||||||
|
|||||||
20
src/main.gd
@ -1,11 +1,31 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
@export var test := 100
|
@export var test := 100
|
||||||
|
var paused = false
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
GDRx.start_periodic_timer(1.0) \
|
GDRx.start_periodic_timer(1.0) \
|
||||||
.subscribe(func(i): print("Tick: ", i)) \
|
.subscribe(func(i): print("Tick: ", i)) \
|
||||||
.dispose_with(self)
|
.dispose_with(self)
|
||||||
|
GDRx.on_input_as_observable(self) \
|
||||||
|
.filter(is_pause_event) \
|
||||||
|
.filter(can_pause) \
|
||||||
|
.throttle_first(1) \
|
||||||
|
.subscribe(handle_pause) \
|
||||||
|
.dispose_with(self)
|
||||||
|
|
||||||
|
func is_pause_event(event):
|
||||||
|
if event is InputEventKey:
|
||||||
|
#print(event)
|
||||||
|
return event.is_action("Pause")
|
||||||
|
|
||||||
|
func can_pause(event):
|
||||||
|
return false
|
||||||
|
|
||||||
|
func handle_pause(event):
|
||||||
|
paused = !paused
|
||||||
|
print("PAUSE: "+str(paused))
|
||||||
|
get_tree().paused = paused
|
||||||
|
|
||||||
func move() -> void:
|
func move() -> void:
|
||||||
pass
|
pass
|
||||||
|
|||||||
@ -3,3 +3,5 @@ extends Node
|
|||||||
signal CHANGE_SCENE(scene: String)
|
signal CHANGE_SCENE(scene: String)
|
||||||
signal DEBUG_XYZ(origin: Vector3)
|
signal DEBUG_XYZ(origin: Vector3)
|
||||||
signal DEBUG_MAP(name: String)
|
signal DEBUG_MAP(name: String)
|
||||||
|
signal COCO_STATE(name: String)
|
||||||
|
signal LAPTOP(show: bool)
|
||||||
|
|||||||
@ -5,7 +5,7 @@ extends SpineSprite
|
|||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
var a = get_animation_state()
|
var a = get_animation_state()
|
||||||
if a:
|
if a:
|
||||||
a.set_animation("idle", true, 0)
|
a.set_animation("animation", true, 0)
|
||||||
a.set_time_scale(time_scale)
|
a.set_time_scale(time_scale)
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
|
|||||||