blob: 0b554ec6240b68a25b01abca54002299cdb948cc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#pragma once
struct TakeDamageInfo;
class cChunk;
class cPlayer;
class cMonster;
#include <chrono>
class cBehavior
{
public:
virtual void AttachToMonster(cMonster & a_Parent) = 0;
// Tick-related
virtual bool IsControlDesired(std::chrono::milliseconds a_Dt, cChunk & a_Chunk);
virtual bool ControlStarting(std::chrono::milliseconds a_Dt, cChunk & a_Chunk);
virtual bool ControlEnding(std::chrono::milliseconds a_Dt, cChunk & a_Chunk);
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk);
virtual void PostTick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk);
virtual void PreTick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk);
// Other
virtual void OnRightClicked(cPlayer & a_Player);
virtual void Destroyed();
virtual void DoTakeDamage(TakeDamageInfo & a_TDI);
virtual ~cBehavior() {}
};
|