game2006/server/robotserver/android_agent.h
aozhiwei dc2502105c 1
2023-12-08 19:04:16 +08:00

47 lines
982 B
C++

#pragma once
#include "base_agent.h"
#include "behaviac/behaviac.h"
namespace a8
{
template<typename T>
static auto SpToWp(std::shared_ptr<T> sp)
{
return std::weak_ptr<T>(sp);
}
}
class Player;
class AndroidAgent : public BaseAgent
{
public:
AndroidAgent();
virtual ~AndroidAgent() override;
BEHAVIAC_DECLARE_AGENTTYPE(AndroidAgent, BaseAgent)
bool IsLoginSuccess();
behaviac::EBTStatus SearchEnemy(int range);
bool NetIsConnected();
bool IsGameOver();
behaviac::EBTStatus CoIdle(int min_val, int max_val);
behaviac::EBTStatus CoLogin();
behaviac::EBTStatus CoConnectBattleServer();
behaviac::EBTStatus CoJoin();
behaviac::EBTStatus CoUpdateGame();
void SetOwner(std::shared_ptr<Player> owner) { owner_ = owner; }
public:
private:
std::shared_ptr<Player> owner_;
glm::vec3 curr_dir_ = glm::vec3(0.0f, 0.0f, 0.0f);
long long last_dir_tick_ = 0;
long long last_send_tick_ = 0;
};