GamePlayManager.cs
1 //#define MULTIPLE_SCENES_LEVELS
2 //#define LOADING_SCENE
3 using UnityEngine;
4 using UnityEngine.SceneManagement;
5 using UnityEngine.UI;
6 
7 public class GamePlayManager : MonoBehaviour
8 {
12  [SerializeField] Text OppScore;
16  [SerializeField] Text Score;
20  [SerializeField] Text timer;
24  [SerializeField] Button leave;
25 
29  public void LeaveGame()
30  {
31  EndGame();
34  }
38  public void OnEnable()
39  {
41  }
45  void OnDisable()
46  {
48  }
53  public void UpdateOpponentsScore(long opponentsScore)
54  {
55  /*Opponent's score text object*/OppScore.text = "Opponent : " + opponentsScore;
56 
57  }
62  void UpdateScore(long score)
63  {
64  /*Player's score text object*/
65  Score.text = "Score : " + score.ToString();
66  if (score > 0)
67  {
68  //Send new player score to platform
71  }
72  }
73 
78  void Start()
79  {
82 
83  leave.onClick.AddListener(LeaveGame);
84  }
85  }
86 
90  void Update()
91  {
93  int timeLeft = GamePreparationManager.endDate - Epoch.Current();
94  if(timeLeft > 0)
96  else
98  }
99  }
100 
104  bool gameEnded = false;
105 
106 
107 #if MULTIPLE_SCENES_LEVELS
108 
111  void Switch()
112  {
113  if (!gameEnded)
114  {
116 
117  #if LOADING_SCENE
118  SceneManager.LoadScene("{Loading scene name}");
119  #else
120  SceneManager.LoadScene("Level" + GamePreparationManager.levelList[GamePreparationManager.currentLevel]);
121  #endif
122  }
123  }
124 #endif
125 
130  void EndGame()
131  {
132  if (!gameEnded)
133  {
134  gameEnded = true;
136  }
137  }
138 
143  void Finish(long score)
144  {
145  EndGame();
148  }
149 }
GamePlayManager.EndGame
void EndGame()
Definition: GamePlayManager.cs:130
GamePlayManager.leave
Button leave
Definition: GamePlayManager.cs:24
GamePlayManager.OnDisable
void OnDisable()
Definition: GamePlayManager.cs:45
GamePlayManager.UpdateOpponentsScore
void UpdateOpponentsScore(long opponentsScore)
Definition: GamePlayManager.cs:53
GamePreparationManager.SendScore
void SendScore(long gameScore)
Definition: GamePreparationManager.cs:243
GamePreparationManager.endDate
static int endDate
Definition: GamePreparationManager.cs:71
GamePlayManager.LeaveGame
void LeaveGame()
Definition: GamePlayManager.cs:29
GamePreparationManager.currentLevel
static int currentLevel
Definition: GamePreparationManager.cs:55
GamePreparationManager.FinishGame
void FinishGame(long finalScore)
Definition: GamePreparationManager.cs:253
GamePlayManager.OppScore
Text OppScore
Definition: GamePlayManager.cs:12
GamePlayManager.UpdateScore
void UpdateScore(long score)
Definition: GamePlayManager.cs:62
GamePreparationManager.EndGame
static void EndGame()
Definition: GamePreparationManager.cs:297
GamePlayManager.timer
Text timer
Definition: GamePlayManager.cs:20
Epoch.GetTimerString
static string GetTimerString(int timeLeft)
Definition: Epoch.cs:19
GamePlayManager.Start
void Start()
Definition: GamePlayManager.cs:78
GamePlayManager.Update
void Update()
Definition: GamePlayManager.cs:90
GamePlayManager.OnEnable
void OnEnable()
Definition: GamePlayManager.cs:38
GamePreparationManager.instance
static GamePreparationManager instance
Definition: GamePreparationManager.cs:31
GamePreparationManager
Definition: GamePreparationManager.cs:26
Epoch.Current
static int Current()
Definition: Epoch.cs:8
GamePreparationManager.LeaveGame
void LeaveGame()
Definition: GamePreparationManager.cs:261
GamePlayManager
Definition: GamePlayManager.cs:7
GamePlayManager.gameEnded
bool gameEnded
Definition: GamePlayManager.cs:104
GamePreparationManager.DidReceiveOpponentsScoreEvent
static System.Action< long > DidReceiveOpponentsScoreEvent
Definition: GamePreparationManager.cs:43
GamePlayManager.Score
Text Score
Definition: GamePlayManager.cs:16
Epoch
Definition: Epoch.cs:3
GamePlayManager.Finish
void Finish(long score)
Definition: GamePlayManager.cs:143
GamePreparationManager.levelList
static List< int > levelList
Definition: GamePreparationManager.cs:51
GamePreparationManager.currentScore
static long currentScore
Definition: GamePreparationManager.cs:59