Exemplo n.º 1
0
	//Uses psinfo to generate player score grid.
	public void Initialize(PlayerServerInfo psInfo){
		this.psInfo = psInfo;

		foreach(NetworkPlayer player in psInfo.players){
			GameObject scoreUI = NGUITools.AddChild(scoresGrid.gameObject, PlayerScorePrefab) as GameObject;
			scoreUI.transform.localEulerAngles = new Vector3(0f, 0f, 3f);
			string playerName = psInfo.GetPlayerOptions(player).username;
			scoreUI.GetComponent<UILabel>().text = playerName;
			entries.Add(player, scoreUI);
		}
	}
Exemplo n.º 2
0
	//Uses psinfo to generate player score grid.
	public void Initialize(PlayerServerInfo psInfo, float lives){
		this.psInfo = psInfo;

		foreach(NetworkPlayer player in psInfo.players){
			GameObject livesUI = NGUITools.AddChild(livesGrid.gameObject, PlayerLivesPrefab) as GameObject;
			livesUI.transform.localEulerAngles = new Vector3(0f, 0f, 3f);
			GameObject childLabel = livesUI.transform.GetChild(0).gameObject;
			childLabel.GetComponent<UILabel>().text = lives.ToString();
			GameObject playeravatar = childLabel.transform.GetChild(0).gameObject;

			var playertype = ColorCheck(psInfo.GetPlayerOptions(player).style);
			var playerchar = psInfo.GetPlayerOptions(player).character;
			DetermineColor(playertype, playerchar, playeravatar);
			entry.Add(player, livesUI);
		}
	}
Exemplo n.º 3
0
	//On Level Loaded tries to spawn the labels of player scores.

	void OnNetworkLoadedLevel(){

		sessionManager = GameObject.FindWithTag ("SessionManager").GetComponent<SessionManager>();
		infoscript = sessionManager.psInfo;
		var listed = infoscript.players;
		print(listed);
		print(listed.Count);
		print(infoscript.GetPlayerStats(listed[0]).roundScore);

		if(sessionManager.matchfinish){
			timeleft = 12;
			timeLabelDescription = "Returning to Lobby: ";
			var timelabel = (GameObject)Instantiate(TimeLabel, new Vector2(0,0), transform.rotation);
			timelabel.transform.parent = GameObject.Find("UI Root").transform;
			timelabel.transform.localScale = new Vector3(1,1,1);
			timelabel.transform.localPosition = new Vector2 (-590,285);
			timeLabelReference = timelabel;

		} else {
			timeleft = 6;
			timeLabelDescription = "Next Round in: ";
			var timelabel = (GameObject)Instantiate (TimeLabel, new Vector2 (0, 0), transform.rotation);
			timelabel.transform.parent = GameObject.Find ("UI Root").transform;
			timelabel.transform.localScale = new Vector3(1,1,1);
			timelabel.transform.localPosition = new Vector2 (-590,285);
			timeLabelReference = timelabel;
		}

		print (winningscore);

		//If the Match is finished check who was the winner and set up tie logic
		if(sessionManager.matchfinish){

			for(int v = 0; v < listed.Count; v++){

				var score = infoscript.GetPlayerStats(listed[v]).totalScore;

				        
				if(score > winningscore){
							
					winningscore = score;
					winningplayer = listed[v];
					   if(tie){
						 firsttie = false;
					   }
					tie = false;
					tielist.Clear();
				} else if(score == winningscore) {
							if(firsttie){
								tie = true;
					

								if(winningplayer == listed[v]){
									tielist.Add(winningplayer);
								} else {
									tielist.Add(winningplayer);
									tielist.Add(listed[v]);
								}
								
								firsttie = false;
							} else {

						tielist.Add(listed[v]);
						tie = true;
					    }
				}
			}
		}



		//Calculate scores for each player
		for(int i = 0; i < listed.Count; i++){

			var roundscore = infoscript.GetPlayerStats(listed[i]).roundScore;
			var totalscore = infoscript.GetPlayerStats(listed[i]).totalScore;

			PowerType lastdeath = PowerType.UNDEFINED;

			PlayerStats stats = infoscript.GetPlayerStats(listed[i]);

			//only want last event if player died.
			if(!stats.lived){
			lastdeath = stats.LastEvent().PowerType;
			}

			var playername = infoscript.GetPlayerOptions(listed[i]).username;
			var playermodel = infoscript.GetPlayerOptions(listed[i]).character;
			var playercolor = infoscript.GetPlayerOptions(listed[i]).style;
			var playernumber = i + 1;
			ShowScoresLocally(roundscore, totalscore, playername, playernumber, playercolor, lastdeath, playermodel);

		}

		//Wipes scores in playerstats after displaying them if the game is over.
		if(sessionManager.matchfinish){

			for(int z = 0; z < listed.Count; z++){

				infoscript.GetPlayerStats(listed[z]).totalScore = 0;
			}
			sessionManager.matchfinish = false;
		}
		

	}
Exemplo n.º 4
0
	void MatchFinish(PlayerServerInfo infoscript){

		//make new time label for end match
		var timelabel = (GameObject)Instantiate(TimeLabel, new Vector2(0,0), transform.rotation);
		timelabel.transform.parent = GameObject.Find("UI Root").transform;
		timelabel.transform.localScale = new Vector3(1,1,1);
		timelabel.transform.localPosition = new Vector2 (125,-320);
		timeLabelReference = timelabel;


		if(tie){
			print ("tielength" + tielist.Count);

			var tielabel = (GameObject)Instantiate(WinLabel, new Vector2(0,0), transform.rotation);
			tielabel.transform.parent = GameObject.Find ("UI Root").transform;
			tielabel.transform.localScale = new Vector3(1,1,1);
			tielabel.transform.localPosition = new Vector2(-300, 300);
			var tietext = tielabel.GetComponent<UILabel>();
			tietext.text = "TIE!";
			var currplayers = infoscript.players;

		
		
			for(int i = 0; i < currplayers.Count; i++){
				if(tielist[i] == currplayers[i]){
				var playername = infoscript.GetPlayerOptions(tielist[i]).username;
				var playercolor = infoscript.GetPlayerOptions(tielist[i]).style;
				var playeravatar = infoscript.GetPlayerOptions(tielist[i]).character;
				var playerclr = ColorCheck(playercolor);
				var playericon = DetermineColorEnd(playerclr, playeravatar);

				var playerlabel = (GameObject)Instantiate(WinLabel, new Vector2(0,0), transform.rotation);
				playerlabel.transform.parent = GameObject.Find ("UI Root").transform;
				playerlabel.transform.localScale = new Vector3(1, 1, 1);
				playerlabel.transform.localPosition = new Vector2(-300, 150+(-150*gonethrough));
				var playertext = playerlabel.GetComponent<UILabel>();
				playertext.text = playername;

				playericon.transform.parent = GameObject.Find ("UI Root").transform;
				playericon.transform.localScale = new Vector3(100,100,1);
				playericon.transform.localPosition = new Vector2(-500, 150+(-150 * gonethrough));
				gonethrough++;
				} else {

					var playername = infoscript.GetPlayerOptions(tielist[i]).username;
					var playercolor = infoscript.GetPlayerOptions(tielist[i]).style;
					var playeravatar = infoscript.GetPlayerOptions(tielist[i]).character;
					var playerclr = ColorCheck(playercolor);
					var playericon = DetermineColorEnd(playerclr, playeravatar);
					
					var playerlabel = (GameObject)Instantiate(WinLabel, new Vector2(0,0), transform.rotation);
					playerlabel.transform.parent = GameObject.Find ("UI Root").transform;
					playerlabel.transform.localScale = new Vector3(1, 1, 1);
					playerlabel.transform.localPosition = new Vector2(400, 150+(-150*tiethrough));
					var playertext = playerlabel.GetComponent<UILabel>();
					playertext.text = playername;
					
					playericon.transform.parent = GameObject.Find ("UI Root").transform;
					playericon.transform.localScale = new Vector3(100,100,1);
					playericon.transform.localPosition = new Vector2(300, 150+(-150 * tiethrough));
					tiethrough++;
				}
			}

		} else {


			var currplayers = infoscript.players;
			var loselabel = (GameObject)Instantiate(WinLabel, new Vector2(0,0), transform.rotation);
			loselabel.transform.parent = GameObject.Find ("UI Root").transform;
			loselabel.transform.localScale = new Vector3(1,1,1);
			loselabel.transform.localPosition = new Vector2(300, 300);
			var losetext = loselabel.GetComponent<UILabel>();
			losetext.text = "LOSERS";

		




			for(int i = 0; i < currplayers.Count; i++){

				if(currplayers[i] == winningplayer){

					var playername = infoscript.GetPlayerOptions(winningplayer).username;
					var playercolor = infoscript.GetPlayerOptions(winningplayer).style;
					var playertype = infoscript.GetPlayerOptions(winningplayer).character;
					var playerclr = ColorCheck(playercolor);


					GameObject playericon;

						
				
					playericon = DetermineColorEnd(playerclr, playertype);
					

					var playerlabel = (GameObject)Instantiate(WinLabel, new Vector2(0,0), transform.rotation);
					var winlabel = (GameObject)Instantiate(WinLabel, new Vector2(0,0), transform.rotation);
					
					playerlabel.transform.parent = GameObject.Find ("UI Root").transform;
					playericon.transform.parent = GameObject.Find ("UI Root").transform;
					winlabel.transform.parent = GameObject.Find ("UI Root").transform;
					
					playerlabel.transform.localScale = new Vector3(1, 1, 1);
					playericon.transform.localScale = new Vector3(300,300,1);
					winlabel.transform.localScale = new Vector3(1,1,1);
					
					playerlabel.transform.localPosition = new Vector2(-400, 350+(-500));
					playericon.transform.localPosition = new Vector2(-400, 350+(-300));
					winlabel.transform.localPosition = new Vector2(-400, 350+(-100));
					
					var playertext = playerlabel.GetComponent<UILabel>();
					var wintext = winlabel.GetComponent<UILabel>();
					
					playertext.text = playername;
					wintext.text = "WINNER!";

			} else {

					var playername = infoscript.GetPlayerOptions(currplayers[i]).username;
					var playercolor = infoscript.GetPlayerOptions(currplayers[i]).style;
					var playertype = infoscript.GetPlayerOptions(currplayers[i]).character;
					var playerclr = ColorCheck(playercolor);

					GameObject playericon;
					playericon = DetermineColor(playerclr, playertype);
					
					var playerlabel = (GameObject)Instantiate(WinLabel, new Vector2(0,0), transform.rotation);

					
					playerlabel.transform.parent = GameObject.Find ("UI Root").transform;
					playericon.transform.parent = GameObject.Find ("UI Root").transform;


					playerlabel.transform.localScale = new Vector3(1f, 1f, 1);
					playericon.transform.localScale = new Vector3(100,100,1);

					
					playerlabel.transform.localPosition = new Vector2(200, 150+(-200 * gonethrough));
					playericon.transform.localPosition = new Vector2(400, 150+(-200 * gonethrough));

					
					var playertext = playerlabel.GetComponent<UILabel>();

					
					playertext.text = playername;
					gonethrough++;



			}


		
		}

	}
	}