Compare commits
4 commits
85795d9708
...
2a387a7dcb
| Author | SHA1 | Date | |
|---|---|---|---|
| 2a387a7dcb | |||
| 34118d5151 | |||
| fc81f396e0 | |||
| 29909a5371 |
8 changed files with 27 additions and 6 deletions
|
|
@ -41,7 +41,7 @@ version_control/autoload_on_startup=true
|
||||||
|
|
||||||
[editor_plugins]
|
[editor_plugins]
|
||||||
|
|
||||||
enabled=PackedStringArray("res://addons/AsepriteWizard/plugin.cfg", "res://addons/ridiculous_coding/plugin.cfg")
|
enabled=PackedStringArray("res://addons/AsepriteWizard/plugin.cfg", "res://addons/Tile_Set_Helper/plugin.cfg", "res://addons/ridiculous_coding/plugin.cfg")
|
||||||
|
|
||||||
[input]
|
[input]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,18 @@
|
||||||
class_name Room extends Node2D
|
class_name Room extends Node2D
|
||||||
|
|
||||||
|
|
||||||
@export var room_config: RoomConfig
|
@export var config: RoomConfig
|
||||||
|
|
||||||
@onready var camera: RoomCamera = $RoomCamera
|
@onready var camera: RoomCamera = $RoomCamera
|
||||||
@onready var director: StateMachine = $RoomDirector
|
@onready var director: StateMachine = $RoomDirector
|
||||||
|
|
||||||
# TODO: better alternatice 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 player: Player
|
var player: Player
|
||||||
var initial_spawn: Vector2i = Vector2i(16,16)
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
assert(config != null, "room config is null")
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
[gd_scene load_steps=7 format=3 uid="uid://bxhyxox662buj"]
|
[gd_scene load_steps=8 format=3 uid="uid://bxhyxox662buj"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://pcl0om2k32g6" path="res://scenes/room/room.gd" id="1_8xru0"]
|
[ext_resource type="Script" uid="uid://pcl0om2k32g6" path="res://scenes/room/room.gd" id="1_8xru0"]
|
||||||
[ext_resource type="Script" uid="uid://diou146pyb0br" path="res://scenes/room/room_camera.gd" id="3_y1kpu"]
|
[ext_resource type="Script" uid="uid://diou146pyb0br" path="res://scenes/room/room_camera.gd" id="3_y1kpu"]
|
||||||
[ext_resource type="Script" uid="uid://b7715auuhy7vu" path="res://scenes/room/states/room_entering.gd" id="4_1w8vm"]
|
[ext_resource type="Script" uid="uid://b7715auuhy7vu" path="res://scenes/room/states/room_entering.gd" id="4_1w8vm"]
|
||||||
[ext_resource type="Script" uid="uid://diths5s8vd7lr" path="res://classes/state_machine/state_machine.gd" id="4_vaubn"]
|
[ext_resource type="Script" uid="uid://diths5s8vd7lr" path="res://classes/state_machine/state_machine.gd" id="4_vaubn"]
|
||||||
[ext_resource type="Script" uid="uid://d2xitfobwbk20" path="res://scenes/room/states/room_playing.gd" id="5_w7vtx"]
|
[ext_resource type="Script" uid="uid://d2xitfobwbk20" path="res://scenes/room/states/room_playing.gd" id="5_w7vtx"]
|
||||||
|
[ext_resource type="Script" uid="uid://drnrd5xlt8imm" path="res://scenes/room/states/room_exiting.gd" id="6_7jj40"]
|
||||||
[ext_resource type="Script" uid="uid://ceevyto3vbq7c" path="res://scenes/room/states/room_paused.gd" id="6_gui0a"]
|
[ext_resource type="Script" uid="uid://ceevyto3vbq7c" path="res://scenes/room/states/room_paused.gd" id="6_gui0a"]
|
||||||
|
|
||||||
[node name="Room" type="Node2D"]
|
[node name="Room" type="Node2D"]
|
||||||
|
|
@ -29,5 +30,9 @@ metadata/_custom_type_script = "uid://hjm43hb4os07"
|
||||||
script = ExtResource("6_gui0a")
|
script = ExtResource("6_gui0a")
|
||||||
metadata/_custom_type_script = "uid://hjm43hb4os07"
|
metadata/_custom_type_script = "uid://hjm43hb4os07"
|
||||||
|
|
||||||
|
[node name="Exiting" type="Node" parent="RoomDirector"]
|
||||||
|
script = ExtResource("6_7jj40")
|
||||||
|
metadata/_custom_type_script = "uid://hjm43hb4os07"
|
||||||
|
|
||||||
[node name="RoomCamera" type="Camera2D" parent="."]
|
[node name="RoomCamera" type="Camera2D" parent="."]
|
||||||
script = ExtResource("3_y1kpu")
|
script = ExtResource("3_y1kpu")
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,6 @@
|
||||||
|
|
||||||
#@export var size: Vector2i = Vector2i.ZERO
|
#@export var size: Vector2i = Vector2i.ZERO
|
||||||
@export var follow_player: bool = true
|
@export var follow_player: bool = true
|
||||||
|
@export var loopable: bool = false
|
||||||
|
|
||||||
@export var camera_position: Vector2i = Vector2i.ZERO
|
@export var camera_position: Vector2i = Vector2i.ZERO
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void:
|
||||||
room.player = room.player_scene.instantiate()
|
room.player = room.player_scene.instantiate()
|
||||||
room.add_child(room.player)
|
room.add_child(room.player)
|
||||||
room.player.global_position = room.initial_spawn
|
room.player.global_position = room.initial_spawn
|
||||||
|
room.camera.global_position = room.config.camera_position
|
||||||
|
|
||||||
finished.emit(PLAYING)
|
finished.emit(PLAYING)
|
||||||
return
|
return
|
||||||
|
|
|
||||||
5
scenes/room/states/room_exiting.gd
Normal file
5
scenes/room/states/room_exiting.gd
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
extends RoomState
|
||||||
|
|
||||||
|
|
||||||
|
func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void:
|
||||||
|
room.queue_free()
|
||||||
1
scenes/room/states/room_exiting.gd.uid
Normal file
1
scenes/room/states/room_exiting.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://drnrd5xlt8imm
|
||||||
|
|
@ -1,9 +1,13 @@
|
||||||
extends RoomState
|
extends RoomState
|
||||||
|
|
||||||
|
|
||||||
|
var follow: bool
|
||||||
|
|
||||||
|
|
||||||
func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void:
|
func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void:
|
||||||
print("entering room gameplay")
|
print("entering room gameplay")
|
||||||
get_tree().paused = false
|
get_tree().paused = false
|
||||||
|
follow = room.config.follow_player
|
||||||
|
|
||||||
|
|
||||||
func _handle_input(event: InputEvent) -> void:
|
func _handle_input(event: InputEvent) -> void:
|
||||||
|
|
@ -12,4 +16,4 @@ func _handle_input(event: InputEvent) -> void:
|
||||||
|
|
||||||
|
|
||||||
func _state_physics_update(delta: float) -> void:
|
func _state_physics_update(delta: float) -> void:
|
||||||
room.camera.follow_player(delta)
|
if follow: room.camera.follow_player(delta)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue