195 lines
5.9 KiB
Go
195 lines
5.9 KiB
Go
package msg
|
|
|
|
import "server/game/mod/item"
|
|
|
|
type Msg struct {
|
|
Type int // 消息类型
|
|
To int // 接收者
|
|
From int // 发送者
|
|
Item []*item.Item // 物品
|
|
SendT int64 // 发送时间
|
|
End int64 // 过期时间
|
|
Extra interface{} //额外信息
|
|
Id int64
|
|
UniKey string // 回调监听唯一键值
|
|
H int //处理类型
|
|
HandleType int //处理类型
|
|
}
|
|
|
|
type VarData struct {
|
|
Key string
|
|
Value interface{}
|
|
SetType int // 操作类型 0 设置 1 增加 2 减少 3 覆盖
|
|
}
|
|
|
|
const (
|
|
VAR_OP_ADD = 1
|
|
VAR_OP_SUB = 2
|
|
VAR_OP_SET = 3
|
|
)
|
|
|
|
var MSG_ZERO_UPDATE = &Msg{Type: SERVER_ZERO_UPDATE}
|
|
var MSG_NOON_UPDATE = &Msg{Type: SERVER_NOON_UPDATE}
|
|
|
|
const (
|
|
HANDLE_MOD_PLAYER_MSG = 20001 // 玩家消息
|
|
HANDLE_MOD_CLUSTER_MSG = 20002 // 集群消息
|
|
HANDLE_MOD_PLAYER_LOGIN = 20003 // 玩家登录消息
|
|
HANDLE_MOD_COMSUME_MSG = 20004 // 消费消息
|
|
HANDLE_MOD_CLUSTER_SYNC = 20005 // 集群同步消息
|
|
HANDLE_MDO_PLAYER_LOGOUT = 20006 // 玩家登出消息
|
|
HANDLE_MOD_VAR_GET = 20007 // 获取变量
|
|
HANDLE_MOD_VAR_SET = 20008 // 设置变量
|
|
HANDLE_MOD_CATNIP_PARTNER = 20009 // 猫薄荷伙伴
|
|
HANDLE_MOD_USER_VAR_GET = 20010 // 获取玩家变量
|
|
HANDLE_MOD_USER_VAR_SET = 20011 // 设置玩家变量
|
|
HANDLE_MOD_REPLY_PLAYER_MSG = 20012 // 回复玩家消息
|
|
HANDLE_MDO_CHAMPSHIP_INRANK = 20013 // 锦标赛入榜
|
|
HANDLE_MOD_CHAMPSHIP_RANK_INFO = 20014 // 锦标赛排名信息
|
|
HANDLE_MOD_CHAMPSHIP_RANK_LIST = 20015 // 锦标赛排行榜
|
|
HANDLE_MOD_CHAMPSHIP_PRE_RANK = 20016 // 锦标赛上期排名
|
|
)
|
|
|
|
const (
|
|
//好友操作
|
|
HANDLE_TYPE_APPLY = iota //申请好友
|
|
HANDLE_TYPE_DEL //删除好友
|
|
HANDLE_TYPE_SYNC //同步请求
|
|
HADNLE_TYPE_AGREE //同意好友
|
|
HANDLE_TYPE_REFUSE //拒绝申请
|
|
|
|
//卡牌操作
|
|
HANDLE_TYPE_REQ_CARD //请求卡牌
|
|
HANDLE_TYPE_AGREE_CARD //同意卡牌
|
|
HANDLE_TYPE_REG_CARD_REFUSE //拒绝请求卡牌
|
|
HANDLE_TYPE_REG_CARD_FINISH //请求卡牌已结束
|
|
HANDLE_TYPE_AGREE_CARD_FAIL //同意卡牌失败
|
|
|
|
HANDLE_TYPE_EX_CARD //置换卡牌
|
|
HANDLE_TYPE_SELECT_EX_CARD //选择置换卡牌
|
|
HANDLE_TYPE_ARGREE_EX_CARD //同意置换卡牌
|
|
HANDLE_TYPE_REFUSE_SELECT_CARD //B拒绝选择置换卡牌
|
|
HANDLE_TYPE_REFUSE_EX_CARD //A拒绝置换卡牌
|
|
|
|
HANDLE_TYPE_EX_CARD_SELECT_TIMEOUT //置换卡牌选择超时
|
|
HANDLE_TYPE_EX_CARD_TIMEOUT //置换卡牌超时
|
|
|
|
HANDLE_TYPE_SEND_CARD //赠送卡牌
|
|
|
|
HANDLE_TYPE_INVITE_FRIEND //邀请好友
|
|
HANDLE_TYPE_INVITE_ADD_FRIEND //自动添加好友
|
|
// 榜单操作
|
|
HANDLE_TYPE_RANK //榜单操作
|
|
HANDLE_TYPE_RANK_INFO //榜单信息
|
|
HANDLE_TYPE_RANK_NOTIFY //榜单信息
|
|
// 邮件操作
|
|
HANDLE_TYPE_MAIL //邮件操作
|
|
|
|
// 锦标赛
|
|
HANDLE_TYPE_CHAMPSHIP_GROUP //锦标赛分组操作
|
|
HANDLE_TYPE_CHAMPSHIP_INRANK //锦标赛入榜操作
|
|
HANDLE_TYPE_CHAMPSHIP_AI //锦标赛入榜操作
|
|
HANDLE_TYPE_CHAMPSHIP_NOTIFY //锦标赛排名变动通知
|
|
HANDLE_TYPE_CHAMPSHIP_ZERO //锦标赛0点更新
|
|
HANDLE_TYPE_CHAMPSHIP_NOTIFY2 //锦标赛0.30点通知
|
|
// 服务器变量
|
|
HANDLE_TYPE_VAR_GET //获取变量
|
|
HANDLE_TYPE_VAR_SET //设置变量
|
|
|
|
//server mod handle
|
|
SERVER_ZERO_UPDATE //zero update
|
|
HANDLE_TYPE_PLAYROOM_LOSE // playroom偷取物品
|
|
SERVER_NOON_UPDATE // 12点更新
|
|
|
|
FRIEND_TREASURE_HANDLE //好友宝藏操作
|
|
HANDLE_TYPE_MAIL_ADD //添加邮件
|
|
HANDLE_TYPE_MAIL_RELOAD //重新加载邮件
|
|
|
|
HANDLE_TYPE_HANDBOOK_COLLECTION //图鉴收集
|
|
HANDLE_TYPE_HANDBOOK_UPVOTE //图鉴收集时间线点赞
|
|
|
|
HANDLE_TYPE_SEND_CHARGE //赠送充值礼包
|
|
HANDLE_TYPE_CHARGE_RECEIVE //充值礼包领取
|
|
|
|
HANDLE_TYPE_WISHLIST_SEND // 发送愿望单请求
|
|
HANDLE_TYPE_WISHLIST_AGREE // 收到愿望单请求同意
|
|
|
|
HANDLE_TYPE_PLAYROOM_UPVOTE // 收到playroom点赞
|
|
HANDLE_TYPE_CHAMPSHIP_RESULT //锦标赛结果
|
|
HANDLE_TYPE_TREASURE_RESULT //宝藏结果
|
|
|
|
HANDLE_TYPE_FACEBOOK_UNBIND //facebook解绑
|
|
|
|
HANDLE_TYPE_VAR_USER_SET // 设置玩家数据
|
|
HANDLE_TYPE_VAR_USER_GET // 获取玩家数据
|
|
|
|
HANDLE_TYPE_PLAYROOM_KISS // playroom亲吻
|
|
HANDLE_TYPE_PLAYROOM_GAME // playroom游戏
|
|
|
|
HANDLE_TYPE_CATNIP_INVITE // 猫薄荷邀请
|
|
HANDLE_TYPE_CATNIP_AGREE // 猫薄荷同意邀请
|
|
HANDLE_TYPE_CATNIP_AGREE_DEL // 猫薄荷已同意邀请
|
|
HANDLE_TYPE_CATNIP_REFUSE // 猫薄荷拒绝邀请
|
|
HANDLE_TYPE_CATNIP_GROWTH // 猫薄荷成长
|
|
|
|
HANDLE_TYPE_CATNIP_LOCK // 猫薄荷游戏锁定
|
|
|
|
HANDLE_TYPE_VAR_EXPIRE_SET // 设置全服过期数据
|
|
HANDLE_TYPE_VAR_EXPIRE_GET // 获取全服过期数据
|
|
|
|
HANDLE_TYPE_FRIEND_GREETING_REPLY // 好友问候回复
|
|
HANDLE_TYPE_FRIEND_SPONSOER // 好友赞助体力
|
|
|
|
HANDLE_TYPE_CHAMPSHIP_LOGIN // 锦标赛登录
|
|
HANDLE_TYPE_CHAMPSHIP_RANK_INFO // 锦标赛排名信息
|
|
HANDLE_TYPE_SET_CATNIP_PARTNER // 设置猫薄荷伙伴
|
|
HANDLE_TYPE_CATNIP_SEND_EMOJI // 发送猫薄荷表情
|
|
HANDLE_TYPE_CHAMPSHIP_MY_RANK // 锦标赛我的排名
|
|
|
|
HANDLE_TYPE_LOGIN // 玩家登录处理
|
|
)
|
|
|
|
const (
|
|
// 集群
|
|
CLUSTER_HANDSHAKE_1 = 10001 //握手1
|
|
CLUSTER_HANDSHAKE_2 = 10002 //握手2
|
|
CLUSTER_JOIN = 10003 //加入
|
|
CLUSTER_EXIT = 10004 //退出
|
|
|
|
CLUSTER_FRIEND_SYNC = 10005 //集群好友消息同步
|
|
)
|
|
|
|
func (m *Msg) Clone() *Msg {
|
|
return &Msg{
|
|
Type: m.Type,
|
|
To: m.To,
|
|
From: m.From,
|
|
Item: m.Item,
|
|
SendT: m.SendT,
|
|
End: m.End,
|
|
Extra: m.Extra,
|
|
Id: m.Id,
|
|
H: m.H,
|
|
UniKey: m.UniKey,
|
|
}
|
|
}
|
|
|
|
func (m *Msg) Reply(data interface{}) *Msg {
|
|
return &Msg{
|
|
Type: m.Type,
|
|
To: m.From,
|
|
Item: m.Item,
|
|
SendT: m.SendT,
|
|
End: m.End,
|
|
Extra: data,
|
|
Id: m.Id,
|
|
H: m.H,
|
|
UniKey: m.UniKey,
|
|
HandleType: HANDLE_MOD_REPLY_PLAYER_MSG,
|
|
}
|
|
}
|
|
|
|
func Handle(fun func(Msg) error, m Msg) error {
|
|
return fun(m)
|
|
}
|