Advertisement
apieceoffruit

Ui Implementation

Mar 29th, 2021 (edited)
695
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.49 KB | None | 0 0
  1.   public class Ui_Connection : MonoBehaviour,IConnectionUi
  2.     {
  3.         [Header("Dependencies - Ui")]
  4.         public TMP_InputField HostInput;
  5.         public TMP_InputField PortInput;
  6.         public TMP_Text StatusLabel;
  7.         public Image Image;
  8.         public Button Btn;
  9.         public TMP_Text BtnText;
  10.        
  11.         public string Host => HostInput.text;
  12.         public string Port => PortInput.text;
  13.        
  14.         public void Connecting()
  15.         {
  16.             Status = "Connecting";
  17.             Color = Color.yellow;
  18.             Busy = true;
  19.         }
  20.  
  21.         public void Connected()
  22.         {
  23.             Status = "Connected!";
  24.             TextInputActive = false;
  25.             BtnActive = true;
  26.             ButtonLabel = "Disconnect";
  27.         }
  28.  
  29.         public void Disconnecting()
  30.         {
  31.             Status = "Disconnecting";
  32.             TextInputActive = false;
  33.             Busy = true;
  34.         }
  35.  
  36.         public void Disconnected()
  37.         {
  38.             BtnText.text = "Connect";
  39.             Status = "Disconnected!";
  40.             Color = Color.gray;
  41.             Busy = false;
  42.         }
  43.  
  44.         public void FailedValidation(string message)
  45.         {
  46.             Status = message;
  47.             Busy = false;
  48.         }
  49.  
  50.         public void ErrorOccured(string message)
  51.         {
  52.             Status = message;
  53.             Color = Color.red;
  54.             Busy = true;
  55.         }
  56.  
  57.         public void FailedToConnect()
  58.         {
  59.             Status = "Failed to Connect";
  60.             Busy = false;
  61.         }
  62.  
  63.         #region Plumbing
  64.  
  65.         async void Clicked_Connect() => await Ctrl.ToggleConnect();
  66.  
  67.         void Start()
  68.         {
  69.             Color = Color.grey;
  70.             ButtonLabel = "Connect";
  71.         }
  72.  
  73.         string Status
  74.         {
  75.             set => StatusLabel.text = value;
  76.         }
  77.  
  78.         bool TextInputActive
  79.         {
  80.             set => HostInput.interactable = PortInput.interactable = value;
  81.         }
  82.  
  83.         bool BtnActive
  84.         {
  85.             set => Btn.interactable = value;
  86.         }
  87.  
  88.         Color Color
  89.         {
  90.             set => Image.color = value;
  91.         }
  92.  
  93.         string ButtonLabel
  94.         {
  95.             set => BtnText.text = value;
  96.         }
  97.  
  98.         bool Busy
  99.         {
  100.             set => TextInputActive = BtnActive = value;
  101.         }
  102.  
  103.         public void SetController(UrlConnectionController ctrl) => Ctrl = ctrl;
  104.         UrlConnectionController Ctrl;
  105.        
  106.         #endregion
  107.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement