Voxellancer  0.3
A game about voxels in space
 All Classes Functions Pages
aigrouptask.h
1 #pragma once
2 
3 #include <memory>
4 
5 #include "scripting/scriptable.h"
6 
7 class Squad;
8 class AiTask;
9 class Ship;
10 
16 class AiGroupTask : public Scriptable {
17 public:
18  AiGroupTask(Squad& squad);
19 
20  virtual void update(float deltaSec);
21  virtual bool isInProgress();
22 
23 protected:
24  friend class Squad;
25  // interface for Squad
26  virtual void onMemberJoin(Ship* member);
27  virtual void onMemberLeave(Ship* member);
28  virtual void onNewLeader(Ship* leader);
29 
30  void setLeaderTask(std::shared_ptr<AiTask> task);
31  void setMembersToFollowLeader();
32 
33  Squad& m_squad;
34 };
35 
Definition: aigrouptask.h:16
Definition: aitask.h:15
Definition: squad.h:16
Definition: scriptable.h:4
Definition: ship.h:23