35 lines
532 B
C++
35 lines
532 B
C++
#pragma once
|
|
|
|
namespace mt
|
|
{
|
|
class GuideStep;
|
|
}
|
|
|
|
class Human;
|
|
class Guide
|
|
{
|
|
public:
|
|
|
|
void Init(Human* owner);
|
|
void SyncStep();
|
|
bool IsFinished() { return finished_; };
|
|
|
|
private:
|
|
|
|
void UpdateStep();
|
|
|
|
void ProcMoveTarget();
|
|
void ProcPickup();
|
|
void ProcKillEnemy();
|
|
void ProcUseSkillAndKillEnemy();
|
|
void ProcUseSkill();
|
|
|
|
void NextStep();
|
|
|
|
private:
|
|
Human* owner_ = nullptr;
|
|
bool finished_ = false;
|
|
int curr_step_idx_ = 0;
|
|
const mt::GuideStep* curr_step_meta_ = nullptr;
|
|
};
|