Skip to content

Commit fe9a219

Browse files
committed
Adds player data from feed to playerDetailsUI, update lights
1 parent 6e1ee2a commit fe9a219

File tree

8 files changed

+320
-2448
lines changed

8 files changed

+320
-2448
lines changed

Assets/_Project/Prefabs/UI/PlayerDetailsCanvas.prefab

Lines changed: 212 additions & 2350 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/_Project/Scenes/tally-viz-master.unity

Lines changed: 6 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/_Project/Scripts/Effects/CameraManager.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,12 @@ IEnumerator Transition ()
210210
yield return 0;
211211
}
212212
cameraMoving = false;
213+
//Debug.Log (cameraTarget.GetComponentInParent<Player> ().feedData.username.ToString ());
214+
playerDetails.updateData (cameraTarget.GetComponentInParent<Player> ().feedData);
213215
playerDetails.playerPanel.SetActive (true);
214-
playerDetails.setUI (cameraTarget.GetComponentInParent<Player> ().username, "1", "1", "1", "1", "1", "1", "1");
215216
}
216217

218+
217219
/// ARCHIVED TRANSITION IN CASE YOU NEED IT LATER
218220
/// FEEL FREE TO DELETE AT ANY POINT
219221
//float longestD = Vector2.Distance(mainCamera.transform.position, cameraTarget.transform.position);
@@ -236,7 +238,7 @@ IEnumerator Transition ()
236238
}
237239

238240
/// <summary>
239-
/// Moves the camera to the targetPosition
241+
/// Moves the camera to the targetPosition (used for zooming out)
240242
/// </summary>
241243
/// <param name="targetPosition"> Vector3 location to move the camera to </param>
242244
IEnumerator Transition (Vector3 targetPosition)
@@ -256,7 +258,7 @@ IEnumerator Transition (Vector3 targetPosition)
256258
yield return 0;
257259
}
258260
cameraMoving = false;
259-
playerDetails.setUI (cameraTarget.GetComponentInParent<Player> ().username, "1", "1", "1", "1", "1", "1", "1");
261+
playerDetails.updateData (cameraTarget.GetComponentInParent<Player> ().feedData);
260262
}
261263
}
262264

@@ -284,8 +286,8 @@ IEnumerator ZoomIn ()
284286
}
285287
cameraZooming = false;
286288
cameraZoomed = true;
289+
playerDetails.updateData (cameraTarget.GetComponentInParent<Player> ().feedData);
287290
playerDetails.playerPanel.SetActive (true);
288-
playerDetails.setUI (cameraTarget.GetComponentInParent<Player> ().username, "1", "1", "1", "1", "1", "1", "1");
289291
}
290292
}
291293

Assets/_Project/Scripts/Effects/PlayerDetailsUI.cs

Lines changed: 0 additions & 71 deletions
This file was deleted.

Assets/_Project/Scripts/Players/Player.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ public class Player : MonoBehaviour {
77

88
// META
99

10+
public FeedData feedData;
1011
public string username;
1112
public string avatarPath;
1213
public bool effectIsPlaying;
@@ -29,12 +30,13 @@ private void Awake ()
2930
StartCoroutine (StartChecks ());
3031
}
3132

32-
public void Init (string _username, string _avatarPath)
33+
public void Init (FeedData _feedData)
3334
{
3435
//Debug.Log ("Player.Init() _username = " + _username);
3536

36-
username = _username;
37-
avatarPath = _avatarPath;
37+
feedData = _feedData;
38+
username = _feedData.username;
39+
avatarPath = _feedData.avatarPath;
3840
lastActive = DateTime.Now;
3941
}
4042

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
using System.Collections;
2+
using System.Collections.Generic;
3+
using UnityEngine.UI;
4+
using TMPro;
5+
using UnityEngine;
6+
7+
public class PlayerDetailsUI : MonoBehaviour {
8+
9+
// references
10+
public GameObject playerPanel;
11+
public TMP_Text usernameText;
12+
public TMP_Text dataText;
13+
14+
// current data index displayed
15+
public int dataIndex = 0;
16+
public string [] dataArray = new string [9];
17+
private IEnumerator displayNewDataCoroutine;
18+
19+
private void Awake ()
20+
{
21+
// hide in case I left open
22+
playerPanel.SetActive (false);
23+
24+
displayNewDataCoroutine = displayNewData ();
25+
StartCoroutine (displayNewDataCoroutine);
26+
}
27+
28+
void StopStartCouroutine ()
29+
{
30+
StopCoroutine (displayNewDataCoroutine);
31+
dataIndex = 0;
32+
StartCoroutine (displayNewDataCoroutine);
33+
}
34+
35+
// Sets the UI text to be filled with player data
36+
public void updateData (FeedData feedData)
37+
{
38+
// reset index
39+
dataIndex = 0;
40+
// update username
41+
usernameText.text = "<style=c3>" + feedData.username + "</style>";
42+
// update data array
43+
dataArray = new string [9] {
44+
"level: " + string.Format("{0,1:###,###,###.##}",feedData.level) + "",
45+
"clicks: " + string.Format("{0,1:###,###,###.##}",feedData.clicks) + "",
46+
"score: " + string.Format("{0,1:###,###,###.##}",feedData.score) + "",
47+
"played: " + string.Format("{0,1:###,###,###.##}",(feedData.time / 60)) + " minutes",
48+
"battles fought: " + string.Format("{0,1:###,###,###.##}",(feedData.capturedTotal + feedData.missedTotal)) + "",
49+
"monsters captured: " + string.Format("{0,1:###,###,###.##}",feedData.capturedTotal) + "",
50+
"scrolled: " + string.Format("{0,1:###,###,###.##}",(feedData.pageActionScrollDistance / 1000000)) + " km",
51+
"trackers seen: " + string.Format("{0,1:###,###,###.##}",feedData.trackersSeen) + "",
52+
"trackers blocked: " + string.Format("{0,1:###,###,###.##}",feedData.trackersBlocked) + "",
53+
};
54+
StopStartCouroutine ();
55+
}
56+
57+
// Makes a different data visible every n seconds
58+
IEnumerator displayNewData ()
59+
{
60+
while (true) {
61+
62+
dataText.text = "<style=c2>" + dataArray [dataIndex] + "</style>";
63+
64+
if (++dataIndex >= dataArray.Length)
65+
dataIndex = 0;
66+
67+
yield return new WaitForSeconds (2f);
68+
}
69+
}
70+
}

Assets/_Project/Scripts/Effects/PlayerDetailsUI.cs.meta renamed to Assets/_Project/Scripts/Players/PlayerDetailsUI.cs.meta

File renamed without changes.

Assets/_Project/Scripts/Players/PlayerManager.cs

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -108,17 +108,17 @@ void AddAllPlayers ()
108108
Debug.Log ("PlayerManager.AddAllPlayers()");
109109

110110
// loop through the buffer and add players to scene and dict
111-
foreach (var feed in Timeline.Instance.buffer) {
111+
foreach (var feedData in Timeline.Instance.buffer) {
112112
// max hasn't been reached
113113
if (playerDict.Count > maxPlayersAllowed) break;
114114
// check if player exists and add if not
115-
CreateNewPlayer (feed.username, feed.avatarPath);
115+
CreateNewPlayer (feedData);
116116
}
117-
foreach (var feed in Timeline.Instance.history) {
117+
foreach (var feedData in Timeline.Instance.history) {
118118
// max hasn't been reached
119119
if (playerDict.Count > maxPlayersAllowed) break;
120120
// check if player exists and add if not
121-
CreateNewPlayer (feed.username, feed.avatarPath);
121+
CreateNewPlayer (feedData);
122122
}
123123

124124
UpdateCounts ();
@@ -161,30 +161,30 @@ void CheckUpdatePlayers ()
161161
GameObject player;
162162

163163
// loop through the buffer
164-
foreach (var feed in Timeline.Instance.buffer) {
164+
foreach (var feedData in Timeline.Instance.buffer) {
165165
// if player still in playerDict
166-
playerDict.TryGetValue (feed.username, out player);
166+
playerDict.TryGetValue (feedData.username, out player);
167167
if (player != null) {
168168
// remove from playersToRemoveDict
169-
playersToRemoveDict.Remove (feed.username);
169+
playersToRemoveDict.Remove (feedData.username);
170170
} else {
171171
// max hasn't been reached
172172
if (playerDict.Count > maxPlayersAllowed) break;
173173
// check if player exists and add
174-
CreateNewPlayer (feed.username, feed.avatarPath);
174+
CreateNewPlayer (feedData);
175175
}
176176
}
177-
foreach (var feed in Timeline.Instance.history) {
177+
foreach (var feedData in Timeline.Instance.history) {
178178
// if player still in playerDict
179-
playerDict.TryGetValue (feed.username, out player);
179+
playerDict.TryGetValue (feedData.username, out player);
180180
if (player != null) {
181181
// remove from playersToRemoveDict
182-
playersToRemoveDict.Remove (feed.username);
182+
playersToRemoveDict.Remove (feedData.username);
183183
} else {
184184
// max hasn't been reached
185185
if (playerDict.Count > maxPlayersAllowed) break;
186186
// check if player exists and add
187-
CreateNewPlayer (feed.username, feed.avatarPath);
187+
CreateNewPlayer (feedData);
188188
}
189189
}
190190

@@ -231,10 +231,10 @@ void UpdateCounts ()
231231
/**
232232
* Create a new player
233233
*/
234-
public bool CreateNewPlayer (string username, string avatarPath)
234+
public bool CreateNewPlayer (FeedData feedData)
235235
{
236236
// make sure the player doesn't already exist
237-
if (playerDict.ContainsKey (username)) return false;
237+
if (playerDict.ContainsKey (feedData.username)) return false;
238238

239239
// get a position that doesn't contain any other colliders
240240
Vector3 spawnPosition = GetClearSpawnPosition ();
@@ -251,18 +251,18 @@ public bool CreateNewPlayer (string username, string avatarPath)
251251
// instantiate prefab @ spawn position
252252
GameObject obj = (GameObject)Instantiate (playerPrefab, spawnPosition, spawnRotation);
253253
// call Init() on Player
254-
obj.GetComponent<Player> ().Init (username, avatarPath);
254+
obj.GetComponent<Player> ().Init (feedData);
255255
// set name in Unity Editor
256-
obj.name = username;
256+
obj.name = feedData.username;
257257
// parent under PlayerManger
258258
obj.transform.parent = gameObject.transform;
259259
// finaly, add to dict
260-
playerDict.Add (username, obj);
260+
playerDict.Add (feedData.username, obj);
261261
// sets a reference to the cameraManager
262262
obj.GetComponent<Player> ().cameraManager = cameraManager;
263263

264264
// Allow the player to be selected by the camera
265-
cameraManager.AddPlayer (username);
265+
cameraManager.AddPlayer (feedData.username);
266266
}
267267
return true;
268268
}
@@ -287,6 +287,9 @@ public void PlayEvent (FeedData feed)
287287
// reference to script (contains all the other references we need)
288288
currentPlayerScript = currentPlayerObj.GetComponent<Player> ();
289289

290+
// store FeedData for zoom
291+
currentPlayerScript.feedData = feed;
292+
290293
// show event in public var
291294
currentEventType = feed.eventType;
292295

0 commit comments

Comments
 (0)