Snaparazzi/Assets/Scripts/GameManager.cs

122 lines
2.6 KiB
C#
Raw Normal View History

2024-01-27 12:19:56 +00:00
using System.Collections;
using System.Collections.Generic;
2024-01-27 12:46:54 +00:00
using TMPro;
2024-01-27 12:19:56 +00:00
using UnityEngine;
2024-01-27 12:46:54 +00:00
using UnityEngine.UI;
2024-01-27 12:19:56 +00:00
2024-01-27 12:46:54 +00:00
/// <summary>
/// This is the game state manager on the phone side
/// </summary>
2024-01-27 12:19:56 +00:00
public class GameManager : MonoBehaviour
{
2024-01-27 12:46:54 +00:00
private GameState currentState;
private List<Player> players = new List<Player>();
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()
2024-01-27 12:19:56 +00:00
{
2024-01-27 12:46:54 +00:00
return currentState;
}
/// <summary>
/// Send your name and game room to the server
/// </summary>
public void PlayerValidateNameAndServerRoom()
{
//check if the room exists, if not display an error message
//if succeed, then the player to the server
2024-01-27 12:19:56 +00:00
2024-01-27 12:46:54 +00:00
//if succeed, change the state and change page
currentState = GameState.WaitingForOtherPlayersToJoin;
2024-01-27 12:19:56 +00:00
}
2024-01-27 12:46:54 +00:00
/// <summary>
/// Call this only by the first player
/// </summary>
public void StartGame()
2024-01-27 12:19:56 +00:00
{
}
2024-01-27 12:46:54 +00:00
/// <summary>
/// Dislay on the screen the current prompt ask to you and another player
/// Also show all the camera stuff
/// </summary>
/// <param name="_prompt">The prompt to display</param>
public void MakeAProposition(Prompt _prompt)
{
}
/// <summary>
/// Create a proposition from the picture taken and send it to server.
/// Then go to next proposition (if any) or the page "WaitingForOtherPlayers"
/// </summary>
public void SubmitProposition()
{
Proposition temp = new Proposition();
}
/// <summary>
/// Display the voting page
/// </summary>
public void StartToVote()
{
}
/// <summary>
/// Choose one result and send it to the server
/// Then go to the next vote (if any) or to the page "WaitingForOtherPlayers"
/// </summary>
public void Vote()
{
}
/// <summary>
/// Display the UI of the end screen
/// </summary>
public void DisplayEndScreen()
{
}
/// <summary>
/// Automatically called when something change in your room
/// </summary>
private void OnRoomUpdate()
{
}
2024-01-27 12:19:56 +00:00
}
public enum GameState
{
EnteringName,
2024-01-27 12:46:54 +00:00
WaitingForOtherPlayersToJoin,
2024-01-27 12:19:56 +00:00
Explanation,
MakeProposition,
2024-01-27 12:46:54 +00:00
PropositionsSent,
WaitingForOtherPlayers,
2024-01-27 12:19:56 +00:00
VotingTime,
Ending
}