diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs
index 241d70d..8f9ba43 100644
--- a/Assets/Scripts/GameManager.cs
+++ b/Assets/Scripts/GameManager.cs
@@ -1,29 +1,119 @@
using System.Collections;
using System.Collections.Generic;
+using TMPro;
using UnityEngine;
+using UnityEngine.UI;
+///
+/// This is the game state manager on the phone side
+///
public class GameManager : MonoBehaviour
{
- // Start is called before the first frame update
- void Start()
+ private GameState currentState;
+ private List players = new List();
+
+ public float explanationTime = 4f;
+ private float currentExplanationTime = 0;
+
+ public InputField roomCodeField;
+ public TextMeshProUGUI roomError;
+ public InputField playerNameField;
+ public TextMeshProUGUI nameError;
+
+ private void Start()
+ {
+ currentExplanationTime = explanationTime;
+ }
+
+ public GameState GetCurrentState()
+ {
+ return currentState;
+ }
+
+ ///
+ /// Send your name and game room to the server
+ ///
+ public void PlayerValidateNameAndServerRoom()
+ {
+ //check if the room exists, if not display an error message
+
+ //if succeed, then the player to the server
+
+ //if succeed, change the state and change page
+ currentState = GameState.WaitingForOtherPlayersToJoin;
+ }
+
+ ///
+ /// Call this only by the first player
+ ///
+ public void StartGame()
{
}
- // Update is called once per frame
- void Update()
+ ///
+ /// Dislay on the screen the current prompt ask to you and another player
+ /// Also show all the camera stuff
+ ///
+ /// The prompt to display
+ public void MakeAProposition(Prompt _prompt)
{
}
+
+ ///
+ /// Create a proposition from the picture taken and send it to server.
+ /// Then go to next proposition (if any) or the page "WaitingForOtherPlayers"
+ ///
+ public void SubmitProposition()
+ {
+ Proposition temp = new Proposition();
+
+ }
+
+ ///
+ /// Display the voting page
+ ///
+ public void StartToVote()
+ {
+
+ }
+
+ ///
+ /// Choose one result and send it to the server
+ /// Then go to the next vote (if any) or to the page "WaitingForOtherPlayers"
+ ///
+ public void Vote()
+ {
+
+ }
+
+ ///
+ /// Display the UI of the end screen
+ ///
+ public void DisplayEndScreen()
+ {
+
+ }
+
+ ///
+ /// Automatically called when something change in your room
+ ///
+ private void OnRoomUpdate()
+ {
+
+ }
+
}
public enum GameState
{
EnteringName,
- WaitingForOtherPlayers,
+ WaitingForOtherPlayersToJoin,
Explanation,
MakeProposition,
- PropositionSent,
+ PropositionsSent,
+ WaitingForOtherPlayers,
VotingTime,
Ending
}