项目分析 NGPcontext

NGPcontext
之前对这个一直很疑惑,我一直认为只是在机器人方面有用处,但很有疑问,正在做这方面,我想好好看看到底是怎么运行的
bool NGP::init(NGPcontext context)
{
    _context = context;
    //_TcpLink = NEWSP(TcpLink);
    _TcpLink = NEWSP(TcpLinkEx);
    _TcpLink->Init(this);
    return true;
}
struct NGPcontext
{
    std::function<void(bool success)> OnConnect2Server;
    std::function<void()> OnDisconnect;

    std::function<void(LoginEnum hr)> OnLogin;
    //......
}
看了下客户端果然是绑定了自己的函数
而robot绑定了自己的函数
而调用的时候会根据绑定调用不同的函数
虽然问题很小,但解决了很久的疑惑,对客户端啥也不懂

项目分析 NGPcontext

时间: 2024-12-16 08:56:30

项目分析 NGPcontext的相关文章

项目分析(PLUG)

plug过程 1.INIT_PLUG #define INIT_PLUG Plug::InitPlug g_InitPlug(true); //共享内存数据结构 struct PlugShareMemory { void* pFirstHand; //第一个打开文件的句柄 I_PlugModuleManage* pBuffer; //共享内存 }; inline void CreateShareMemory(I_PlugModuleManage* pmm) { char id_name[64]

项目分析(channelid是如果产生的)

channelid如何生成的 /////////////////////////////////////////////////////////////// // // I_TCPServer.h // Description: // /////////////////////////////////////////////////////////////// #pragma once #ifndef _ChannelIDGenerator_H #define _ChannelIDGenerat

商业研究(19):变革家,专注创业项目分析,重点服务广大散户(建议股权众筹者谨慎买入。。。)

 背景    从2015年5月开始,知道"京东-东家" 股权众筹平台以来,开始了股权投资之旅,开始认真地进行创业和投资项目的研究.    本人对项目研究很感兴趣,因为项目大多都和我们的生活有直接或者间接的关系.    从6月份开始,在微信群里接触到"变革家"以来,就长期关注,每天一逛,基本无间断.    今天,想总结下跟着变革家学习的体会,以及对变革家的一些看法. 介绍定位:变革家(Reformer),服务股权投资者,专注创业项目分析!目标:让股权投资行业更健康亲民

手机 app 开发的几种方式 ionic 学习思路以及 ionic 新建的项目分析

手机 app 开发的几种方式 ionic 学习思路以及ionic 新建的项目分析 学习要点:1. 目前开发手机 app 的几种方式2. Ionic 学习思路简介3. Ionic CSS 框架4. ionic js 指令 路由 其他 ui 交互效果5. ionic 命令行/CLI 安装 调试 打包( 第三季 第一讲已讲)6. ionic 开发包下载 以及命令创建的项目分析 1. 目前开发手机 app 的几种方式原生/Native: 使用原生 SDK 开发 App.优点不用说, 当你有足够的资源,这

项目分析(map复习)

有段时间没看map里面的东西了,刚才看发现功能上增加了一些,在来复习了一次流程初始化每个map建立线程,这个线程有两个功能,1.处理GS发过来的包 2.驱动map里面的定时器GS发过来的包是存在m_gs2msPkts2这个无锁的单消费者,单生产者队列中,只要是GS中不处理的包都要发到MAP中然后每个线程thrTransData::thread()就从m_gs2msPkts2中取包调用Map::process_pkt由于map继承了thrTransData,然后根据绑定调用对于的函数那如果map里

MVC模式开发图书商城项目分析

MVC模式开发图书商城项目分析 1. 功能分析 1.用户注册 2.用户登录 3.添加商品(CURD) 4.商品查看-- 列表查询 5.商品详情页面 6.将商品添加购物车 7.查看购物车 8.修改购物车 9.生成订单 10.订单查看(取消) 11.在线支付 12.下载销售榜单 游客(未登录): 注册.登陆.商品查看 商城注册用户 : 商品查看.添加商品到购物车.购物车管理.生成订单.订单管理.在线支付 管理员 : 添加商品.商品管理.查看订单 .榜单查看(导出) 2. 系统设计 1技术选型 (系统

【项目分析】利用C#改写JAVA中的Base64.DecodeBase64以及Inflater解码

原文:[项目分析]利用C#改写JAVA中的Base64.DecodeBase64以及Inflater解码 最近正在进行项目服务的移植工作,即将JAVA服务的程序移植到DotNet平台中. 在JAVA程序中,有个HTTP请求数据头中,包含一个BASE64编码的字符串,例如: eJyVjMENgDAMA1fpBMjnIkp3ZzZEpAa1PLmXY10sDdqBqr54Ww5AthG7zxJYa0MYr9p7bPFnK/uqjCj06y7JfHwAX3AhhA== 现在需要将这个字符串转化成原始字

项目分析(多进程数据走向初步)

1.数据的来源 NetProcSvr::init()->libevent::conn_readcb(读事件)->Channel::read_datastream(读到数据流)->TCPServer::on_receive_data读包->from_net_push_pkt(放到无锁队列中去即m_all_packet) 2.初步处理 线程函数(fromNet2Mem)->TCPServer::recv(从无锁队列中取包)->m_spShareMemInter::pushA

项目分析(人物上线消息)

人物上线消息: c2s s2c c2s_login(点击登录)-------> s2c_login(验证用户名和密码的消息)c2s_select_actor(选择角色)----> s2c_local_player_info(本地玩家信息),send_json2(L"进入地图", str.c_str())(地图ID和坐标位置)c2s_json(5次)c2s_activate_player 项目分析(人物上线消息)