ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::family Class Reference

家族/公会数据管理模块 More...

#include <family.h>

Inheritance diagram for ngl::family:

Public Member Functions

void related_actorid () final
 设置关联的 Actor ID
void initdata () final
 数据初始化回调,重建内存索引(成员映射、申请列表、公会名称)
int32_t create_family (i64_actorid aroleid, const std::string &aname)
 创建公会
int32_t join_family (i64_actorid aroleid, i64_actorid afamilyid)
 申请加入公会
int32_t erase_applylist (i64_actorid aroleid, i64_actorid afamilyid)
 从公会申请列表中移除玩家
int32_t cancel_join_family (i64_actorid aroleid, i64_actorid afamilyid)
 取消公会加入申请
int32_t ratify_join_family (i64_actorid aroleid, i64_actorid ajoinroleid, bool aratify)
 批准或拒绝玩家的公会加入请求
int32_t cede_family (i64_actorid aroleid, i64_actorid acederoleid)
 转让公会领导权给其他成员
int32_t leave_family (i64_actorid aroleid, i64_actorid afamilyid)
 退出公会
int32_t change_familyname (i64_actorid aroleid, i64_actorid afamilyid, const std::string &afamilyname)
 修改公会名称
int32_t sign_family (i64_actorid aroleid, i64_actorid afamilyid)
 公会每日签到
bool get_familylist (i64_actorid afamilyid, pbnet::PROBUFF_NET_FAMIL_LIST_RESPONSE &apro)
 获取公会列表信息
void sync_familylist (i64_actorid aroleid, i64_actorid afamilyid)
 同步公会列表到客户端
void sync_family (i64_actorid aroleid)
 同步公会信息到客户端,包括成员详情
bool get_familyers (i64_actorid aroleid, std::vector< i64_actorid > &afamilyers)
 获取公会的所有成员

Detailed Description

家族/公会数据管理模块

管理公会的核心数据,包括公会成员、申请列表、公会名称等。 提供公会的创建、加入、退出、转让、签到等操作接口。 继承自 tdb_family::db_modular,实现数据库持久化。

Member Function Documentation

◆ cancel_join_family()

int32_t ngl::family::cancel_join_family ( i64_actorid aroleid,
i64_actorid afamilyid )

取消公会加入申请

Parameters
aroleid申请者的角色ID
afamilyid公会ID
Returns
错误码来自 erase_applylist

◆ cede_family()

int32_t ngl::family::cede_family ( i64_actorid aroleid,
i64_actorid acederoleid )

转让公会领导权给其他成员

Parameters
aroleid当前会长的角色ID
acederoleid新会长的角色ID
Returns
错误码:0=成功, 1=角色未找到, 2=不在同一公会, 3-8=其他错误

◆ change_familyname()

int32_t ngl::family::change_familyname ( i64_actorid aroleid,
i64_actorid afamilyid,
const std::string & afamilyname )

修改公会名称

Parameters
aroleid请求修改的角色ID(必须是会长),-1 表示系统修改
afamilyid公会ID
afamilyname新公会名称
Returns
错误码:0=成功, 1=公会未找到, 2=数据库错误, 3=不是会长

◆ create_family()

int32_t ngl::family::create_family ( i64_actorid aroleid,
const std::string & aname )

创建公会

Parameters
aroleid创建公会的玩家角色ID
aname新公会的名称
Returns
错误码:0=成功, 1=角色未找到, 2=无法创建公会, 3=名称已存在, 4=数据库错误

◆ erase_applylist()

int32_t ngl::family::erase_applylist ( i64_actorid aroleid,
i64_actorid afamilyid )

从公会申请列表中移除玩家

Parameters
aroleid申请者的角色ID
afamilyid公会ID
Returns
错误码:0=成功, 1=数据库错误, 2=申请未找到

◆ get_familyers()

bool ngl::family::get_familyers ( i64_actorid aroleid,
std::vector< i64_actorid > & afamilyers )

获取公会的所有成员

Parameters
aroleid查询者的角色ID
afamilyers输出向量,存储公会成员ID(不含查询者自身)
Returns
成功且有其他成员返回 true,否则返回 false

◆ get_familylist()

bool ngl::family::get_familylist ( i64_actorid afamilyid,
pbnet::PROBUFF_NET_FAMIL_LIST_RESPONSE & apro )

获取公会列表信息

Parameters
afamilyid要查询的公会ID,-1 表示所有公会
apro输出参数,存储公会列表响应
Returns
成功返回 true,公会未找到返回 false

◆ join_family()

int32_t ngl::family::join_family ( i64_actorid aroleid,
i64_actorid afamilyid )

申请加入公会

Parameters
aroleid申请加入的玩家角色ID
afamilyid要加入的公会ID
Returns
错误码:0=成功, 1=已在公会中, 2=已申请, 3=申请列表已满, 4-7=其他错误

◆ leave_family()

int32_t ngl::family::leave_family ( i64_actorid aroleid,
i64_actorid afamilyid )

退出公会

Parameters
aroleid退出成员的角色ID
afamilyid要退出的公会ID
Returns
错误码:0=成功, 1=不在公会中, 2=公会不匹配, 5=会长不能退出

◆ ratify_join_family()

int32_t ngl::family::ratify_join_family ( i64_actorid aroleid,
i64_actorid ajoinroleid,
bool aratify )

批准或拒绝玩家的公会加入请求

Parameters
aroleid做出决定的公会会长的角色ID
ajoinroleid申请者的角色ID
aratifytrue 为接受,false 为拒绝
Returns
错误码:0=成功, 1=会长不在公会中, 2=无待处理申请, 3=数据库错误

◆ sign_family()

int32_t ngl::family::sign_family ( i64_actorid aroleid,
i64_actorid afamilyid )

公会每日签到

Parameters
aroleid签到的角色ID
afamilyid公会ID
Returns
错误码:0=成功, 1=不在公会中, 2=公会不匹配, 4=今日已签到, 5=无效公会等级

◆ sync_family()

void ngl::family::sync_family ( i64_actorid aroleid)

同步公会信息到客户端,包括成员详情

Parameters
aroleid发送信息的角色ID

◆ sync_familylist()

void ngl::family::sync_familylist ( i64_actorid aroleid,
i64_actorid afamilyid )

同步公会列表到客户端

Parameters
aroleid发送列表的角色ID
afamilyid要查询的公会ID,-1 表示所有公会

The documentation for this class was generated from the following files: