More multiplayer stuff.

This commit is contained in:
Dustin 2025-04-17 20:50:40 -07:00
parent ae3da7a468
commit 8a29cc5be3
2 changed files with 44 additions and 28 deletions

View File

@ -85,8 +85,12 @@ func unregister_player(id):
remote func pre_start_game(spawn_points):
# Change scene.
var world = load("res://src/levels/TestBox.tscn").instance()
var world :Node = load("res://src/levels/TestBox.tscn").instance()
var ui :Node = load("res://src/ui/HUD.tscn").instance()
world.set_name("World")
get_tree().get_root().get_node("/root/Main/ViewportContainer/Viewport").add_child(world)
get_tree().get_root().get_node("/root/Main/ViewportContainer/Viewport").add_child(ui)
get_tree().get_root().get_node("/root/Main/ViewportContainer/Viewport/Lobby").hide()
@ -109,7 +113,7 @@ remote func pre_start_game(spawn_points):
# # Otherwise set name from peer.
# player.set_player_name(players[p_id])
world.get_node("/root/Main/ViewportContainer/Viewport/World").add_child(player)
get_tree().get_root().get_node("/root/Main/ViewportContainer/Viewport").add_child(player)
#world.get_node("Players").add_child(player)
# # Set up score.

View File

@ -28,6 +28,10 @@ const state_damage_amount :Dictionary = {
var player_info_index :int
var player_data :PlayerData
## Multiplayer Variables
puppet var puppet_pos = Vector2()
# Called when the node enters the scene tree for the first time.
func _ready():
# PlayerInfo.player_health = health_component.health
@ -50,39 +54,47 @@ func _ready():
movement_component.state_stamina_cost = state_stamina_cost
puppet_pos = position
#var stamina_recovery :float = 0.0
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
#PlayerInfo.player_position = global_position.round()
player_data.player_position = global_position.round()
# stamina_recovery += delta
# if stamina_recovery > 1.0:
# stamina_component.recover(1)
# stamina_recovery = 0.0
# #print("recover ", stamina_component.stamina)
if is_network_master():
#PlayerInfo.player_position = global_position.round()
player_data.player_position = global_position.round()
# stamina_recovery += delta
# if stamina_recovery > 1.0:
# stamina_component.recover(1)
# stamina_recovery = 0.0
# #print("recover ", stamina_component.stamina)
#PlayerInfo.player_stamina = stamina_component.stamina
player_data.player_stamina = stamina_component.stamina
#PlayerInfo.player_stamina = stamina_component.stamina
player_data.player_stamina = stamina_component.stamina
##TODO: well I'm not sure I like this but making a whole state receiver is silly
if state_damage_amount.has(movement_state_machine.current_state.name):
$Hitbox_Component.damage_amount = state_damage_amount[movement_state_machine.current_state.name]
##TODO: well I'm not sure I like this but making a whole state receiver is silly
if state_damage_amount.has(movement_state_machine.current_state.name):
$Hitbox_Component.damage_amount = state_damage_amount[movement_state_machine.current_state.name]
else:
$Hitbox_Component.damage_amount = 10
match movement_state_machine.current_state.name:
"idle":
if Input.is_action_just_released("switch_primary_item_" + str(player_number)):
var _selected_item = player_inventory.switch_primary()
if _selected_item:
print("Switched Primary item to: ", _selected_item.name)
elif Input.is_action_just_released("switch_secondary_item_" + str(player_number)):
var _selected_item = player_inventory.switch_secondary()
if _selected_item:
print("Switched Secondary item to: ", _selected_item.name)
rset("puppet_pos", position)
else:
$Hitbox_Component.damage_amount = 10
position = puppet_pos
match movement_state_machine.current_state.name:
"idle":
if Input.is_action_just_released("switch_primary_item_" + str(player_number)):
var _selected_item = player_inventory.switch_primary()
if _selected_item:
print("Switched Primary item to: ", _selected_item.name)
elif Input.is_action_just_released("switch_secondary_item_" + str(player_number)):
var _selected_item = player_inventory.switch_secondary()
if _selected_item:
print("Switched Secondary item to: ", _selected_item.name)
func hit_Receiver(damage):
$Hurtbox_Component.set_hurtbox(false)