GamePlayManager Class Reference
+ Inheritance diagram for GamePlayManager:

Public Member Functions

void LeaveGame ()
 
void OnEnable ()
 
void UpdateOpponentsScore (long opponentsScore)
 

Private Member Functions

void OnDisable ()
 
void UpdateScore (long score)
 
void Start ()
 
void Update ()
 
void EndGame ()
 
void Finish (long score)
 

Private Attributes

Text OppScore
 
Text Score
 
Text timer
 
Button leave
 
bool gameEnded = false
 

Detailed Description

Definition at line 7 of file GamePlayManager.cs.

Member Function Documentation

◆ EndGame()

void GamePlayManager.EndGame ( )
private

Suggested custom method to be called when it is time to complete gameplay sequence or player leaves game via "Leave" button.

Note
It's important to delete runtime values and make sure that all gameplay freezes on game sequence end, because application is still running in background when SDK UI is shown.

Definition at line 130 of file GamePlayManager.cs.

131  {
132  if (!gameEnded)
133  {
134  gameEnded = true;
136  }
137  }

◆ Finish()

void GamePlayManager.Finish ( long  score)
private

Suggested custom method to be called when it is time to finish gameplay sequence with defining last score and sending it to the platform

Parameters
long$scoreLast gained by player score.

Definition at line 143 of file GamePlayManager.cs.

144  {
145  EndGame();
148  }

◆ LeaveGame()

void GamePlayManager.LeaveGame ( )

Triggers GamePlayManager leaveGame event for user to leave game sequence

Definition at line 29 of file GamePlayManager.cs.

◆ OnDisable()

void GamePlayManager.OnDisable ( )
private

In this method custom Platform callback handlers might be removed, so they won't be duplicated on level switch.

Definition at line 45 of file GamePlayManager.cs.

◆ OnEnable()

void GamePlayManager.OnEnable ( )

In this method custom Platform callback handlers might be set, so they are ready just before game start

Definition at line 38 of file GamePlayManager.cs.

◆ Start()

void GamePlayManager.Start ( )
private

Suggested place for setting up the timer and other UI text objects, like opponent's score, player's score etc with proper up-to-date values, on gameplay sequence start or on new level loaded. Also "Leave" button click handler might be defined here.

Definition at line 78 of file GamePlayManager.cs.

79  {
82 
83  leave.onClick.AddListener(LeaveGame);
84  }
85  }

◆ Update()

void GamePlayManager.Update ( )
private

Default Unity event handler. Suggested place ṭo show actual game timer value every second/every frame in order to get around the possibility of incorrect timer value on game window collapse or losing focus

Definition at line 90 of file GamePlayManager.cs.

91  {
93  int timeLeft = GamePreparationManager.endDate - Epoch.Current();
94  if(timeLeft > 0)
96  else
98  }
99  }

◆ UpdateOpponentsScore()

void GamePlayManager.UpdateOpponentsScore ( long  opponentsScore)

Suggested custom Platform callback handler, that will fire when opponent's score is changed.

Parameters
long$opponentsScoreNew opponent's score value.

Definition at line 53 of file GamePlayManager.cs.

54  {
55  /*Opponent's score text object*/OppScore.text = "Opponent : " + opponentsScore;
56 
57  }

◆ UpdateScore()

void GamePlayManager.UpdateScore ( long  score)
private

Suggested custom method to call from main gameplay logic to pass new score value to UI score text object and pass this value to Platform.

Parameters
long$scoreNew player's score value.

Definition at line 62 of file GamePlayManager.cs.

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  }

Member Data Documentation

◆ gameEnded

bool GamePlayManager.gameEnded = false
private

Variable to let application know whether current gameplay sequence is over or not.

Definition at line 104 of file GamePlayManager.cs.

◆ leave

Button GamePlayManager.leave
private

Suggested button object for player's leave game mechanics.

Definition at line 24 of file GamePlayManager.cs.

◆ OppScore

Text GamePlayManager.OppScore
private

Suggested opponen's score text object representation passed to GamePlayManager script.

Definition at line 12 of file GamePlayManager.cs.

◆ Score

Text GamePlayManager.Score
private

Suggested player's score text object representation passed to GamePlayManager script.

Definition at line 16 of file GamePlayManager.cs.

◆ timer

Text GamePlayManager.timer
private

Suggested timer text object to show player time left till game sequence end.

Definition at line 20 of file GamePlayManager.cs.

GamePlayManager.EndGame
void EndGame()
Definition: GamePlayManager.cs:130
GamePlayManager.leave
Button leave
Definition: GamePlayManager.cs:24
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.FinishGame
void FinishGame(long finalScore)
Definition: GamePreparationManager.cs:253
GamePlayManager.OppScore
Text OppScore
Definition: GamePlayManager.cs:12
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
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.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.currentScore
static long currentScore
Definition: GamePreparationManager.cs:59