Documentation ¶
Index ¶
- func GuildClientHandlerRegister(handler PacketHandlerRegister, playerMgr gentity.PlayerMgr)
- func GuildRouteReqPacket(player *game.Player, guildId int64, packet Packet) bool
- func GuildServerHandlerRegister(handler PacketHandlerRegister, playerMgr gentity.PlayerMgr)
- func OnGuildCreateReq(player *game.Player, req *pb.GuildCreateReq)
- func OnGuildListReq(player *game.Player, req *pb.GuildListReq)
- func RegisterPlayerGuildHandler(handler PacketHandlerRegister, playerMgr gentity.PlayerMgr, ...)
- type Guild
- func (this *Guild) BroadcastClientPacket(cmd PacketCommand, message proto.Message)
- func (this *Guild) BroadcastPlayerPacket(cmd PacketCommand, message proto.Message)
- func (this *Guild) GetMember(playerId int64) *pb.GuildMemberData
- func (this *Guild) OnGuildDataViewReq(message *GuildMessage, req *pb.GuildDataViewReq)
- func (this *Guild) OnGuildJoinAgreeReq(message *GuildMessage, req *pb.GuildJoinAgreeReq)
- func (this *Guild) OnGuildJoinReq(message *GuildMessage, req *pb.GuildJoinReq)
- func (this *Guild) RouteClientPacket(guildMessage *GuildMessage, cmd PacketCommand, message proto.Message)
- func (this *Guild) RoutePlayerPacket(guildMessage *GuildMessage, cmd PacketCommand, message proto.Message)
- type GuildBaseInfo
- type GuildHelper
- func (g *GuildHelper) CreateEntity(entityData interface{}) gentity.RoutineEntity
- func (g *GuildHelper) LoadEntity(entityId int64) gentity.RoutineEntity
- func (g *GuildHelper) PacketToRoutePacket(from gentity.Entity, packet Packet, toEntityId int64) Packet
- func (g *GuildHelper) PacketToRoutineMessage(from gentity.Entity, packet Packet, to gentity.RoutineEntity) interface{}
- func (g *GuildHelper) RoutePacketToRoutineMessage(packet Packet, toEntityId int64) interface{}
- func (g *GuildHelper) RouteServerId(entityId int64) int32
- type GuildJoinRequests
- type GuildMembers
- type GuildMessage
- type Hook
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GuildRouteReqPacket ¶
根据公会id路由玩家的请求消息
func OnGuildListReq ¶
func OnGuildListReq(player *game.Player, req *pb.GuildListReq)
公会列表查询 这里演示的直接从mongodb查询(性能低,尤其是在集群模式下) 实际项目也可以把列表数据加载到服务器中缓存起来,直接从内存中查询
Types ¶
type Guild ¶
type Guild struct { gentity.BaseRoutineEntity BaseInfo *GuildBaseInfo `child:"baseinfo"` Members *GuildMembers `child:"members"` JoinRequests *GuildJoinRequests `child:"joinrequests"` }
公会
func NewGuild ¶
func NewGuild(guildData *pb.GuildLoadData) *Guild
func (*Guild) BroadcastClientPacket ¶
广播公会消息,直接发给客户端 this server -> other server -> client
func (*Guild) BroadcastPlayerPacket ¶
广播公会消息 this server -> other server -> player
func (*Guild) OnGuildDataViewReq ¶
func (this *Guild) OnGuildDataViewReq(message *GuildMessage, req *pb.GuildDataViewReq)
查看公会数据
func (*Guild) OnGuildJoinAgreeReq ¶
func (this *Guild) OnGuildJoinAgreeReq(message *GuildMessage, req *pb.GuildJoinAgreeReq)
公会管理者同意申请人加入公会
func (*Guild) OnGuildJoinReq ¶
func (this *Guild) OnGuildJoinReq(message *GuildMessage, req *pb.GuildJoinReq)
加入公会请求
func (*Guild) RouteClientPacket ¶
func (this *Guild) RouteClientPacket(guildMessage *GuildMessage, cmd PacketCommand, message proto.Message)
路由玩家消息,直接发给客户端 this server -> other server -> client
func (*Guild) RoutePlayerPacket ¶
func (this *Guild) RoutePlayerPacket(guildMessage *GuildMessage, cmd PacketCommand, message proto.Message)
路由玩家消息 this server -> other server -> player
type GuildBaseInfo ¶
type GuildBaseInfo struct { gentity.DataComponent Data *pb.GuildInfo `db:"baseinfo;plain"` }
公会基础信息
func NewGuildBaseInfo ¶
func NewGuildBaseInfo(entity gentity.Entity, data *pb.GuildInfo) *GuildBaseInfo
func (*GuildBaseInfo) SetMemberCount ¶
func (g *GuildBaseInfo) SetMemberCount(memberCount int32)
type GuildHelper ¶
type GuildHelper struct { }
DistributedEntityHelper实现
func (*GuildHelper) CreateEntity ¶
func (g *GuildHelper) CreateEntity(entityData interface{}) gentity.RoutineEntity
创建公会实体
func (*GuildHelper) LoadEntity ¶
func (g *GuildHelper) LoadEntity(entityId int64) gentity.RoutineEntity
加载公会实体 加载成功后,开启独立协程
func (*GuildHelper) PacketToRoutePacket ¶
func (g *GuildHelper) PacketToRoutePacket(from gentity.Entity, packet Packet, toEntityId int64) Packet
消息转换成路由消息
func (*GuildHelper) PacketToRoutineMessage ¶
func (g *GuildHelper) PacketToRoutineMessage(from gentity.Entity, packet Packet, to gentity.RoutineEntity) interface{}
消息转换成公会的逻辑消息
func (*GuildHelper) RoutePacketToRoutineMessage ¶
func (g *GuildHelper) RoutePacketToRoutineMessage(packet Packet, toEntityId int64) interface{}
路由消息转换成公会的逻辑消息
func (*GuildHelper) RouteServerId ¶
func (g *GuildHelper) RouteServerId(entityId int64) int32
根据公会id路由到对应的服务器id
type GuildJoinRequests ¶
type GuildJoinRequests struct { gentity.MapDataComponent Data map[int64]*pb.GuildJoinRequest `db:"joinrequests"` }
公会加入请求
func NewGuildJoinRequests ¶
func NewGuildJoinRequests(entity gentity.Entity) *GuildJoinRequests
func (*GuildJoinRequests) Add ¶
func (g *GuildJoinRequests) Add(joinRequest *pb.GuildJoinRequest)
func (*GuildJoinRequests) Get ¶
func (g *GuildJoinRequests) Get(playerId int64) *pb.GuildJoinRequest
func (*GuildJoinRequests) Remove ¶
func (g *GuildJoinRequests) Remove(playerId int64)
type GuildMembers ¶
type GuildMembers struct { gentity.MapDataComponent Data map[int64]*pb.GuildMemberData `db:"members;plain"` }
公会成员数据
func NewGuildMembers ¶
func NewGuildMembers(entity gentity.Entity, data map[int64]*pb.GuildMemberData) *GuildMembers
func (*GuildMembers) Add ¶
func (g *GuildMembers) Add(member *pb.GuildMemberData)
func (*GuildMembers) Get ¶
func (g *GuildMembers) Get(playerId int64) *pb.GuildMemberData
func (*GuildMembers) Remove ¶
func (g *GuildMembers) Remove(playerId int64)
type GuildMessage ¶
type GuildMessage struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.