Tình hình là em có đoạn code này:
using UnityEngine;
using UnityEngine.UI;
using SocketIO;
public class Manager : MonoBehaviour
{
[SerializeField]
Text statusComponent;
string statusText;
public string StatusText
{
get { return statusText; }
set
{
statusText = value;
OnStatusChange?.Invoke(statusText);
}
}
public delegate void OnStatusChangeDelegate(string status);
public event OnStatusChangeDelegate OnStatusChange;
void Start()
{
SocketIOComponent client = GetComponent<SocketIOComponent>();
client.Connect();
client.On("open", (SocketIOEvent e) => { StatusText = "Connected"; });
client.On("close", (SocketIOEvent e) => { StatusText = "Connection Closed"; });
client.On("error", (SocketIOEvent e) => { StatusText = "Error"; });
OnStatusChange += Manager_OnStatusChange;
}
private void Manager_OnStatusChange(string status)
{
Debug.Log(status);
statusComponent.text = StatusText;
}
}
Em muốn hiển thị statusText ra khi kết nối thay đổi. Nhưng khi làm như vậy thì nó lại không update text ra màn hình mà
chỉ update trong Inspector và hiển thị trong Console của Unity. Em không muốn dùng Update vì sợ ảnh hưởng đến hiệu năng. Mọi người giúp em với.
Thêm:
Thằng SocketIOComponent chạy ở một Thread khác