Ejemplo n.º 1
0
        public JobData(SJob data)
        {
            UID           = data.uid;
            status        = data.status;
            packageWeight = data.packageWeight;
            packageXArea  = data.packageXarea;

            costFunction = new CostFunction(data.costFunction);

            if (data.status != JobStatus.Assigning)
            {
                created    = new TimeKeeper.Chronos(data.createdUnity).SetReadOnly();
                assignment = new TimeKeeper.Chronos(data.assignedTime).SetReadOnly();
                deadline   = new TimeKeeper.Chronos(data.deadline).SetReadOnly();
                if (data.status != JobStatus.Delivering)
                {
                    completed = new TimeKeeper.Chronos(data.completedOn).SetReadOnly();
                    pickup    = data.pickup;
                    dropoff   = data.destination;
                }
            }
            else
            {
                created  = TimeKeeper.Chronos.Get();
                deadline = TimeKeeper.Chronos.Get() + costFunction.CompleteIn;
                earnings = costFunction.GetPaid(deadline - 1f, deadline); // aproximate earnings
                Vector3 o = data.pickup;
                o.y = 0;
                Vector3 d = data.destination;
                d.y = 0;

                pickup  = LandingZoneIdentifier.Reposition(o);
                dropoff = LandingZoneIdentifier.Reposition(d);
            }
        }
Ejemplo n.º 2
0
        public CustomJob(SJob job)
        {
            ID         = job.uid.ToString();
            Message    = Time + " - " + job.custom;
            Server     = (Drone)SimManager.AllDrones[job.droneUID];
            OpenWindow = delegate {
                var j = SimManager.AllJobs[uint.Parse(ID)];
                j?.OpenInfoWindow();

                if (!Server.InPool)
                {
                    AbstractCamera.Followee = Server.gameObject;
                }
            };
        }
Ejemplo n.º 3
0
 public Job(SJob data)
 {
     _Data = new JobData(data);
 }