Chelimbalo/systems/weapon_system/weapon_state.gd
2025-12-09 22:34:17 +05:00

47 lines
920 B
GDScript

@abstract
extends State
class_name WeaponState
@warning_ignore("unused_signal")
signal return_to_previous
var machine: WeaponSubStateMachine
func _use_begin() -> void:
pass
@rpc("authority","call_remote","reliable")
func use_begin() -> void:
_use_begin()
if is_multiplayer_authority():
use_begin.rpc()
func _use_end():
pass
@rpc("authority","call_remote","reliable")
func use_end() -> void:
_use_end()
if is_multiplayer_authority():
use_end.rpc()
func _alternate_state() -> void:
pass
@rpc("authority","call_remote","reliable")
func alternate_state() -> void:
_alternate_state()
if is_multiplayer_authority():
alternate_state.rpc()
# Need to clarify naming; Switch mode like firemode. For different states use
# alternate_state
func _switch_mode():
pass
@rpc("authority","call_remote","reliable")
func switch_mode() -> void:
_switch_mode()
if is_multiplayer_authority():
switch_mode.rpc()