Final Game Jam version
This commit is contained in:
parent
35ce267482
commit
104a1e4297
141 changed files with 4485 additions and 206 deletions
|
|
@ -2,42 +2,119 @@ extends Camera3D
|
|||
|
||||
@onready var playerSelectButton = preload("res://scenes/camera/UI/playerSelectionButton.tscn")
|
||||
|
||||
@onready var roundLabel = $CanvasLayer/Control/General/roundLabel
|
||||
@onready var playerNameLabel = $CanvasLayer/Control/Player/PlayerNameLabel
|
||||
@onready var itemCards = $CanvasLayer/Control/Player/ItemCards
|
||||
@onready var magazineLabel = $CanvasLayer/Control/Player/MagazineLabel
|
||||
@onready var playerSelection = $CanvasLayer/Control/Player/PlayerSelection
|
||||
|
||||
@onready var roundLabel = $CanvasLayer/Control/General/HBoxContainer/roundLabel
|
||||
@onready var playerNameLabel = $CanvasLayer/Control/Player/HBoxContainer2/PlayerNameLabel
|
||||
@onready var itemCards = $CanvasLayer/Control/Player/Stats/ItemCards
|
||||
@onready var magazineLabel = $CanvasLayer/Control/Player/Stats/HBoxContainer/MagazineLabel
|
||||
@onready var playerSelection = $CanvasLayer/Control/Player/Stats/PlayerSelection
|
||||
@onready var stats = $CanvasLayer/Control/Player/Stats
|
||||
@onready var player = $CanvasLayer/Control/Player
|
||||
@onready var turnTimeLabel = $CanvasLayer/Control/Player/Stats/turnTimeLabel
|
||||
@onready var timer = $CanvasLayer/Control/Player/Stats/Timer
|
||||
|
||||
@onready var winInfo = $CanvasLayer/Control/WinInfo
|
||||
@onready var general = $CanvasLayer/Control/General
|
||||
|
||||
@onready var poolLabel = $CanvasLayer/Control/PoolLabel
|
||||
|
||||
@onready var winnerLabel = $CanvasLayer/Control/WinInfo/winScreen/WinnerLabel
|
||||
@onready var winRoundLabel = $CanvasLayer/Control/WinInfo/winScreen/WinRoundLabel
|
||||
|
||||
#@onready var itemStandardBulletButton = $
|
||||
var currentPlayer: Player
|
||||
var selectablePlayers: Array[Player]
|
||||
|
||||
var currentGameState: GLOBALS.GAMESTATE
|
||||
|
||||
signal itemSelected(_itemType: GLOBALS.ITEMTYPES)
|
||||
signal nextTurn()
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
func updateUi():
|
||||
match currentGameState:
|
||||
GLOBALS.GAMESTATE.SETUP:
|
||||
print("-- CAMERA SETUP --")
|
||||
setup()
|
||||
player.visible = false
|
||||
winInfo.visible = false
|
||||
general.visible = true
|
||||
poolLabel.visible = false
|
||||
GLOBALS.GAMESTATE.ROUNDSTART:
|
||||
print("-- CAMERA ROUNDSTART --")
|
||||
player.visible = false
|
||||
winInfo.visible = false
|
||||
general.visible = true
|
||||
poolLabel.visible = false
|
||||
GLOBALS.GAMESTATE.PLAYER:
|
||||
print("-- CAMERA PLAYER --")
|
||||
player.visible = true
|
||||
updatePlayerStats()
|
||||
if currentPlayer.isBot():
|
||||
stats.visible = false
|
||||
else:
|
||||
stats.visible = true
|
||||
winInfo.visible = false
|
||||
general.visible = true
|
||||
poolLabel.visible = false
|
||||
GLOBALS.GAMESTATE.POOL:
|
||||
print("-- CAMERA POOL --")
|
||||
player.visible = false
|
||||
winInfo.visible = false
|
||||
general.visible = true
|
||||
poolLabel.visible = true
|
||||
GLOBALS.GAMESTATE.AIM:
|
||||
print("-- CAMERA AIM --")
|
||||
player.visible = false
|
||||
winInfo.visible = false
|
||||
general.visible = true
|
||||
poolLabel.visible = false
|
||||
GLOBALS.GAMESTATE.SHOOT:
|
||||
print("-- CAMERA SHOOT --")
|
||||
player.visible = false
|
||||
winInfo.visible = false
|
||||
general.visible = true
|
||||
poolLabel.visible = false
|
||||
GLOBALS.GAMESTATE.END:
|
||||
print("-- CAMERA END --")
|
||||
if selectablePlayers.size() > 0:
|
||||
winnerLabel.text = selectablePlayers[0].getGameName()
|
||||
else:
|
||||
winnerLabel.text = "DRAW"
|
||||
winInfo.visible = true
|
||||
general.visible = false
|
||||
|
||||
func setup():
|
||||
for i in itemCards.get_children():
|
||||
if i.has_signal("selected"):
|
||||
i.selected.connect(selectItem.bind())
|
||||
|
||||
func setRound(_round: int) -> void:
|
||||
roundLabel.text = str(_round)
|
||||
func displayPlayerStats(_player) -> void:
|
||||
currentPlayer = _player
|
||||
updateUi()
|
||||
|
||||
func setSelectablePlayers(_players: Array[Player]) -> void:
|
||||
selectablePlayers = _players
|
||||
updateUi()
|
||||
|
||||
|
||||
func updateGameState(_state: GLOBALS.GAMESTATE) -> void:
|
||||
currentGameState = _state
|
||||
updateUi()
|
||||
|
||||
func getPlayerSelection() -> Player:
|
||||
for i in playerSelection.get_children():
|
||||
if i.button_pressed == true:
|
||||
return i.player
|
||||
return currentPlayer
|
||||
|
||||
|
||||
func updatePlayerStats():
|
||||
playerNameLabel.text = str(currentPlayer.getGameName())
|
||||
magazineLabel.text = str(currentPlayer.gun.magazineSize) + "/" + str(currentPlayer.gun.getBulletAmount())
|
||||
updatePlayerSelection()
|
||||
updateItemCards()
|
||||
|
||||
func setCurrentPlayer(_currentPlayer: Player):
|
||||
currentPlayer = _currentPlayer
|
||||
updatePlayerStats()
|
||||
|
||||
func selectItem(_itemType: GLOBALS.ITEMTYPES):
|
||||
print(currentPlayer.gun.magazineSizeLeft())
|
||||
if currentPlayer.gun.magazineSizeLeft() > 0:
|
||||
itemSelected.emit(_itemType)
|
||||
if currentPlayer != null:
|
||||
playerNameLabel.text = str(currentPlayer.getGameName())
|
||||
magazineLabel.text = str(currentPlayer.gun.magazineSize) + "/" + str(currentPlayer.gun.getBulletAmount())
|
||||
updateItemCards()
|
||||
updatePlayerSelection()
|
||||
|
||||
func updateItemCards() -> void:
|
||||
if currentPlayer.gun.magazineSizeLeft() <= 0:
|
||||
|
|
@ -61,7 +138,6 @@ func updateItemCards() -> void:
|
|||
else:
|
||||
j.visible = true
|
||||
|
||||
|
||||
func updatePlayerSelection() -> void:
|
||||
for i in playerSelection.get_children():
|
||||
i.free()
|
||||
|
|
@ -72,22 +148,35 @@ func updatePlayerSelection() -> void:
|
|||
newSelection.setPlayer(i)
|
||||
newSelection.button_group = newButtonGroup
|
||||
playerSelection.add_child(newSelection)
|
||||
|
||||
playerSelection.get_child(0).button_pressed = true
|
||||
if playerSelection.get_child(0) != null:
|
||||
playerSelection.get_child(0).button_pressed = true
|
||||
var newSelection = playerSelectButton.instantiate()
|
||||
newSelection.setPlayer(currentPlayer)
|
||||
newSelection.button_group = newButtonGroup
|
||||
playerSelection.add_child(newSelection)
|
||||
|
||||
|
||||
|
||||
|
||||
func setRound(_round: int) -> void:
|
||||
roundLabel.text = str(_round)
|
||||
winRoundLabel.text = str(_round)
|
||||
|
||||
func updatTurnTime(_timeLeft: float, _endTime: float) -> void:
|
||||
timer.setTime(_timeLeft, _endTime)
|
||||
turnTimeLabel.text = str(_timeLeft)
|
||||
|
||||
func selectItem(_itemType: GLOBALS.ITEMTYPES):
|
||||
print(currentPlayer.gun.magazineSizeLeft())
|
||||
if currentPlayer.gun.magazineSizeLeft() > 0:
|
||||
itemSelected.emit(_itemType)
|
||||
|
||||
func resetTimer() -> void:
|
||||
timer.reset()
|
||||
|
||||
func _on_next_turn_button_pressed() -> void:
|
||||
currentPlayer.selectPlayer(getPlayerSelection())
|
||||
nextTurn.emit()
|
||||
|
||||
|
||||
func getPlayerSelection() -> Player:
|
||||
for i in playerSelection.get_children():
|
||||
if i.button_pressed == true:
|
||||
return i.player
|
||||
return currentPlayer
|
||||
func _on_button_pressed() -> void:
|
||||
var mainMenu: PackedScene = load("res://scenes/mainMenu/mainMenu.tscn")
|
||||
get_tree().change_scene_to_packed(mainMenu)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue