CSCI3081W Drone Delivery System
RechargeDrone.h
1 #pragma once
2 
3 #include "IEntity.h"
4 #include "IStrategy.h"
5 #include "Drone.h"
6 
12 class RechargeDrone : public IEntity {
13  public:
20 
26 
32 
38  void update(double dt);
39 
45  RechargeDrone(const RechargeDrone& drone) = delete;
46 
52  RechargeDrone& operator=(const RechargeDrone& drone) = delete;
53 
54  private:
55  bool available;
56  bool isChargingDrone;
57  IStrategy* toDeadDrone;
58  IStrategy* toChargingStation;
59  Drone* deadDrone;
60 };
Represents a drone in a physical system. Drones move using euler integration based on a specified vel...
Definition: Drone.h:19
Represents an entity in a physical system.
Definition: IEntity.h:22
Strategy interface.
Definition: IStrategy.h:11
Manages a picojson::object, works with JsonValue to provide implicit casting.
Represents a Recharge Drone in a physical system.
Definition: RechargeDrone.h:12
void getNextDeadDrone()
Get the Next Dead Drone object.
RechargeDrone & operator=(const RechargeDrone &drone)=delete
Removing assignment operator so that the recharge drone cannot be copied.
void update(double dt)
Updates recharge drone's position and state.
~RechargeDrone()
Destroy the Recharge Drone object.
RechargeDrone(const JsonObject &obj)
Construct a new Recharge Drone object.
RechargeDrone(const RechargeDrone &drone)=delete
Removing copy constructor so that the recharge drone cannot be copied.