diff --git a/Main.tscn b/Main.tscn index e672791..c86cb9f 100644 --- a/Main.tscn +++ b/Main.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=11 format=2] [ext_resource path="res://src/classes/camera_guide.gd" type="Script" id=1] [ext_resource path="res://src/Camera2D.gd" type="Script" id=2] -[ext_resource path="res://src/levels/TestBox.tscn" type="PackedScene" id=3] +[ext_resource path="res://src/levels/CloneBox.tscn" type="PackedScene" id=3] [ext_resource path="res://src/ui/scene_transition.tscn" type="PackedScene" id=4] +[ext_resource path="res://src/ui/HUD.tscn" type="PackedScene" id=5] [ext_resource path="res://src/Main.gd" type="Script" id=7] [ext_resource path="res://src/ui/lobby.tscn" type="PackedScene" id=9] @@ -26,6 +27,7 @@ extents = Vector2( 160, 90 ) [node name="Main" type="Node2D"] script = ExtResource( 7 ) starting_level = ExtResource( 3 ) +player_hud = ExtResource( 5 ) [node name="MusicPlayer" type="AudioStreamPlayer" parent="."] @@ -39,6 +41,7 @@ rect_scale = Vector2( 2, 2 ) unique_name_in_owner = true size = Vector2( 320, 180 ) handle_input_locally = false +usage = 0 render_target_update_mode = 3 [node name="Lobby" parent="ViewportContainer/Viewport" instance=ExtResource( 9 )] diff --git a/lib/classes/animated_sprite_state_receiver.gd b/lib/classes/animated_sprite_state_receiver.gd index 6216db2..f787296 100644 --- a/lib/classes/animated_sprite_state_receiver.gd +++ b/lib/classes/animated_sprite_state_receiver.gd @@ -230,6 +230,7 @@ func _on_state_change(old_state_name:String, new_state :State): ## this has been working fine but could cause issues if I assume otherwise. ###### State machine if new_state is StateAnimatedActor: #Testing this. Update: It works + ## Confirmed that I do neet to update the current_state with the passed state. current_state = new_state if has_method('_on_state_change_' + current_state.name): call('_on_state_change_' + current_state.name) diff --git a/lib/classes/collision_shape2D_state_receiver.gd b/lib/classes/collision_shape2D_state_receiver.gd index cbc1ae6..ff2104d 100644 --- a/lib/classes/collision_shape2D_state_receiver.gd +++ b/lib/classes/collision_shape2D_state_receiver.gd @@ -49,6 +49,7 @@ func _physics_process(delta): func _on_state_change(old_state_name:String, new_state :State): ###### State machine if new_state is StateAnimatedActor: #Testing this. Update: It works + ## Confirmed that I do neet to update the current_state with the passed state. current_state = new_state if has_method('_on_state_change_' + current_state.name): call('_on_state_change_' + current_state.name) diff --git a/lib/classes/movement_state_receiver.gd b/lib/classes/movement_state_receiver.gd index 420dda3..4f0f4b2 100644 --- a/lib/classes/movement_state_receiver.gd +++ b/lib/classes/movement_state_receiver.gd @@ -127,6 +127,7 @@ func get_climb_shape_location() -> Vector2: func _on_state_change(old_state_name:String, new_state :State): ###### State machine if new_state is StateAnimatedActor: #Testing this. Update: It works + ## Confirmed that I do neet to update the current_state with the passed state. current_state = new_state if has_method('_on_state_change_' + current_state.name): call('_on_state_change_' + current_state.name) diff --git a/lib/singleton_autoloads/NetworkManager.gd b/lib/singleton_autoloads/NetworkManager.gd index d933d89..3cca013 100644 --- a/lib/singleton_autoloads/NetworkManager.gd +++ b/lib/singleton_autoloads/NetworkManager.gd @@ -120,9 +120,15 @@ remote func load_scene_on_all_clients(_scene :String, _node_path :NodePath, _glo remote func pre_start_game(spawn_points): # Change scene. - var world :Node = load("res://src/levels/TestBox.tscn").instance() - var ui :Node = load("res://src/ui/HUD.tscn").instance() - world.set_name("World") + var _game_starting_level_scene = get_tree().get_root().get_node("/root/Main").starting_level + var _in_game_player_hud = get_tree().get_root().get_node("/root/Main").player_hud + #var world :Node = load("res://src/levels/TestBox.tscn").instance() + var world :Node = _game_starting_level_scene.instance() + #var ui :Node = load("res://src/ui/HUD.tscn").instance() + var ui :Node = _in_game_player_hud.instance() + + ## No need to name world anymore + #world.set_name("World") world.add_to_group('world') ui.add_to_group('world') diff --git a/src/Camera2D.gd b/src/Camera2D.gd index 9c1f659..90af84c 100644 --- a/src/Camera2D.gd +++ b/src/Camera2D.gd @@ -6,9 +6,6 @@ extends Camera2D # var b = "text" export var debug_component :bool = false -var game_size := Vector2(320,180) -onready var window_scale :float = (OS.window_size / game_size).x - onready var actual_cam_pos := global_position export var acceleration := 2 @@ -21,6 +18,7 @@ var _tracking_node :KinematicBody2D func _ready(): _tracking_node = get_node(tracking_node_path) + assert(is_instance_valid(_tracking_node), "Camera2D has no tracking object.") var velocity :float = 0 var tracking_pos := Vector2(0,0) diff --git a/src/Main.gd b/src/Main.gd index 1197327..442b1dd 100644 --- a/src/Main.gd +++ b/src/Main.gd @@ -1,17 +1,31 @@ extends Node2D +##TODO Would really like to adjust the viewports, cameras, and +# overall scale from here. # Declare member variables here. Examples: # var a = 2 # var b = "text" -export var starting_level: PackedScene export var debug_singletons :bool = false +export var starting_level: PackedScene +export var player_hud: PackedScene +export var start_screen: PackedScene + +onready var viewport_container = $ViewportContainer +onready var viewport = $"%Viewport" + +var game_size :Vector2 +onready var window_scale :float + + # Called when the node enters the scene tree for the first time. func _ready(): + game_size = viewport.size + window_scale = (OS.window_size / game_size).x assert(starting_level != null, "Main: starting level not specified.") - + assert(player_hud != null, "Main: player HUD not specified.") # Called every frame. 'delta' is the elapsed time since the previous frame. #func _process(delta): diff --git a/src/actors/players/playerE/PlayerE.gd b/src/actors/players/playerE/PlayerE.gd index ee404eb..3923d7f 100644 --- a/src/actors/players/playerE/PlayerE.gd +++ b/src/actors/players/playerE/PlayerE.gd @@ -45,6 +45,7 @@ func _ready(): player_data.player_inventory = player_inventory player_data.player_stamina = stamina_component.stamina else: + ## puppets cannot get hurt, only network master. $Hurtbox_Component.hurtbox_entered_function = '' # Set initial player position in world. diff --git a/src/classes/camera_guide.gd b/src/classes/camera_guide.gd index 6830f57..7b5c392 100644 --- a/src/classes/camera_guide.gd +++ b/src/classes/camera_guide.gd @@ -6,7 +6,8 @@ export var debug_camera_guide :bool = false var game_size :Vector2 onready var window_scale :float onready var viewport = $"%Viewport" -onready var camera_2d = $"%Camera2D" +## Camera guide doesn't really need to care if there's a camera +#onready var camera_2d = $"%Camera2D" var _is_tracking :bool = true @@ -15,7 +16,8 @@ func _ready(): game_size = viewport.size window_scale = (OS.window_size / game_size).x assert(game_size != Vector2(0,0), str(get_path()) + " : No game_size set.") - assert(camera_2d != null, str(get_path()) + " : No Camera Node Found.") + ## Camera guide doesn't really need to care if there's a camera + #assert(camera_2d != null, str(get_path()) + " : No Camera Node Found.") if debug_camera_guide: print(get_path(), "\n",