Chelimbalo/systems/weapon_system/weapon_state.gd
2025-12-21 02:22:41 +05:00

47 lines
1,020 B
GDScript

@abstract
extends State
class_name WeaponState
@warning_ignore("unused_signal")
signal return_to_previous
var machine: WeaponSubStateMachine
func _use_begin(timestamp: float) -> void:
pass
@rpc("authority","call_remote","reliable")
func use_begin(timestamp: float) -> void:
_use_begin(timestamp)
if is_multiplayer_authority():
use_begin.rpc(timestamp)
func _use_end(timestamp: float):
pass
@rpc("authority","call_remote","reliable")
func use_end(timestamp: float) -> void:
_use_end(timestamp)
if is_multiplayer_authority():
use_end.rpc(timestamp)
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()