This commit is contained in:
aozhiwei 2021-07-23 02:48:59 +00:00
parent 0062787db8
commit 8d6b1f576c
3 changed files with 9 additions and 11 deletions

View File

@ -8,6 +8,7 @@
#include "perfmonitor.h" #include "perfmonitor.h"
#include "typeconvert.h" #include "typeconvert.h"
#include "hero.ai.h" #include "hero.ai.h"
#include "mine_sweeper.ai.h"
#include "obstacle.h" #include "obstacle.h"
#include "collider.h" #include "collider.h"
#include "bullet.h" #include "bullet.h"
@ -30,11 +31,6 @@ void Hero::Initialize()
{ {
Creature::Initialize(); Creature::Initialize();
RecalcSelfCollider(); RecalcSelfCollider();
ai = new HeroAI;
ai->owner = this;
#if 0
ai->SetAiLevel(8);
#endif
MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(meta->i->default_weapon()); MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(meta->i->default_weapon());
if (weapon_meta) { if (weapon_meta) {
weapons[GUN_SLOT1].weapon_idx = GUN_SLOT1; weapons[GUN_SLOT1].weapon_idx = GUN_SLOT1;
@ -46,6 +42,7 @@ void Hero::Initialize()
SetCurrWeapon(&weapons[GUN_SLOT1]); SetCurrWeapon(&weapons[GUN_SLOT1]);
} }
SetInfiniteBulletMode(); SetInfiniteBulletMode();
InitAI();
} }
void Hero::FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data) void Hero::FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data)
@ -180,10 +177,6 @@ void Hero::GetHitAabbBox(AabbCollider& aabb_box)
aabb_box._max.y = GetHitRadius(); aabb_box._max.y = GetHitRadius();
} }
void Hero::SetAiLevel(int ai_level)
{
}
void Hero::DetachFromMaster() void Hero::DetachFromMaster()
{ {
if (!detached_) { if (!detached_) {
@ -248,3 +241,9 @@ void Hero::OnRemoveFromTargetPartObject(Entity* target)
{ {
} }
void Hero::InitAI()
{
ai = new HeroAI;
ai->owner = this;
}

View File

@ -37,7 +37,6 @@ public:
virtual void GetHitAabbBox(AabbCollider& aabb_box) override; virtual void GetHitAabbBox(AabbCollider& aabb_box) override;
virtual void OnAddToTargetPartObject(Entity* target) override; virtual void OnAddToTargetPartObject(Entity* target) override;
virtual void OnRemoveFromTargetPartObject(Entity* target) override; virtual void OnRemoveFromTargetPartObject(Entity* target) override;
void SetAiLevel(int ai_level);
void DetachFromMaster(); void DetachFromMaster();
protected: protected:
@ -45,6 +44,7 @@ protected:
void InternalUpdateMove(float speed); void InternalUpdateMove(float speed);
virtual void RecalcSelfCollider() override; virtual void RecalcSelfCollider() override;
void BeKill(int killer_id, const std::string& killer_name, int weapon_id); void BeKill(int killer_id, const std::string& killer_name, int weapon_id);
void InitAI();
private: private:
bool later_removed_ = false; bool later_removed_ = false;

View File

@ -643,7 +643,6 @@ Hero* Room::CreateHero(Creature* master,
hero->SetAttackDir(dir); hero->SetAttackDir(dir);
hero->team_id = team_id; hero->team_id = team_id;
hero->Initialize(); hero->Initialize();
hero->SetAiLevel(7);
AddToEntityHash(hero); AddToEntityHash(hero);
AddToMoveableHash(hero); AddToMoveableHash(hero);
grid_service->AddCreature(hero); grid_service->AddCreature(hero);