add resources
add worker fix process logic
This commit is contained in:
@@ -1,9 +1,73 @@
|
||||
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)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
var message = JsonConvert.DeserializeObject<BaseJson>(data);
|
||||
|
||||
switch (message._event)
|
||||
{
|
||||
case "resource_initialized":
|
||||
Message_Initialized(message.data.ToObject<ResourceInfo>());
|
||||
|
||||
return;
|
||||
|
||||
case "resource_status_update":
|
||||
Message_Status_Updted(message.data.ToObject<ResourceStatus>());
|
||||
|
||||
return;
|
||||
|
||||
default:
|
||||
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user