game2006/server/gameserver/zombiemode.ai.h
2021-06-08 19:54:24 +08:00

37 lines
732 B
C++

#pragma once
#include "aicomponent.h"
enum ZombieState_e : int;
class Creature;
class ZombieAINode;
class ZombieModeAI : public AIComponent
{
public:
ZombieModeAI();
virtual ~ZombieModeAI() override;
virtual void Update(int delta_time) override;
virtual void Reset() override;
float GetAttackRate();
private:
void UpdateAI();
void UpdateIdle();
void UpdateThinking();
void UpdateAttack();
void UpdateRandomWalk();
void UpdatePursuit();
void DoMove();
void ChangeToState(ZombieState_e to_state);
void DoShot();
void DoSkill(int skill_id);
Creature* GetTarget();
float GetAttackRange();
int GetAttackTimes();
private:
ZombieAINode* node_ = nullptr;
};