red_dragon_pon/base/scripts/player/command_stack.gd

31 lines
683 B
GDScript

extends RefCounted
class_name CommandStack
## Commands that can be pushed to stack
enum Command {
None,
TakeWeapon,
Shoot,
Reload,
HolsterWeapon,
TakeZaza,
LightZaza,
Smoke
}
var left_command_stack: Array[Command] = []
var right_command_stack: Array[Command] = []
func push(left_command: Command = Command.None, right_command: Command = Command.None):
left_command_stack.push_back(left_command)
right_command_stack.push_back(right_command)
func pop():
left_command_stack.pop_back()
right_command_stack.pop_back()
func current_left_command() -> Command:
return left_command_stack.back()
func current_right_command() -> Command:
return right_command_stack.back()