From 1eec34422ee035e3c1c1f556e49a85dde052a5d6 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 25 Nov 2023 18:43:10 +0800 Subject: [PATCH] 1 --- server/robotserver/android_agent.cc | 26 +++++++++++++++++++++++--- server/robotserver/base_agent.cc | 4 +--- server/robotserver/player.h | 2 ++ 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/server/robotserver/android_agent.cc b/server/robotserver/android_agent.cc index f4182bec..fc6446e5 100644 --- a/server/robotserver/android_agent.cc +++ b/server/robotserver/android_agent.cc @@ -1,9 +1,11 @@ #include "precompile.h" +#include #include #include "android_agent.h" #include "player.h" +#include "httpproxy.h" AndroidAgent::AndroidAgent() { @@ -37,17 +39,35 @@ behaviac::EBTStatus AndroidAgent::CoIdle(int min_val, int max_val) ); context->time = a8::RandEx(min_val, max_val); auto co = std::make_shared(context, co_id, "CoIdle"); - #if 0 co->runing_cb = [this, context] (BtCoroutine* co) { + return behaviac::BT_SUCCESS; }; - #endif - // return StartCoroutine(co); + return StartCoroutine(co); } behaviac::EBTStatus AndroidAgent::CoLogin() { + { + bool ret = false; + auto url_params = a8::MutableXObject::CreateObject(); + url_params->SetVal("c", "Login"); + url_params->SetVal("a", "auth"); + url_params->SetVal("gameid", 2006); + url_params->SetVal("channel", 6513); + url_params->SetVal("openid", owner_->GetIdx()); + HttpProxy::Instance()->HttpGet + ( + [] (bool ok, a8::XObject* rsp_obj, f8::HttpContext* ctx) + { + if (ok) { + } + }, + "https://login-test.kingsome.cn/webapp/index.php", + *url_params + ); + } return behaviac::BT_SUCCESS; } diff --git a/server/robotserver/base_agent.cc b/server/robotserver/base_agent.cc index 3e38009c..82af3aef 100644 --- a/server/robotserver/base_agent.cc +++ b/server/robotserver/base_agent.cc @@ -86,12 +86,10 @@ void BaseAgent::CheckCoroutineEvent() list_head* head = &coroutines_list_; list_for_each_safe(pos, next, head) { BtCoroutine* co = list_entry(pos, BtCoroutine, entry); - #if 0 if (co->GetContext()->HasEvent()) { co_id = co->GetId(); break; } - #endif } } if (co_id >= 0) { @@ -102,7 +100,7 @@ void BaseAgent::CheckCoroutineEvent() auto co = itr->second; coroutines_hash_.clear(); INIT_LIST_HEAD(&coroutines_list_); - //co->GetContext()->FireEvent(this); + co->GetContext()->FireEvent(this); } } diff --git a/server/robotserver/player.h b/server/robotserver/player.h index 143dd0b6..feedca91 100644 --- a/server/robotserver/player.h +++ b/server/robotserver/player.h @@ -28,6 +28,7 @@ public: bool NetConnected() { return net_connected_; } const std::string& GetAccountId() { return account_id_; } auto GetWebSocket() { return web_socket_; } + int GetIdx() { return idx_; } void _SMKcpHandshake(f8::MsgHdr* hdr, const cs::SMKcpHandshake& msg); void _SMPing(f8::MsgHdr* hdr, const cs::SMPing& msg); @@ -61,6 +62,7 @@ private: void InternalSendMsg(int msgid, ::google::protobuf::Message& msg); private: + int idx_ = 0; int socket_handle_ = 0; std::string account_id_; std::string session_id_;