Exemplo n.º 1
0
        public DroneData(SDrone data, Drone src)
        {
            _source           = src;
            Count             = data.count;
            UID               = data.uid;
            battery           = data.battery;
            job               = data.job;
            hub               = data.hub;
            batterySwaps      = data.totalBatterySwaps;
            hubsAssigned      = data.totalHubHandovers;
            collisionOn       = data.collisionOn;
            isWaiting         = data.isWaiting;
            movement          = data.movement;
            state             = data.status;
            totalDelay        = data.totalDelay;
            audibleDuration   = data.totalAudibleDuration;
            packageWeight     = data.totalPackageWeight;
            distanceTravelled = data.totalDistanceTravelled;
            totalEnergy       = data.totalEnergy;
            targetAltitude    = data.targetAltitude;
            previousPosition  = _source.transform.position;
            waypoints         = new Queue <Vector3>();
            foreach (Vector3 point in data.waypointsQueue)
            {
                waypoints.Enqueue(point);
            }
            currentWaypoint  = data.waypoint;
            previousWaypoint = data.previousWaypoint;

            foreach (uint id in data.completedJobs)
            {
                completedJobs.Add(id, AllCompleteJobs[id]);
            }
        }
Exemplo n.º 2
0
        public static Drone Load(SDrone data)
        {
            var d = PoolController.Get(ObjectPool.Instance).Get <Drone>(null, true);

            d.gameObject.SetActive(true);

            return(d.LoadState(data));
        }
Exemplo n.º 3
0
 private bool LoadDrone(SDrone data, HashSet <uint> free)
 {
     if (data.hub == UID)
     {
         Drone drone = Drone.Load(data);
         drones.Add(drone.UID, drone);
         if (!data.inHub)
         {
             drone.transform.SetParent(Drone.ActiveDrones);
         }
         if (free.Contains(drone.UID))
         {
             freeDrones.Add(drone.UID, drone);
         }
         return(true);
     }
     return(false);
 }