using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; using Networking; using Networking.Client; using UnityEngine.UI; public class NetworkedUIManager : PlayerUIManager { [SerializeField] private ClientObject Client; [SerializeField] private TMPro.TextMeshProUGUI TimeText; [SerializeField] private RectTransform Title; [SerializeField] private TMPro.TextMeshProUGUI LivesText; [Header("Debug")] [SerializeField] private bool isTimePaused; public Image backgroundColour; public Image animalSprite; private float StartTime; private BlockReader reader; protected override void Awake() { base.Awake(); reader = new BlockReader(); TrayUI.SetBlockReader(reader); StartTime = Time.time; ShowPosition.y -= Title.rect.height; LivesText.text = "Lives: " + Client.RemainingLives; backgroundColour.color = Client.PlayerColor; animalSprite.sprite = Resources.Load(Client.PlayerAnimal.ToString()); OnClick_Show(); } private void Update() { if (!isTimePaused) { TimeText.text = ((int)(Client.RoundTime - (Time.time - StartTime))).ToString(); if (Time.time - StartTime > Client.RoundTime) OnClick_Play(); } } public override void OnClick_Play() { OnClick_Hide(); LogicProtocols.LogicMsg msg = new LogicProtocols.LogicMsg(reader.LogicChain.ToArray()); Debug.Log("sending on " + LogicProtocols.SendLogicList); Client.client.SendByChannel(LogicProtocols.SendLogicList, msg, TransportConfigure.ReliableFragmented); UnityEngine.SceneManagement.SceneManager.LoadScene("WaitScene"); } public void On_ClickPauseTime() { isTimePaused = !isTimePaused; if (isTimePaused) TimeText.color = Color.grey; else TimeText.color = Color.black; } }