Advertisement
Munchy2007

part6a_6

Mar 14th, 2018
8,258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.87 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using TMPro;
  5. using UnityEngine.SceneManagement;
  6.  
  7. namespace PUNTutorial
  8. {
  9.     public class GameUI : Photon.PunBehaviour
  10.     {
  11.  
  12.         static GameUI instance;
  13.         GameObject ui;
  14.         [SerializeField]
  15.         TextMeshProUGUI healthText;
  16.         [SerializeField]
  17.         TextMeshProUGUI scoreText;
  18.         [SerializeField]
  19.         TextMeshProUGUI nameText;
  20.  
  21.         void Awake()
  22.         {
  23.             if (instance != null)
  24.             {
  25.                 DestroyImmediate(gameObject);
  26.                 return;
  27.             }
  28.             instance = this;
  29.             ui = transform.FindAnyChild<Transform>("UI").gameObject;
  30.         }
  31.  
  32.         void OnEnable()
  33.         {
  34.             SceneManager.sceneLoaded += OnSceneLoaded;
  35.         }
  36.  
  37.         void OnDisable()
  38.         {
  39.             SceneManager.sceneLoaded -= OnSceneLoaded;
  40.         }
  41.  
  42.         void OnSceneLoaded(Scene scene, LoadSceneMode mode)
  43.         {
  44.             ui.SetActive(PhotonNetwork.inRoom);
  45.         }
  46.  
  47.         public override void OnJoinedRoom()
  48.         {
  49.             instance.nameText.text = PhotonNetwork.playerName;
  50.         }
  51.  
  52.         public static void SetHealth(float value)
  53.         {
  54.             instance.healthText.text = instance.GetHealthString(value);
  55.         }
  56.  
  57.         public static void SetScore(int value)
  58.         {
  59.             instance.scoreText.text = new System.Text.StringBuilder()
  60.                 .Append("Score: ")
  61.                 .Append(value)
  62.                 .ToString();
  63.         }
  64.  
  65.         string GetHealthString(float normalisedHPPercent)
  66.         {
  67.             return new System.Text.StringBuilder()
  68.                 .Append("Health: ")
  69.                 .Append((int)(normalisedHPPercent * 100))
  70.                 .Append("%")
  71.                 .ToString();
  72.         }
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement