social

package
v0.0.0-...-bfc2f26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 11, 2024 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GuildClientHandlerRegister

func GuildClientHandlerRegister(handler PacketHandlerRegister, playerMgr gentity.PlayerMgr)

func GuildRouteReqPacket

func GuildRouteReqPacket(player *game.Player, guildId int64, packet Packet) bool

根据公会id路由玩家的请求消息

func GuildServerHandlerRegister

func GuildServerHandlerRegister(handler PacketHandlerRegister, playerMgr gentity.PlayerMgr)

func OnGuildCreateReq

func OnGuildCreateReq(player *game.Player, req *pb.GuildCreateReq)

创建公会请求

func OnGuildListReq

func OnGuildListReq(player *game.Player, req *pb.GuildListReq)

公会列表查询 这里演示的直接从mongodb查询(性能低,尤其是在集群模式下) 实际项目也可以把列表数据加载到服务器中缓存起来,直接从内存中查询

func RegisterPlayerGuildHandler

func RegisterPlayerGuildHandler(handler PacketHandlerRegister, playerMgr gentity.PlayerMgr, message proto.Message)

注册玩家公会消息回调

Types

type Guild

type Guild struct {
	gentity.BaseRoutineEntity

	BaseInfo     *GuildBaseInfo     `child:"baseinfo"`
	Members      *GuildMembers      `child:"members"`
	JoinRequests *GuildJoinRequests `child:"joinrequests"`
}

公会

func GetGuildById

func GetGuildById(guildId int64) *Guild

获取本服上的公会

func NewGuild

func NewGuild(guildData *pb.GuildLoadData) *Guild

func (*Guild) BroadcastClientPacket

func (this *Guild) BroadcastClientPacket(cmd PacketCommand, message proto.Message)

广播公会消息,直接发给客户端 this server -> other server -> client

func (*Guild) BroadcastPlayerPacket

func (this *Guild) BroadcastPlayerPacket(cmd PacketCommand, message proto.Message)

广播公会消息 this server -> other server -> player

func (*Guild) GetMember

func (this *Guild) GetMember(playerId int64) *pb.GuildMemberData

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
}

type Hook

type Hook struct {
}

func (*Hook) OnApplicationExit

func (h *Hook) OnApplicationExit()

服务器关闭回调

func (*Hook) OnApplicationInit

func (h *Hook) OnApplicationInit(initArg interface{})

服务器初始化回调

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL