using System; using Newtonsoft.Json; using UnityEngine; [Serializable] public class ResourceInfo { public string resource_name; public int capacity; public float speed_factor; public int? breakdown_interval; public int? repair_time; } [Serializable] public class ResourceStatus { public string resource_name; public int requesters; public int claimers; public int available; public int capacity; public float utilization; public float occupancy; public int broken_units; public float speed_factor; } public class SimulationModelResource : SimulationModel { ResourceInfo info; ResourceStatus currentStatus; private void Message_Initialized(ResourceInfo data) { this.info = data; this.gameObject.SetActive(false); } private void Message_Status_Updted(ResourceStatus data) { this.currentStatus = data; } public override void GetData(string data) { var message = JsonConvert.DeserializeObject(data); switch (message._event) { case "resource_initialized": Message_Initialized(message.data.ToObject()); return; case "resource_status_update": Message_Status_Updted(message.data.ToObject()); return; default: return; } } }