push project up sabs assets
This commit is contained in:
46
scenes/individual_parts/cue/cue_multiplayer.gd
Normal file
46
scenes/individual_parts/cue/cue_multiplayer.gd
Normal file
@@ -0,0 +1,46 @@
|
||||
class_name CueMultiplayer extends CueBase
|
||||
|
||||
|
||||
func setup_multiplayer() -> void:
|
||||
if not Globals.multiplayer_data.is_multiplayer_active: return
|
||||
|
||||
self.set_multiplayer_authority(1)
|
||||
|
||||
Globals.multiplayer_data.set_tracking_of_cue(get_path())
|
||||
Globals.multiplayer_data.set_tracking_of_cue(inclination.get_path())
|
||||
Globals.multiplayer_data.set_tracking_of_cue(pool_cue_tip.get_path())
|
||||
|
||||
if multiplayer.is_server(): return
|
||||
|
||||
pool_cue_tip.monitoring = false
|
||||
|
||||
@rpc("any_peer", "call_remote", "reliable")
|
||||
func rpc_input(event: String) -> void:
|
||||
if not Globals.multiplayer_data.can_do_request(): return
|
||||
|
||||
if event == "aim_pulse":
|
||||
animation_player.play("aim_pulse")
|
||||
elif event == "aim_release":
|
||||
# NOTE: Here, 'anim_pos' is used to gague strength of impulse
|
||||
pool_cue_tip.anim_pos = animation_player.get_current_animation_position()
|
||||
cue_shape.set_deferred("disabled", false)
|
||||
|
||||
cue_kick()
|
||||
|
||||
@rpc("any_peer", "call_remote", "reliable")
|
||||
func rpc_process(action: String, delta: float) -> void:
|
||||
if not Globals.multiplayer_data.can_do_request(): return
|
||||
|
||||
Globals.game_state.update_cue_cam_position.emit(
|
||||
cue_cam_marker.global_rotation,
|
||||
cue_cam_marker.global_position
|
||||
)
|
||||
|
||||
if action == "aim_rotate_left":
|
||||
cue_rotation = rewind_anim(delta, cue_rotation, "aim_rotate")
|
||||
elif action == "aim_rotate_right":
|
||||
cue_rotation = forward_anim(delta, cue_rotation, "aim_rotate")
|
||||
elif action == "aim_incline":
|
||||
cue_inclination = forward_anim(delta, cue_inclination, "aim_inclination")
|
||||
elif action == "aim_decline":
|
||||
cue_inclination = rewind_anim(delta, cue_inclination, "aim_inclination")
|
||||
Reference in New Issue
Block a user