Advertisement
Munchy2007

Unet5TutPt4NetworkPlayer

Feb 21st, 2016
4,249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.48 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEngine.Networking;
  4.  
  5. public class NetworkPlayer : NetworkBehaviour {
  6.     [SyncVar(hook = "OnPlayerIDChanged")] public string playerID;
  7.     [SyncVar(hook = "OnTeamChanged")] public int teamNumber;
  8.     Camera playerCam;
  9.     Transform labelHolder;
  10.  
  11.     void Awake()
  12.     {
  13.         playerCam = GetComponentInChildren<Camera>();
  14.         playerCam.gameObject.SetActive(false);
  15.         labelHolder = transform.Find("LabelHolder");
  16.     }
  17.  
  18.     [Command]
  19.     void CmdSetPlayerID(string newID)
  20.     {
  21.         playerID = newID;
  22.     }
  23.        
  24.     [Command]
  25.     void CmdSetTeam(GameObject player)
  26.     {
  27.         TeamManager.SetPlayerTeam(gameObject);
  28.     }
  29.  
  30.     public override void OnStartLocalPlayer ()
  31.     {
  32.         string myPlayerID = string.Format("Player {0}", netId.Value);
  33.         CmdSetPlayerID(myPlayerID);
  34.         playerCam.gameObject.SetActive(true);
  35.         CmdSetTeam(gameObject);
  36.     }
  37.  
  38.     public override void OnStartClient ()
  39.     {
  40.         OnPlayerIDChanged(playerID);
  41.         OnTeamChanged(teamNumber);
  42.     }
  43.  
  44.     void Update()
  45.     {
  46.         if(isLocalPlayer)
  47.         {
  48.             playerCam.transform.rotation = Quaternion.Euler(new Vector3(90,0,0));
  49.         }
  50.  
  51.         labelHolder.rotation = Quaternion.identity;
  52.     }
  53.  
  54.     void OnPlayerIDChanged(string newValue)
  55.     {
  56.         playerID = newValue;
  57.         var textMesh = labelHolder.Find("Label").GetComponent<TextMesh>();
  58.         textMesh.text = newValue;
  59.     }
  60.        
  61.     public void OnTeamChanged(int newTeamNumber)
  62.     {
  63.         teamNumber = newTeamNumber;
  64.         GetComponent<Renderer>().material.color =  teamNumber == 0 ? Color.red : Color.blue;
  65.     }
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement