public void UpdateHostInfo(VesselResources host) { foreach (ResourceManifest r in this) { r.host_amount = host.ResourceAmount(r.name); r.pool = r.host_amount + r.offset; r.minAmount = Math.Max(0, r.pool - r.host_capacity); r.maxAmount = Math.Min(r.pool, r.capacity); } }
public void NewTransfer(VesselResources host, VesselResources target) { Clear(); foreach (var r in target.resourcesNames) { if (host.ResourceCapacity(r) <= 0) { continue; } var rm = new ResourceManifest(); rm.name = r; rm.amount = target.ResourceAmount(r); rm.capacity = target.ResourceCapacity(r); rm.offset = rm.amount; rm.host_amount = host.ResourceAmount(r); rm.host_capacity = host.ResourceCapacity(r); rm.pool = rm.host_amount + rm.offset; rm.minAmount = Math.Max(0, rm.pool - rm.host_capacity); rm.maxAmount = Math.Min(rm.pool, rm.capacity); Add(rm); } }