summaryrefslogblamecommitdiffstats
path: root/src/Mobs/Behaviors/Behavior.h
blob: 989addf8d51c24b5ff372e915f67781978b1dd3f (plain) (tree)
1
2
3
4
5
6
7
8
9

            
                      


                 


               





                                                                                        

 

                                      

                                                          
  
#pragma once

struct TakeDamageInfo;
class cChunk;
#include <chrono>

class cBehavior
{
public:
	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);


	virtual void onRightClicked();
	virtual void Destroyed();
	virtual void DoTakeDamage(TakeDamageInfo & a_TDI);
	virtual ~cBehavior() {}
};