move initial spawn to room config
This commit is contained in:
parent
fd43faf658
commit
b3db7f1ba6
7 changed files with 35 additions and 15 deletions
|
|
@ -15,7 +15,7 @@ z_index = 1
|
||||||
collision_mask = 2
|
collision_mask = 2
|
||||||
motion_mode = 1
|
motion_mode = 1
|
||||||
script = ExtResource("1_dovo2")
|
script = ExtResource("1_dovo2")
|
||||||
max_speed = 95.0
|
max_speed = 85.0
|
||||||
|
|
||||||
[node name="PlayerStateMachine" type="Node" parent="." node_paths=PackedStringArray("initial_state")]
|
[node name="PlayerStateMachine" type="Node" parent="." node_paths=PackedStringArray("initial_state")]
|
||||||
script = ExtResource("2_lvxji")
|
script = ExtResource("2_lvxji")
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ class_name Room extends Node2D
|
||||||
# TODO: better alternative to preloading as i add functionality?
|
# TODO: better alternative to preloading as i add functionality?
|
||||||
# https://theduriel.github.io/Godot/Do-not-use---Preload
|
# https://theduriel.github.io/Godot/Do-not-use---Preload
|
||||||
var player_scene: PackedScene = preload("uid://cqm5besqgsb7x")
|
var player_scene: PackedScene = preload("uid://cqm5besqgsb7x")
|
||||||
var initial_spawn: Vector2i = Vector2i(16,16)
|
var initial_spawn: Vector2i = Vector2i.ZERO
|
||||||
|
|
||||||
var player: Player
|
var player: Player
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
class_name RoomConfig extends Resource
|
class_name RoomConfig extends Resource
|
||||||
|
|
||||||
|
@export_group('Player')
|
||||||
|
## The initial player spawn point.
|
||||||
|
## Only used if one wasn't provided to the room beforehand.
|
||||||
|
@export var initial_spawn: Vector2i = Vector2i.ZERO
|
||||||
|
|
||||||
@export_group('Camera')
|
@export_group('Camera')
|
||||||
## Whether the camera will (initially) follow the player ot not.
|
## Whether the camera will (initially) follow the player ot not.
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void:
|
||||||
func _instantiate_player() -> Player:
|
func _instantiate_player() -> Player:
|
||||||
var p: Player = room.player_scene.instantiate()
|
var p: Player = room.player_scene.instantiate()
|
||||||
room.add_child(p)
|
room.add_child(p)
|
||||||
p.global_position = room.initial_spawn
|
if room.initial_spawn != Vector2i.ZERO:
|
||||||
|
p.global_position = room.initial_spawn
|
||||||
|
else:
|
||||||
|
assert(
|
||||||
|
room.config.initial_spawn != Vector2i.ZERO,
|
||||||
|
"invalid player initial spawn provided"
|
||||||
|
)
|
||||||
|
p.global_position = room.config.initial_spawn
|
||||||
|
|
||||||
return p
|
return p
|
||||||
|
|
|
||||||
|
|
@ -941,6 +941,7 @@ texture_region_size = Vector2i(18, 18)
|
||||||
9:9/0/terrains_peering_bit/top_right_corner = 0
|
9:9/0/terrains_peering_bit/top_right_corner = 0
|
||||||
10:9/0 = 0
|
10:9/0 = 0
|
||||||
10:9/0/z_index = 1
|
10:9/0/z_index = 1
|
||||||
|
10:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
|
||||||
11:9/0 = 0
|
11:9/0 = 0
|
||||||
11:9/0/z_index = 1
|
11:9/0/z_index = 1
|
||||||
11:9/0/terrain_set = 0
|
11:9/0/terrain_set = 0
|
||||||
|
|
@ -2724,6 +2725,8 @@ texture_region_size = Vector2i(18, 18)
|
||||||
11:3/0/terrains_peering_bit/top_side = 3
|
11:3/0/terrains_peering_bit/top_side = 3
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
|
physics_layer_0/collision_layer = 2
|
||||||
|
physics_layer_0/collision_mask = 0
|
||||||
terrain_set_0/mode = 0
|
terrain_set_0/mode = 0
|
||||||
terrain_set_0/terrain_0/name = "Auto1"
|
terrain_set_0/terrain_0/name = "Auto1"
|
||||||
terrain_set_0/terrain_0/color = Color(0.79, 0.57, 0.73, 1)
|
terrain_set_0/terrain_0/color = Color(0.79, 0.57, 0.73, 1)
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,24 @@
|
||||||
[gd_scene load_steps=6 format=4 uid="uid://04d4byo43t4b"]
|
[gd_scene load_steps=5 format=4 uid="uid://04d4byo43t4b"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bxhyxox662buj" path="res://scenes/room/room.tscn" id="1_1k8b4"]
|
[ext_resource type="PackedScene" uid="uid://bxhyxox662buj" path="res://scenes/room/room.tscn" id="1_1k8b4"]
|
||||||
[ext_resource type="Script" uid="uid://bamoq5wi0lkdy" path="res://scenes/room/room_config.gd" id="2_2qa51"]
|
[ext_resource type="Resource" uid="uid://h54yiuv2bup1" path="res://scenes/worlds/yukotsukis_room/yukotsukis_room_config.tres" id="2_vqekq"]
|
||||||
[ext_resource type="TileSet" uid="uid://chb3vsmojvo8q" path="res://scenes/worlds/yukotsukis_room/assets/curtains/curtains_godot4.tres" id="3_od2gb"]
|
[ext_resource type="TileSet" uid="uid://chb3vsmojvo8q" path="res://scenes/worlds/yukotsukis_room/assets/curtains/curtains_godot4.tres" id="3_od2gb"]
|
||||||
[ext_resource type="TileSet" uid="uid://bcpinmakhx3ix" path="res://scenes/worlds/yukotsukis_room/assets/carpets/carpets_godot4.tres" id="4_vqekq"]
|
[ext_resource type="TileSet" uid="uid://diqyujsetlsp6" path="res://scenes/worlds/yukotsukis_room/assets/floorboards/floorboards_godot4.tres" id="4_od2gb"]
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_r3h47"]
|
|
||||||
script = ExtResource("2_2qa51")
|
|
||||||
follow_player = false
|
|
||||||
camera_position = Vector2i(160, 120)
|
|
||||||
metadata/_custom_type_script = "uid://bamoq5wi0lkdy"
|
|
||||||
|
|
||||||
[node name="Yukotsuki\'s Room" instance=ExtResource("1_1k8b4")]
|
[node name="Yukotsuki\'s Room" instance=ExtResource("1_1k8b4")]
|
||||||
config = SubResource("Resource_r3h47")
|
config = ExtResource("2_vqekq")
|
||||||
|
|
||||||
[node name="FloorLayer" type="TileMapLayer" parent="." index="2"]
|
[node name="FloorLayer" type="TileMapLayer" parent="." index="2"]
|
||||||
tile_map_data = PackedByteArray("AAAPAA4AAQALAAMAAAAPAA0AAQALAAIAAAAPAAwAAQALAA4AAAAPAAsAAQALAAYAAAAPAAoAAQALAAQAAAAOAA4AAQAJAA8AAAAOAA0AAQAJAA4AAAAOAAwAAQAJAAIAAAAOAAsAAQAJAAoAAAAOAAoAAQAKAAQAAAANAA4AAQAJAA8AAAANAA0AAQAJAA4AAAANAAwAAQAJAAYAAAANAAsAAQAJAAYAAAANAAoAAQAKAAwAAAAMAA4AAQAJAAMAAAAMAA0AAQAJAAoAAAAMAAwAAQAJAAYAAAAMAAsAAQAJAA4AAAAMAAoAAQAKAAQAAAALAA4AAQAJAAsAAAALAA0AAQAJAAYAAAALAAwAAQAJAAoAAAALAAsAAQAJAAoAAAALAAoAAQAKAAAAAAAKAA4AAQAJAA8AAAAKAA0AAQAJAAYAAAAKAAwAAQAJAAIAAAAKAAsAAQAJAAIAAAAKAAoAAQAKAAAAAAAJAA4AAQAJAAMAAAAJAA0AAQAJAAYAAAAJAAwAAQAJAAIAAAAJAAsAAQAJAAoAAAAJAAoAAQAKAAwAAAAIAA4AAQAJAAcAAAAIAA0AAQAJAA4AAAAIAAwAAQAJAAIAAAAIAAsAAQAJAAoAAAAIAAoAAQAKAAAAAAAHAA4AAQAJAA8AAAAHAA0AAQAJAAoAAAAHAAwAAQAJAAYAAAAHAAsAAQAJAAoAAAAHAAoAAQAKAAgAAAAGAA4AAQAJAAsAAAAGAA0AAQAJAAYAAAAGAAwAAQAJAAYAAAAGAAsAAQAJAAoAAAAGAAoAAQAKAAgAAAAFAA4AAQAJAA8AAAAFAA0AAQAJAAoAAAAFAAwAAQAJAAoAAAAFAAsAAQAJAAYAAAAFAAoAAQAKAAQAAAAEAA4AAQAIAAcAAAAEAA0AAQAIAAUAAAAEAAwAAQAIAAEAAAAEAAsAAQAIAAUAAAAEAAoAAQAIAAQAAAA=")
|
tile_map_data = PackedByteArray("AAAPAA4AAQALAAMAAAAPAA0AAQALAAIAAAAPAAwAAQALAA4AAAAPAAsAAQALAAYAAAAPAAoAAQALAAQAAAAOAA4AAQAJAA8AAAAOAA0AAQAJAA4AAAAOAAwAAQAJAAIAAAAOAAsAAQAJAAoAAAAOAAoAAQAKAAQAAAANAA4AAQAJAA8AAAANAA0AAQAJAA4AAAANAAwAAQAJAAYAAAANAAsAAQAJAAYAAAANAAoAAQAKAAwAAAAMAA4AAQAJAAMAAAAMAA0AAQAJAAoAAAAMAAwAAQAJAAYAAAAMAAsAAQAJAA4AAAAMAAoAAQAKAAQAAAALAA4AAQAJAAsAAAALAA0AAQAJAAYAAAALAAwAAQAJAAoAAAALAAsAAQAJAAoAAAALAAoAAQAKAAAAAAAKAA4AAQAJAA8AAAAKAA0AAQAJAAYAAAAKAAwAAQAJAAIAAAAKAAsAAQAJAAIAAAAKAAoAAQAKAAAAAAAJAA4AAQAJAAMAAAAJAA0AAQAJAAYAAAAJAAwAAQAJAAIAAAAJAAsAAQAJAAoAAAAJAAoAAQAKAAwAAAAIAA4AAQAJAAcAAAAIAA0AAQAJAA4AAAAIAAwAAQAJAAIAAAAIAAsAAQAJAAoAAAAIAAoAAQAKAAAAAAAHAA4AAQAJAA8AAAAHAA0AAQAJAAoAAAAHAAwAAQAJAAYAAAAHAAsAAQAJAAoAAAAHAAoAAQAKAAgAAAAGAA4AAQAJAAsAAAAGAA0AAQAJAAYAAAAGAAwAAQAJAAYAAAAGAAsAAQAJAAoAAAAGAAoAAQAKAAgAAAAFAA4AAQAJAA8AAAAFAA0AAQAJAAoAAAAFAAwAAQAJAAoAAAAFAAsAAQAJAAYAAAAFAAoAAQAKAAQAAAAEAA4AAQAIAAcAAAAEAA0AAQAIAAUAAAAEAAwAAQAIAAEAAAAEAAsAAQAIAAUAAAAEAAoAAQAIAAQAAAA=")
|
||||||
tile_set = ExtResource("3_od2gb")
|
tile_set = ExtResource("3_od2gb")
|
||||||
|
|
||||||
[node name="CarpetLayer" type="TileMapLayer" parent="." index="3"]
|
[node name="CarpetLayer" type="TileMapLayer" parent="." index="3"]
|
||||||
tile_map_data = PackedByteArray("AAAFAAsAAAAIAAAAAAAFAAwAAAAIAAEAAAAFAA0AAAAIAAMAAAAGAAwAAAALAAIAAAAGAAsAAAALAAAAAAAGAA0AAAALAAMAAAA=")
|
tile_map_data = PackedByteArray("AAAIAAsAAwAIAAAAAAAJAAsAAwAFAAEAAAAJAAoAAwAIAAAAAAAKAAoAAwAKAAAAAAALAAoAAwAKAAAAAAAMAAoAAwAKAAAAAAANAAoAAwALAAAAAAANAAsAAwAGAAEAAAAOAAsAAwALAAAAAAAOAAwAAwALAAMAAAANAAwAAwAGAAIAAAANAA0AAwALAAMAAAAMAA0AAwAJAAMAAAALAA0AAwAJAAMAAAAKAA0AAwAJAAMAAAAJAA0AAwAJAAMAAAAIAA0AAwAIAAMAAAAIAAwAAwAIAAEAAAAMAAsAAwAJAAIAAAAMAAwAAwAJAAIAAAALAAwAAwAJAAIAAAAKAAwAAwAJAAIAAAAJAAwAAwAJAAIAAAAKAAsAAwAJAAIAAAALAAsAAwAJAAIAAAA=")
|
||||||
tile_set = ExtResource("4_vqekq")
|
tile_set = ExtResource("4_od2gb")
|
||||||
|
|
||||||
[node name="WallLayer" type="TileMapLayer" parent="." index="4"]
|
[node name="WallLayer" type="TileMapLayer" parent="." index="4"]
|
||||||
|
tile_map_data = PackedByteArray("AAADAA4AAAAKAAkAAAADAA0AAAAKAAkAAAADAAwAAAAKAAkAAAADAAsAAAAKAAkAAAADAAoAAAAKAAkAAAADAAkAAAAKAAkAAAAEAAkAAAAKAAkAAAAFAAkAAAAKAAkAAAAGAAkAAAAKAAkAAAAHAAkAAAAKAAkAAAAIAAkAAAAKAAkAAAAJAAkAAAAKAAkAAAAKAAkAAAAKAAkAAAALAAkAAAAKAAkAAAAMAAkAAAAKAAkAAAANAAkAAAAKAAkAAAAOAAkAAAAKAAkAAAAPAAkAAAAKAAkAAAAQAAkAAAAKAAkAAAAQAAoAAAAKAAkAAAAQAAsAAAAKAAkAAAAQAAwAAAAKAAkAAAAQAA0AAAAKAAkAAAAQAA4AAAAKAAkAAAADAA8AAAAKAAkAAAAEAA8AAAAKAAkAAAAFAA8AAAAKAAkAAAAGAA8AAAAKAAkAAAAHAA8AAAAKAAkAAAAIAA8AAAAKAAkAAAAJAA8AAAAKAAkAAAAKAA8AAAAKAAkAAAALAA8AAAAKAAkAAAAMAA8AAAAKAAkAAAANAA8AAAAKAAkAAAAOAA8AAAAKAAkAAAAPAA8AAAAKAAkAAAAQAA8AAAAKAAkAAAA=")
|
||||||
|
tile_set = ExtResource("4_od2gb")
|
||||||
|
|
||||||
[node name="CurtainLayer" type="TileMapLayer" parent="." index="5"]
|
[node name="CurtainLayer" type="TileMapLayer" parent="." index="5"]
|
||||||
tile_set = ExtResource("3_od2gb")
|
tile_set = ExtResource("3_od2gb")
|
||||||
|
|
|
||||||
10
scenes/worlds/yukotsukis_room/yukotsukis_room_config.tres
Normal file
10
scenes/worlds/yukotsukis_room/yukotsukis_room_config.tres
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
[gd_resource type="Resource" script_class="RoomConfig" load_steps=2 format=3 uid="uid://h54yiuv2bup1"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://bamoq5wi0lkdy" path="res://scenes/room/room_config.gd" id="1_vlksg"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_vlksg")
|
||||||
|
initial_spawn = Vector2i(85, 225)
|
||||||
|
follow_player = false
|
||||||
|
camera_position = Vector2i(160, 120)
|
||||||
|
metadata/_custom_type_script = "uid://bamoq5wi0lkdy"
|
||||||
Loading…
Add table
Reference in a new issue