fixed a couple bugs
This commit is contained in:
parent
cdd8cdea3a
commit
5381d72a5c
2 changed files with 29 additions and 6 deletions
|
|
@ -25,7 +25,6 @@ var player_queue : Array[String]
|
||||||
var current_player : String = ""
|
var current_player : String = ""
|
||||||
var turn_timer : float
|
var turn_timer : float
|
||||||
var turn_started : bool #cant do stuff unless this is true
|
var turn_started : bool #cant do stuff unless this is true
|
||||||
var start_process : bool = false
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
extends Gift
|
extends Gift
|
||||||
|
|
||||||
signal moveBlock(direction : String, amount : float)
|
signal moveBlock(direction : String, amount : float)
|
||||||
|
signal dropBlock()
|
||||||
|
|
||||||
@export_group("Node References")
|
@export_group("Node References")
|
||||||
@export var jenga_manager : Node
|
@export var jenga_manager : Node
|
||||||
|
|
@ -70,6 +71,8 @@ func _ready() -> void:
|
||||||
|
|
||||||
#move block commands - !move north 10
|
#move block commands - !move north 10
|
||||||
add_command("move", move, 2,2)
|
add_command("move", move, 2,2)
|
||||||
|
|
||||||
|
add_command("drop", drop)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -112,17 +115,30 @@ func list(cmd_info : CommandInfo, arg_ary : PackedStringArray) -> void:
|
||||||
|
|
||||||
func join_queue(cmd_info : CommandInfo):
|
func join_queue(cmd_info : CommandInfo):
|
||||||
#add sender to queue array
|
#add sender to queue array
|
||||||
jenga_manager.player_queue.append(cmd_info.sender_data.tags["display-name"])
|
var player_name = cmd_info.sender_data.tags["display-name"]
|
||||||
pass
|
var searchResult = jenga_manager.player_queue.find(player_name)
|
||||||
|
if (searchResult == -1):
|
||||||
|
#not found in queue, they get added
|
||||||
|
jenga_manager.player_queue.append(player_name)
|
||||||
|
chat(searchResult + "joined the queue")
|
||||||
|
else:
|
||||||
|
chat("Sorry " + player_name + " you already in the queue at position: " + searchResult)
|
||||||
|
|
||||||
func leave_queue(cmd_info : CommandInfo):
|
func leave_queue(cmd_info : CommandInfo):
|
||||||
#remove sender from queue array
|
#remove sender from queue array
|
||||||
jenga_manager.player_queue.erase(cmd_info.sender_data.tags["display-name"])
|
var player_name = cmd_info.sender_data.tags["display-name"]
|
||||||
|
var searchResult = jenga_manager.player_queue.find(player_name)
|
||||||
|
if (searchResult == -1):
|
||||||
|
chat(searchResult + "! you are not currently in the queue, join with !join_queue")
|
||||||
|
else:
|
||||||
|
jenga_manager.player_queue.erase(player_name)
|
||||||
|
chat(searchResult + "left the queue")
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
func start_turn(cmd_info : CommandInfo):
|
func start_turn(cmd_info : CommandInfo):
|
||||||
#give the player who turn is about to start 20(?) seconds to confirm their turn
|
#give the player who turn is about to start 20(?) seconds to confirm their turn
|
||||||
if(cmd_info.sender_data.tags["display-name"] == jenga_manager.current_player):
|
if(cmd_info.sender_data.tags["display-name"] == jenga_manager.current_player and not jenga_manager.turn_started):
|
||||||
jenga_manager.turn_started=true
|
jenga_manager.turn_started=true
|
||||||
jenga_manager.turn_timer = jenga_manager.turn_time_limit
|
jenga_manager.turn_timer = jenga_manager.turn_time_limit
|
||||||
pass
|
pass
|
||||||
|
|
@ -139,7 +155,7 @@ func camera(cmd_info : CommandInfo, arg_ary : PackedStringArray) -> void:
|
||||||
chat("moving camera " + arg_ary[0] + " by " + arg_ary[1] + " degrees")
|
chat("moving camera " + arg_ary[0] + " by " + arg_ary[1] + " degrees")
|
||||||
|
|
||||||
func move(cmd_info : CommandInfo, arg_ary : PackedStringArray) -> void:
|
func move(cmd_info : CommandInfo, arg_ary : PackedStringArray) -> void:
|
||||||
if(cmd_info.sender_data.tags["display-name"] == jenga_manager.current_player):
|
if(cmd_info.sender_data.tags["display-name"] == jenga_manager.current_player and jenga_manager.turn_started) :
|
||||||
var chosenDirection = arg_ary[0].to_lower()
|
var chosenDirection = arg_ary[0].to_lower()
|
||||||
var validDirections = ["up","down","north","south","east","west"]
|
var validDirections = ["up","down","north","south","east","west"]
|
||||||
if(validDirections.has(chosenDirection)):
|
if(validDirections.has(chosenDirection)):
|
||||||
|
|
@ -147,3 +163,11 @@ func move(cmd_info : CommandInfo, arg_ary : PackedStringArray) -> void:
|
||||||
chat("moving block " + arg_ary[0] + " by " + arg_ary[1] + " units")
|
chat("moving block " + arg_ary[0] + " by " + arg_ary[1] + " units")
|
||||||
else:
|
else:
|
||||||
chat("invalid direction :(")
|
chat("invalid direction :(")
|
||||||
|
|
||||||
|
func drop(cmd_info : CommandInfo):
|
||||||
|
#make block child of world and unfreeze the rb
|
||||||
|
if(cmd_info.sender_data.tags["display-name"] == jenga_manager.current_player and jenga_manager.turn_started) :
|
||||||
|
chat("Dropping the block!")
|
||||||
|
dropBlock.emit()
|
||||||
|
## TODO 5s/10s to watch for what block does and wait for it to finish moving before next player starts
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue