47 lines
982 B
C++
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;
|
|
|
|
};
|