void Load() { if (mission.exact) { if (target.TakeResource(mission.resource, mission.amount)) { load = mission.amount; target = mission.patron; raw = mission.resource; loading = false; } } else { if (target.HasResource(mission.resource, maxLoad)) { if (target.TakeResource(mission.resource, maxLoad)) { load = maxLoad; } } else { float f = target.ResourceAmount(mission.resource); if (target.TakeResource(mission.resource, target.ResourceAmount(mission.resource))) { load = f; } } target = mission.patron; raw = mission.resource; loading = false; } MoveTo(target.GetGameObject().transform.position); }