1
This commit is contained in:
parent
949c532867
commit
41c2b17f77
@ -6,8 +6,12 @@
|
||||
#include "room.h"
|
||||
#include "movement.h"
|
||||
#include "netdata.h"
|
||||
#include "glmhelper.h"
|
||||
#include "target_agent.h"
|
||||
#include "weapon.h"
|
||||
|
||||
#include "mt/Hero.h"
|
||||
#include "mt/Equip.h"
|
||||
|
||||
HeroAgent::HeroAgent():BaseAgent()
|
||||
{
|
||||
@ -126,12 +130,12 @@ int HeroAgent::GetBattleTimes()
|
||||
|
||||
void HeroAgent::SetMoveDir(const glm::vec3& dir)
|
||||
{
|
||||
|
||||
owner_->SetMoveDir(dir);
|
||||
}
|
||||
|
||||
void HeroAgent::SetAttackDir(const glm::vec3& dir)
|
||||
{
|
||||
|
||||
owner_->SetAttackDir(dir);
|
||||
}
|
||||
|
||||
void HeroAgent::ShotNormal(const glm::vec3& dir)
|
||||
@ -146,22 +150,32 @@ void HeroAgent::ShotTrace()
|
||||
|
||||
glm::vec3 HeroAgent::GetRandomDir()
|
||||
{
|
||||
|
||||
glm::vec3 dir = owner_->GetMoveDir();
|
||||
GlmHelper::RotateY(dir, (10 + rand() % 360)/ 180.0f);
|
||||
return dir;
|
||||
}
|
||||
|
||||
glm::vec3 HeroAgent::GetTargetDir()
|
||||
{
|
||||
|
||||
if (current_target_agent->IsValid()) {
|
||||
return owner_->GetMoveDir();
|
||||
}
|
||||
glm::vec3 dir = current_target_agent->GetPos() - owner_->GetPos().ToGlmVec3();
|
||||
GlmHelper::Normalize(dir);
|
||||
return dir;
|
||||
}
|
||||
|
||||
glm::vec3 HeroAgent::RandomPoint(float range)
|
||||
{
|
||||
|
||||
abort();
|
||||
}
|
||||
|
||||
float HeroAgent::GetShotRange()
|
||||
{
|
||||
|
||||
if (owner_->GetCurrWeapon()) {
|
||||
return owner_->GetCurrWeapon()->meta->range();
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
void HeroAgent::SetV(int id, int val)
|
||||
|
@ -5,6 +5,7 @@
|
||||
class Hero;
|
||||
class RoomAgent;
|
||||
class TeamAgent;
|
||||
class TargetAgent;
|
||||
class HeroAgent : public BaseAgent
|
||||
{
|
||||
public:
|
||||
@ -65,7 +66,7 @@ public:
|
||||
RoomAgent* room_agent = nullptr;
|
||||
TeamAgent* team_agent = nullptr;
|
||||
HeroAgent* master_agent = nullptr;
|
||||
HeroAgent* current_target_agent = nullptr;
|
||||
TargetAgent* current_target_agent = nullptr;
|
||||
float task_param0 = 0.0f;
|
||||
float task_param1 = 0.0f;
|
||||
float task_param2 = 0.0f;
|
||||
|
Loading…
x
Reference in New Issue
Block a user