31 lines
683 B
GDScript
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()
|