Compare commits

...

2 Commits

2 changed files with 44 additions and 23 deletions

View File

@ -19,6 +19,13 @@ onready var movement_component: Movement_StateReceiver = $Movement_StateReceiver
#onready var movement_state_machine: StateMachineAnimatedActor = $movement_state_machine #onready var movement_state_machine: StateMachineAnimatedActor = $movement_state_machine
onready var movement_state_machine: StateMachine = $Movement_StateMachine onready var movement_state_machine: StateMachine = $Movement_StateMachine
onready var animated_sprite : AnimatedSprite = $AnimatedSprite_StateReceiver
## Multiplayer Variables
puppet var puppet_pos = Vector2()
puppet var puppet_anim_sprite_frame :int
puppet var puppet_anim_sprite_name :String
puppet var puppet_transform: Transform2D
##TODO: ##TODO:
# Can't seem to implement the ready and process node functions # Can't seem to implement the ready and process node functions
@ -27,23 +34,43 @@ onready var movement_state_machine: StateMachine = $Movement_StateMachine
# interfaces for the state machines. # interfaces for the state machines.
func _ready() -> void: func _ready() -> void:
pass puppet_anim_sprite_name = animated_sprite.animation
puppet_anim_sprite_frame = animated_sprite.frame
puppet_transform = transform
## Disable Process and Physics on puppets
if not is_network_master():
animated_sprite.set_process(false)
animated_sprite.set_physics_process(false)
#movement_state_machine.init_animated_actor(self) #movement_state_machine.init_animated_actor(self)
#movement_component.attack_function = funcref(self, "attack") #movement_component.attack_function = funcref(self, "attack")
# movement_component.player_number = player_number # movement_component.player_number = player_number
func _process(delta):
if is_network_master():
rset("puppet_anim_sprite_name", animated_sprite.animation)
rset("puppet_anim_sprite_frame", animated_sprite.frame)
else:
animated_sprite.animation = puppet_anim_sprite_name
animated_sprite.frame = puppet_anim_sprite_frame
func _unhandled_input(event: InputEvent) -> void: func _unhandled_input(event: InputEvent) -> void:
if actor_type == "Player": if is_network_master():
movement_component.process_input(event) if actor_type == "Player":
movement_component.process_input(event)
#movement_state_machine.process_input(event) #movement_state_machine.process_input(event)
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
# Input based or polling input is not done in _unhandled_input # Input based or polling input is not done in _unhandled_input
# gives us the ability to turn off polling this way # gives us the ability to turn off polling this way
if actor_type == "Player": if is_network_master():
movement_component.process_physics_input(delta) if actor_type == "Player":
movement_component.process_physics(delta) movement_component.process_physics_input(delta)
movement_component.process_physics(delta)
rset("puppet_pos", position)
rset("puppet_transform", transform)
else:
position = puppet_pos
transform = puppet_transform
#movement_state_machine.process_physics(delta) #movement_state_machine.process_physics(delta)
# #
#func _process(delta: float) -> void: #func _process(delta: float) -> void:

View File

@ -28,9 +28,6 @@ const state_damage_amount :Dictionary = {
var player_info_index :int var player_info_index :int
var player_data :PlayerData var player_data :PlayerData
## Multiplayer Variables
puppet var puppet_pos = Vector2()
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
@ -38,13 +35,17 @@ func _ready():
PlayerInfo.player_inventory = player_inventory PlayerInfo.player_inventory = player_inventory
# PlayerInfo.player_stamina = stamina_component.stamina # PlayerInfo.player_stamina = stamina_component.stamina
player_info_index = PlayerInfo.register_player() # I think we only want to do this for network master players now
print ("Registered as player: ", player_info_index) if is_network_master():
player_data = PlayerInfo.get_player_data(player_info_index) player_info_index = PlayerInfo.register_player()
PlayerInfo.get_player_data(player_info_index).player_health = health_component.health print ("Registered as player: ", player_info_index)
print ("My health is: ", player_data.player_health) player_data = PlayerInfo.get_player_data(player_info_index)
player_data.player_inventory = player_inventory PlayerInfo.get_player_data(player_info_index).player_health = health_component.health
player_data.player_stamina = stamina_component.stamina print ("My health is: ", player_data.player_health)
player_data.player_inventory = player_inventory
player_data.player_stamina = stamina_component.stamina
else:
$Hurtbox_Component.hurtbox_entered_function = ''
# Set initial player position in world. # Set initial player position in world.
global_position = LevelInfo.player_start_position global_position = LevelInfo.player_start_position
@ -53,9 +54,6 @@ func _ready():
player_inventory.select_primary(punch_item) player_inventory.select_primary(punch_item)
movement_component.state_stamina_cost = state_stamina_cost movement_component.state_stamina_cost = state_stamina_cost
puppet_pos = position
#var stamina_recovery :float = 0.0 #var stamina_recovery :float = 0.0
@ -90,10 +88,6 @@ func _process(delta):
if _selected_item: if _selected_item:
print("Switched Secondary item to: ", _selected_item.name) print("Switched Secondary item to: ", _selected_item.name)
rset("puppet_pos", position)
else:
position = puppet_pos
func hit_Receiver(damage): func hit_Receiver(damage):