This commit is contained in:
aozhiwei 2023-11-14 11:42:53 +08:00
parent 9f76eb66d0
commit da188e7176
3 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,9 @@
# 拾取逻辑(涵盖上机甲)
| 函数名 | 函数说明 | 返回值 | 输出参数1 | 输出参数2 | 输出参数3 |
|------------------|--------------------------|--------------------------------------|----------------------|-----------|-----------|
| SearchPickupObj | 查询可以拾取的对象 | 0:无可拾取对象 1:机甲 2:宝箱 3其他 | out_point0对象坐标 | | |
| PickupObjIsValid | 可拾取对象当前是否有效 | true: 有效 false:已失效 | | | |
| AbandonPickup | 放弃拾取当前物件一段时间 | | | | |
| Pickup | 开始拾取 | BT_FAILURE:失败 BT_SUCCESS:成功 | | | |

View File

@ -1254,3 +1254,23 @@ behaviac::EBTStatus HeroAgent::CoGetNextMobaModeRoadPoint()
} }
return behaviac::BT_SUCCESS; return behaviac::BT_SUCCESS;
} }
int HeroAgent::SearchPickupObj()
{
}
bool HeroAgent::PickupObjIsValid()
{
return curr_pickup_obj_.Get();
}
void HeroAgent::AbandonPickup(int min_time, int max_time)
{
curr_pickup_obj_.Reset();
}
behaviac::EBTStatus HeroAgent::Pickup()
{
}

View File

@ -88,6 +88,9 @@ public:
bool SwitchToNewAttacker(); bool SwitchToNewAttacker();
int GetReviveCount(); int GetReviveCount();
void SetBulletAngleOffset(int min_val, int max_val); void SetBulletAngleOffset(int min_val, int max_val);
int SearchPickupObj();
bool PickupObjIsValid();
void AbandonPickup(int min_time, int max_time);
behaviac::EBTStatus RegisterEvents(behaviac::vector<BtEvent_e> events); behaviac::EBTStatus RegisterEvents(behaviac::vector<BtEvent_e> events);
behaviac::EBTStatus ClearEvents(); behaviac::EBTStatus ClearEvents();
@ -95,6 +98,7 @@ public:
behaviac::EBTStatus TrySearchEnemy(float range, int min_interval, int max_interval); behaviac::EBTStatus TrySearchEnemy(float range, int min_interval, int max_interval);
behaviac::EBTStatus DebugOut(std::string msg, int arg0, int arg1, int arg2); behaviac::EBTStatus DebugOut(std::string msg, int arg0, int arg1, int arg2);
behaviac::EBTStatus RandomSafeZonePoint(int try_count, int step_len); behaviac::EBTStatus RandomSafeZonePoint(int try_count, int step_len);
behaviac::EBTStatus Pickup();
behaviac::EBTStatus CoIdle(int min_val, int max_val); behaviac::EBTStatus CoIdle(int min_val, int max_val);
behaviac::EBTStatus CoMoveCurrentTargetRaycast(); behaviac::EBTStatus CoMoveCurrentTargetRaycast();
@ -145,6 +149,7 @@ protected:
Creature* owner_ = nullptr; Creature* owner_ = nullptr;
private: private:
EntityWeakPtr curr_pickup_obj_;
bool bullet_trace_mode_ = false; bool bullet_trace_mode_ = false;
long long flags_ = 0; long long flags_ = 0;
int shot_times_ = 0; int shot_times_ = 0;