猜颜色活动

This commit is contained in:
hahwu 2024-12-04 10:23:56 +08:00
parent 0e65949997
commit 5134ceb766
13 changed files with 1029 additions and 190 deletions

View File

@ -0,0 +1,93 @@
package guesscolorCfg
import (
"server/GoUtil"
"server/game/mod/item"
"server/gamedata"
"strings"
)
const (
CFG_GUESS_COLOR_TEMPLATE = "GuessColorTemplate"
CFG_GUESS_COLOR_PASS = "GuessColorPass"
CFE_GUESS_COLOR_JACKPOT = "GuessColorJackpot"
CFG_GUESS_COLOR_REWARD = "GuessColorReward"
)
func init() {
gamedata.InitCfg(CFG_GUESS_COLOR_TEMPLATE)
gamedata.InitCfg(CFG_GUESS_COLOR_PASS)
gamedata.InitCfg(CFE_GUESS_COLOR_JACKPOT)
gamedata.InitCfg(CFG_GUESS_COLOR_REWARD)
}
func GetFirstPass(Id int) map[int]int {
data, err := gamedata.GetDataByIntKey(CFG_GUESS_COLOR_TEMPLATE, Id)
if err != nil {
return nil
}
str := gamedata.GetStringValue(data, "FirstPass")
arr := strings.Split(str, "|")
ret := make(map[int]int)
for k, v := range arr {
ret[k+1] = GoUtil.Int(v)
}
return ret
}
func GetLoseItem(Id int) []*item.Item {
data, err := gamedata.GetDataByIntKey(CFG_GUESS_COLOR_TEMPLATE, Id)
if err != nil {
return nil
}
return gamedata.GetItemList(data, "ItemCost")
}
func GetFirstItem(Id int) []*item.Item {
data, err := gamedata.GetDataByIntKey(CFG_GUESS_COLOR_TEMPLATE, Id)
if err != nil {
return nil
}
return gamedata.GetItemList(data, "FirstItem")
}
func GetActivityItemId(Id int) int {
data, err := gamedata.GetDataByIntKey(CFG_GUESS_COLOR_TEMPLATE, Id)
if err != nil {
return 0
}
return gamedata.GetIntValue(data, "ItemId")
}
func GetRewardItem(Id int) []*item.Item {
data, err := gamedata.GetDataByIntKey(CFG_GUESS_COLOR_REWARD, Id)
if err != nil {
return nil
}
return gamedata.GetItemList(data, "Items")
}
func GetJackpot() []int {
data, err := gamedata.GetData(CFE_GUESS_COLOR_JACKPOT)
if err != nil {
return []int{}
}
result := make([]int, 0)
for k := range data {
result = append(result, GoUtil.Int(k))
}
return result
}
func GetPassNum(Pass int) int {
data, err := gamedata.GetData(CFG_GUESS_COLOR_PASS)
if err != nil {
return 0
}
for _, v := range data {
if gamedata.GetIntValue(v, "Min") <= Pass && gamedata.GetIntValue(v, "Max") >= Pass {
return gamedata.GetIntValue(v, "Num")
}
}
return 0
}

View File

@ -7,6 +7,34 @@ import (
"server/msg"
)
// 活动模块 登录
func ActivityLogin(p *Player) {
ActivityInfo := GetActivityInfo(p, ACT_TYPE_MINING)
if ActivityInfo != nil {
MiningMod := p.PlayMod.getMiningMod()
MiningMod.Login(ActivityInfo.Id)
}
ActivityInfo = GetActivityInfo(p, ACT_TYPE_GUESS_COLOR)
if ActivityInfo != nil {
GuessColorMod := p.PlayMod.getGuessColorMod()
GuessColorMod.Login(ActivityInfo.Id)
}
}
// 活动模块 零点更新
func ActivityZeroUpdate(p *Player) {
ActivityInfo := GetActivityInfo(p, ACT_TYPE_MINING)
if ActivityInfo != nil {
MiningMod := p.PlayMod.getMiningMod()
MiningMod.ZeroUpdate(ActivityInfo.Id)
}
ActivityInfo = GetActivityInfo(p, ACT_TYPE_GUESS_COLOR)
if ActivityInfo != nil {
GuessColorMod := p.PlayMod.getGuessColorMod()
GuessColorMod.ZeroUpdate(ActivityInfo.Id)
}
}
func GetActivityInfo(p *Player, actType int) *ActivityInfo {
for _, v := range p.activity {
if v.Type == actType {
@ -33,6 +61,9 @@ func GetActivityStatus(p *Player, actType int) int {
func MiningBackData(p *Player) {
ActivityInfo := GetActivityInfo(p, ACT_TYPE_MINING)
if ActivityInfo == nil {
return
}
Status := GetActivityStatus(p, ACT_TYPE_MINING)
Template := miningCfg.GetTemplate(ActivityInfo.Id)
MiningMod := p.PlayMod.getMiningMod()
@ -48,6 +79,38 @@ func MiningBackData(p *Player) {
})
}
func GuessColorBackData(p *Player) {
ActivityInfo := GetActivityInfo(p, ACT_TYPE_GUESS_COLOR)
if ActivityInfo == nil {
return
}
Status := GetActivityStatus(p, ACT_TYPE_GUESS_COLOR)
GuessColorMod := p.PlayMod.getGuessColorMod()
Color := make([]int32, 0)
Pos := make([]int32, 0)
for k, v := range GuessColorMod.Answer {
if GuessColorMod.Progress[k] > 0 {
Pos = append(Pos, int32(k))
continue
}
Color = append(Color, int32(v))
}
p.PushClientRes(&msg.ResGuessColor{
Id: int32(ActivityInfo.Id),
Status: int32(Status),
EndTime: int32(ActivityInfo.EndT),
Pass: int32(GuessColorMod.Pass),
Opponent: &msg.Opponent{
Name: GuessColorMod.Opponent.Name,
Face: int32(GuessColorMod.Opponent.Face),
Avatar: int32(GuessColorMod.Opponent.Avatar),
Progress: int32(GuessColorMod.Opponent.Progress),
},
Color: Color,
Pos: Pos,
})
}
func RedBackData(p *Player) {
result := make(map[int32]int32)
Now := GoUtil.Now()
@ -70,6 +133,9 @@ func GetActivityItem(p *Player, ActType []int) []*item.Item {
case ACT_TYPE_MINING:
Item := miningCfg.GetLoseItem(v)
Items = item.Merge(Items, Item)
case ACT_TYPE_GUESS_COLOR:
Item := miningCfg.GetLoseItem(v)
Items = item.Merge(Items, Item)
}
}
return Items

View File

@ -102,6 +102,7 @@ func (gl *GameLogic) ZeroFlush() {
var a1 = []interface{}{gl.DailyTaskTimestamp}
GoUtil.CallEvent(MergeConst.Notify_Daily_Renew, a1)
gl.RankMgrSend(MsgMod.MSG_ZERO_UPDATE) // 零点更新排行榜
gl.VarMgrSend(MsgMod.MSG_ZERO_UPDATE) // 零点更新变量
gl.CreateDailyLogFile()
}
@ -355,7 +356,7 @@ func (ad *GameLogic) CreateVarMgr() {
ad.VarMgr = &VarMgr{
ServerMod: new(ServerMod),
}
ad.ChampshipMgr.Init()
ad.VarMgr.Init()
}
func (ad *GameLogic) VarMgrSend(m *MsgMod.Msg) {
@ -382,7 +383,7 @@ func (ad *GameLogic) GetSimplePlayerByUid(Id int) *PlayerSimpleData {
return nil
}
value, _ := json.Marshal(player)
db.RedisSetKey(Idstr, string(value), 300)
db.RedisSetKey(Idstr, string(value), time.Duration(300)*time.Second)
} else {
err := json.Unmarshal([]byte(Value), player)
if err != nil {
@ -724,7 +725,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
RegisterMsgProcessFunc("ReqFastProduceReward", ReqFastProduceReward) // 连击快手奖励
RegisterMsgProcessFunc("ReqLimitSenceReward", ReqLimitSenceReward) // 获取场景转盘奖励
RegisterMsgProcessFunc("ReqSelectLimitEvent", ReqSelectLimitEvent) //领取限时事件进度奖励
RegisterMsgProcessFunc("ReqGetGoldCard", ReqGetGoldCard) //请求限时事件排行榜
RegisterMsgProcessFunc("ReqGetGoldCard", ReqGetGoldCard) //请求金卡交换信息
// 好友
RegisterMsgProcessFunc("ReqFriendList", ReqFriendList) // 请求好友列表
@ -781,6 +782,10 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
RegisterMsgProcessFunc("ReqMining", ReqMining) // 请求挖矿数据
RegisterMsgProcessFunc("ReqMiningReward", ReqMiningReward) // 领取挖矿奖励
RegisterMsgProcessFunc("ReqMiningTake", ReqMiningTake) // 挖矿
// 猜颜色
RegisterMsgProcessFunc("ReqGuessColor", ReqGuessColor) // 请求猜颜色数据
RegisterMsgProcessFunc("ReqGuessColorReward", ReqGuessColorReward) // 领取猜颜色奖励
RegisterMsgProcessFunc("ReqGuessColorTake", ReqGuessColorTake) // 猜颜色
}

View File

@ -53,6 +53,8 @@ func ReqGmCommand(args []interface{}) error {
case "zeroUpdate":
player.PlayMod.getVarMod().DailyResetTime = 0
player.ZeroUpdate([]interface{}{})
G_GameLogicPtr.RankMgrSend(MsgMod.MSG_ZERO_UPDATE) // 零点更新排行榜
G_GameLogicPtr.VarMgrSend(MsgMod.MSG_ZERO_UPDATE) // 零点更新变量
case "setSevenLoginActive":
num, _ := strconv.Atoi(arg[1])
player.PlayMod.getSevenLoginMod().Active = num
@ -127,6 +129,12 @@ func ReqGmCommand(args []interface{}) error {
ActivityInfo := GetActivityInfo(player, ACT_TYPE_MINING)
MiningMod.ZeroUpdate(ActivityInfo.Id)
MiningBackData(player)
case "guessColorReload":
GuessColorMod := player.PlayMod.getGuessColorMod()
GuessColorMod.ZeroUpdate(-1)
ActivityInfo := GetActivityInfo(player, ACT_TYPE_GUESS_COLOR)
GuessColorMod.ZeroUpdate(ActivityInfo.Id)
GuessColorBackData(player)
}
player.PlayMod.save()
return nil

View File

@ -12,6 +12,7 @@ import (
"server/MergeConst"
activityCfg "server/conf/activity"
cardCfg "server/conf/card"
guesscolorCfg "server/conf/guessColor"
itemCfg "server/conf/item"
mergeDataCfg "server/conf/mergeData"
miningCfg "server/conf/mining"
@ -303,6 +304,7 @@ func (p *Player) ZeroUpdate(a []interface{}) {
p.PlayMod.getChampshipMod().ZeroUpdate()
p.initAcitivity()
ActivityZeroUpdate(p)
p.PlayMod.save()
}
// 周更新
@ -341,7 +343,7 @@ func (p *Player) Login() {
LimitedTimeEventTrigger(p, 0)
// 猪猪银行触发
LimitedTimePiggyBankTrigger(p)
ActivityLogin(p)
p.PlayMod.getCardMod().Login(G_GameLogicPtr.SeverInfo.OpenTime)
}
@ -585,6 +587,7 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
EndTime: int32(EndTime),
Cd: int32(EffectList[1]),
})
// 触发订单事件 生成超级订单 卡牌节
LimitedTimeEventTrigger(p, EffectList[0])
p.TeLog("time_limited_event_enable", map[string]interface{}{
"event_type": EffectList[0],
@ -811,13 +814,18 @@ func (p *Player) BackDataActivity() {
}
func (p *Player) GetRed(AI *ActivityInfo) int {
Status := GetActivityStatus(p, AI.Type)
if Status != ACT_STATUS_START {
return 0
}
// 限时活动红点
if AI.Type == ACT_TYPE_MINING {
Status := GetActivityStatus(p, ACT_TYPE_MINING)
if Status == ACT_STATUS_START {
ItemId := miningCfg.GetActivityItemId(AI.Id)
return p.PlayMod.getItemMod().GetItem(ItemId)
}
ItemId := miningCfg.GetActivityItemId(AI.Id)
return p.PlayMod.getItemMod().GetItem(ItemId)
}
if AI.Type == ACT_TYPE_GUESS_COLOR {
ItemId := guesscolorCfg.GetActivityItemId(AI.Id)
return p.PlayMod.getItemMod().GetItem(ItemId)
}
return 0
}

View File

@ -17,6 +17,7 @@ import (
"server/game/mod/endless"
"server/game/mod/face"
"server/game/mod/friend"
guesscolor "server/game/mod/guessColor"
"server/game/mod/guild"
"server/game/mod/handbook"
"server/game/mod/invite"
@ -64,6 +65,7 @@ type PlayerModList struct {
Kv kv.KvMod `json:"kv"`
Mining mining.MiningMod `json:"mining"`
Item item.ItemMod `json:"item"`
GuessColor guesscolor.GuessColorMod `json:"guessColor"`
}
func (p *PlayerModData) LoadDataFromDB(dwUin interface{}) bool {
@ -143,6 +145,7 @@ func (p *PlayerModData) InitMod() (bool, error) {
p.ModList.Kv.InitData()
p.ModList.Mining.InitData()
p.ModList.Item.InitData()
p.ModList.GuessColor.InitData()
return is_update, nil
}
@ -285,3 +288,7 @@ func (p *PlayerMod) getMiningMod() *mining.MiningMod {
func (p *PlayerMod) getItemMod() *item.ItemMod {
return &p.mod_list.Item
}
func (p *PlayerMod) getGuessColorMod() *guesscolor.GuessColorMod {
return &p.mod_list.GuessColor
}

View File

@ -2457,9 +2457,18 @@ func ReqMiningTake(args []interface{}) error {
return nil
}
// 领取关卡奖励
func ReqMiningReward(args []interface{}) error {
_, player, _ := ParseArgs(args)
MiningMod := player.PlayMod.getMiningMod()
Status := GetActivityStatus(player, ACT_TYPE_MINING)
if Status != ACT_STATUS_START {
player.SendErrClienRes(&msg.ResMiningReward{
Code: msg.RES_CODE_FAIL,
Msg: "activity not start",
})
return fmt.Errorf("activity not start")
}
itemList, err := MiningMod.GetReward()
if err != nil {
player.SendErrClienRes(&msg.ResMiningReward{
@ -2480,3 +2489,82 @@ func ReqMiningReward(args []interface{}) error {
MiningBackData(player)
return nil
}
// 请求猜颜色基础数据
func ReqGuessColor(args []interface{}) error {
_, player, buf := ParseArgs(args)
req := &msg.ReqGuessColor{}
proto.Unmarshal(buf, req)
GuessColorMod := player.PlayMod.getGuessColorMod()
Items := GuessColorMod.FirstIn()
err := player.HandleItem(Items, "GuessColor")
if err != nil {
return err
}
player.PlayMod.save()
GuessColorBackData(player)
return nil
}
func ReqGuessColorTake(args []interface{}) error {
_, player, buf := ParseArgs(args)
req := &msg.ReqGuessColorTake{}
proto.Unmarshal(buf, req)
Status := GetActivityStatus(player, ACT_TYPE_GUESS_COLOR)
if Status != ACT_STATUS_START {
player.SendErrClienRes(&msg.ResGuessColorTake{
Code: msg.RES_CODE_FAIL,
Msg: "activity not start",
})
return fmt.Errorf("activity not start")
}
GuessColorMod := player.PlayMod.getGuessColorMod()
LoseItem := GuessColorMod.GetLoseItem()
err := player.HandleLoseItem(LoseItem, "GuessColorLose")
if err != nil {
player.SendErrClienRes(&msg.ResGuessColorTake{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
return err
}
GuessColorMod.Take(req.Map)
player.PlayMod.save()
GuessColorBackData(player)
player.NotifyRed(ACT_TYPE_GUESS_COLOR)
return nil
}
func ReqGuessColorReward(args []interface{}) error {
_, player, buf := ParseArgs(args)
req := &msg.ReqGuessColorReward{}
proto.Unmarshal(buf, req)
Status := GetActivityStatus(player, ACT_TYPE_GUESS_COLOR)
if Status != ACT_STATUS_START {
player.SendErrClienRes(&msg.ResGuessColorReward{
Code: msg.RES_CODE_FAIL,
Msg: "activity not start",
})
return fmt.Errorf("activity not start")
}
GuessColorMod := player.PlayMod.getGuessColorMod()
itemList, err := GuessColorMod.GetReward()
if err != nil {
player.SendErrClienRes(&msg.ResGuessColorReward{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
return err
}
err = player.HandleItem(itemList, "GuessColorReward")
if err != nil {
player.SendErrClienRes(&msg.ResGuessColorReward{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
return err
}
player.PlayMod.save()
GuessColorBackData(player)
return nil
}

View File

@ -15,6 +15,7 @@ const (
FRIEND_MGR_KEY = "FRIEND_MGR"
RANK_MGR_KEY = "RANK_MGR"
MAIL_MGR_KEY = "MAIL_MGR"
VAR_MGR_KEY = "VAR_MGR"
CHAMPSHIP_MGR_KEY = "CHAMPSHIP_MGR"
PER_SAVE_TIME = 60
)

View File

@ -25,7 +25,8 @@ const (
)
const (
ACT_TYPE_MINING = 1 // 挖矿
ACT_TYPE_MINING = 1 // 挖矿
ACT_TYPE_GUESS_COLOR = 2 // 猜颜色
)
type ActivityInfo struct {

View File

@ -1,6 +1,7 @@
package game
import (
"encoding/gob"
"server/game/mod/card"
"server/game/mod/msg"
)
@ -18,8 +19,8 @@ const (
)
func (f *VarMgr) Init() {
f.key = FRIEND_MGR_KEY
gob.Register(&VarGoldCard{})
f.key = VAR_MGR_KEY
f.data = &VarData{
Var: make(map[string]interface{}),
}
@ -46,8 +47,12 @@ func (f *VarMgr) initData() {
}
func (f *VarMgr) ZeroUpdate() {
// 保存数据
// 随机生成两个金卡
Card1, Card2 := card.RankGoldCard()
f.SetVar(VAR_GOLD_CARD, &VarGoldCard{
Four: Card1,
Five: Card2,
})
}
func (f *VarMgr) SetVar(key string, value interface{}) {

View File

@ -0,0 +1,107 @@
package guesscolor
import (
"fmt"
"server/GoUtil"
guesscolorCfg "server/conf/guessColor"
randnameCfg "server/conf/randname"
"server/game/mod/item"
)
type GuessColorMod struct {
Id int
Pass int
Opponent simplePlayer
Answer map[int]int
Progress map[int]int
First bool
}
type simplePlayer struct {
Name string
Face int
Avatar int
Progress int
}
func (g *GuessColorMod) InitData() {
if g.Answer == nil {
g.Answer = make(map[int]int)
}
if g.Progress == nil {
g.Progress = make(map[int]int)
}
if g.Opponent.Name == "" {
g.Opponent = simplePlayer{
Name: randnameCfg.GetRandName(),
Face: GoUtil.RandNum(1, 10),
Avatar: GoUtil.RandNum(1, 10),
Progress: 0,
}
}
}
func (g *GuessColorMod) Login(Id int) {
if Id == 0 {
return
}
if g.Id == Id {
return
}
g.Id = Id
g.Pass = 1
g.Opponent = simplePlayer{
Name: randnameCfg.GetRandName(),
Face: GoUtil.RandNum(1, 10),
Avatar: GoUtil.RandNum(1, 10),
Progress: 0,
}
g.Answer = make(map[int]int)
g.Progress = make(map[int]int)
FirstPass := guesscolorCfg.GetFirstPass(Id)
g.Answer = FirstPass
}
func (g *GuessColorMod) ZeroUpdate(Id int) {
g.Login(Id)
}
func (g *GuessColorMod) FirstIn() []*item.Item {
if g.First {
return nil
}
g.First = true
return guesscolorCfg.GetFirstItem(g.Id)
}
func (g *GuessColorMod) Take(Map map[int32]int32) {
for k, v := range Map {
if g.Answer[int(k)] == int(v) {
g.Progress[int(k)] = int(v)
}
}
}
func (g *GuessColorMod) GetLoseItem() []*item.Item {
return guesscolorCfg.GetLoseItem(g.Id)
}
func (g *GuessColorMod) GetReward() ([]*item.Item, error) {
if len(g.Answer) != len(g.Progress) {
return nil, fmt.Errorf("guess color progress error")
}
RewardId := 1
if g.Opponent.Progress == len(g.Answer) {
RewardId = 2
}
Item := guesscolorCfg.GetRewardItem(RewardId)
g.Pass++
Num := guesscolorCfg.GetPassNum(g.Pass)
ColorList := guesscolorCfg.GetJackpot()
RandList := GoUtil.RandSliceNum(ColorList, Num)
g.Progress = make(map[int]int)
for k, v := range RandList {
g.Answer[k+1] = v
}
return Item, nil
}

View File

@ -20,14 +20,13 @@ func (m *MiningMod) InitData() {
}
}
func (m *MiningMod) ZeroUpdate(Id int) {
func (m *MiningMod) Login(Id int) {
if Id == 0 {
return
}
if m.Id == Id {
return
}
// 活动不同期 重置数据
m.Id = Id
m.Map = make(map[int32]string)
m.Gem = make([]int, 0)
@ -35,6 +34,10 @@ func (m *MiningMod) ZeroUpdate(Id int) {
m.Mining = 0
}
func (m *MiningMod) ZeroUpdate(Id int) {
m.Login(Id)
}
func (m *MiningMod) GetMap() map[int32]string {
return m.Map
}

View File

@ -32845,6 +32845,400 @@ func (x *ItemNotify) GetItem() map[int32]int32 {
return nil
}
// 猜颜色
type ReqGuessColor struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ReqGuessColor) Reset() {
*x = ReqGuessColor{}
mi := &file_Gameapi_proto_msgTypes[573]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ReqGuessColor) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReqGuessColor) ProtoMessage() {}
func (x *ReqGuessColor) ProtoReflect() protoreflect.Message {
mi := &file_Gameapi_proto_msgTypes[573]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReqGuessColor.ProtoReflect.Descriptor instead.
func (*ReqGuessColor) Descriptor() ([]byte, []int) {
return file_Gameapi_proto_rawDescGZIP(), []int{573}
}
type ResGuessColor struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 活动id
Status int32 `protobuf:"varint,2,opt,name=Status,proto3" json:"Status,omitempty"` // 0 未开始 1 进行中 2 已结束
EndTime int32 `protobuf:"varint,3,opt,name=EndTime,proto3" json:"EndTime,omitempty"` // 结束时间
Template int32 `protobuf:"varint,4,opt,name=Template,proto3" json:"Template,omitempty"` // 模板
Pass int32 `protobuf:"varint,5,opt,name=Pass,proto3" json:"Pass,omitempty"` // 关卡
Color []int32 `protobuf:"varint,6,rep,packed,name=Color,proto3" json:"Color,omitempty"` // 剩余的颜色
Pos []int32 `protobuf:"varint,7,rep,packed,name=Pos,proto3" json:"Pos,omitempty"` // 已猜中的颜色 位置从左到右 从1开始
Opponent *Opponent `protobuf:"bytes,8,opt,name=Opponent,proto3" json:"Opponent,omitempty"` // 对手
}
func (x *ResGuessColor) Reset() {
*x = ResGuessColor{}
mi := &file_Gameapi_proto_msgTypes[574]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ResGuessColor) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResGuessColor) ProtoMessage() {}
func (x *ResGuessColor) ProtoReflect() protoreflect.Message {
mi := &file_Gameapi_proto_msgTypes[574]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ResGuessColor.ProtoReflect.Descriptor instead.
func (*ResGuessColor) Descriptor() ([]byte, []int) {
return file_Gameapi_proto_rawDescGZIP(), []int{574}
}
func (x *ResGuessColor) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *ResGuessColor) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *ResGuessColor) GetEndTime() int32 {
if x != nil {
return x.EndTime
}
return 0
}
func (x *ResGuessColor) GetTemplate() int32 {
if x != nil {
return x.Template
}
return 0
}
func (x *ResGuessColor) GetPass() int32 {
if x != nil {
return x.Pass
}
return 0
}
func (x *ResGuessColor) GetColor() []int32 {
if x != nil {
return x.Color
}
return nil
}
func (x *ResGuessColor) GetPos() []int32 {
if x != nil {
return x.Pos
}
return nil
}
func (x *ResGuessColor) GetOpponent() *Opponent {
if x != nil {
return x.Opponent
}
return nil
}
type Opponent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
Face int32 `protobuf:"varint,3,opt,name=Face,proto3" json:"Face,omitempty"`
Avatar int32 `protobuf:"varint,4,opt,name=Avatar,proto3" json:"Avatar,omitempty"`
Progress int32 `protobuf:"varint,5,opt,name=Progress,proto3" json:"Progress,omitempty"`
}
func (x *Opponent) Reset() {
*x = Opponent{}
mi := &file_Gameapi_proto_msgTypes[575]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Opponent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Opponent) ProtoMessage() {}
func (x *Opponent) ProtoReflect() protoreflect.Message {
mi := &file_Gameapi_proto_msgTypes[575]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Opponent.ProtoReflect.Descriptor instead.
func (*Opponent) Descriptor() ([]byte, []int) {
return file_Gameapi_proto_rawDescGZIP(), []int{575}
}
func (x *Opponent) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Opponent) GetFace() int32 {
if x != nil {
return x.Face
}
return 0
}
func (x *Opponent) GetAvatar() int32 {
if x != nil {
return x.Avatar
}
return 0
}
func (x *Opponent) GetProgress() int32 {
if x != nil {
return x.Progress
}
return 0
}
type ReqGuessColorTake struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Map map[int32]int32 `protobuf:"bytes,1,rep,name=Map,proto3" json:"Map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 颜色 pos => color
}
func (x *ReqGuessColorTake) Reset() {
*x = ReqGuessColorTake{}
mi := &file_Gameapi_proto_msgTypes[576]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ReqGuessColorTake) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReqGuessColorTake) ProtoMessage() {}
func (x *ReqGuessColorTake) ProtoReflect() protoreflect.Message {
mi := &file_Gameapi_proto_msgTypes[576]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReqGuessColorTake.ProtoReflect.Descriptor instead.
func (*ReqGuessColorTake) Descriptor() ([]byte, []int) {
return file_Gameapi_proto_rawDescGZIP(), []int{576}
}
func (x *ReqGuessColorTake) GetMap() map[int32]int32 {
if x != nil {
return x.Map
}
return nil
}
type ResGuessColorTake struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Code RES_CODE `protobuf:"varint,1,opt,name=Code,proto3,enum=tutorial.RES_CODE" json:"Code,omitempty"`
Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"`
}
func (x *ResGuessColorTake) Reset() {
*x = ResGuessColorTake{}
mi := &file_Gameapi_proto_msgTypes[577]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ResGuessColorTake) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResGuessColorTake) ProtoMessage() {}
func (x *ResGuessColorTake) ProtoReflect() protoreflect.Message {
mi := &file_Gameapi_proto_msgTypes[577]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ResGuessColorTake.ProtoReflect.Descriptor instead.
func (*ResGuessColorTake) Descriptor() ([]byte, []int) {
return file_Gameapi_proto_rawDescGZIP(), []int{577}
}
func (x *ResGuessColorTake) GetCode() RES_CODE {
if x != nil {
return x.Code
}
return RES_CODE_FAIL
}
func (x *ResGuessColorTake) GetMsg() string {
if x != nil {
return x.Msg
}
return ""
}
type ReqGuessColorReward struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ReqGuessColorReward) Reset() {
*x = ReqGuessColorReward{}
mi := &file_Gameapi_proto_msgTypes[578]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ReqGuessColorReward) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReqGuessColorReward) ProtoMessage() {}
func (x *ReqGuessColorReward) ProtoReflect() protoreflect.Message {
mi := &file_Gameapi_proto_msgTypes[578]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReqGuessColorReward.ProtoReflect.Descriptor instead.
func (*ReqGuessColorReward) Descriptor() ([]byte, []int) {
return file_Gameapi_proto_rawDescGZIP(), []int{578}
}
type ResGuessColorReward struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Code RES_CODE `protobuf:"varint,1,opt,name=Code,proto3,enum=tutorial.RES_CODE" json:"Code,omitempty"`
Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"`
}
func (x *ResGuessColorReward) Reset() {
*x = ResGuessColorReward{}
mi := &file_Gameapi_proto_msgTypes[579]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ResGuessColorReward) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResGuessColorReward) ProtoMessage() {}
func (x *ResGuessColorReward) ProtoReflect() protoreflect.Message {
mi := &file_Gameapi_proto_msgTypes[579]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ResGuessColorReward.ProtoReflect.Descriptor instead.
func (*ResGuessColorReward) Descriptor() ([]byte, []int) {
return file_Gameapi_proto_rawDescGZIP(), []int{579}
}
func (x *ResGuessColorReward) GetCode() RES_CODE {
if x != nil {
return x.Code
}
return RES_CODE_FAIL
}
func (x *ResGuessColorReward) GetMsg() string {
if x != nil {
return x.Msg
}
return ""
}
var File_Gameapi_proto protoreflect.FileDescriptor
var file_Gameapi_proto_rawDesc = []byte{
@ -36771,17 +37165,58 @@ var file_Gameapi_proto_rawDesc = []byte{
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x2a, 0x42, 0x0a, 0x0b, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d,
0x50, 0x4f, 0x53, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x55, 0x59, 0x10, 0x02, 0x12,
0x08, 0x0a, 0x04, 0x53, 0x45, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d,
0x4f, 0x56, 0x45, 0x10, 0x04, 0x2a, 0x21, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44,
0x45, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53,
0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0x2e, 0x0a, 0x09, 0x49, 0x54, 0x45, 0x4d,
0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x10,
0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x41, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44,
0x49, 0x41, 0x4d, 0x4f, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x2e, 0x2f, 0x6d,
0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x01, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c,
0x6f, 0x72, 0x22, 0xd9, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43,
0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07,
0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45,
0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x50, 0x61, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18,
0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03,
0x50, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x2e,
0x0a, 0x08, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x6f, 0x70, 0x70, 0x6f,
0x6e, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x66,
0x0a, 0x08, 0x6f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61,
0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72,
0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72,
0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x47, 0x75,
0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x12, 0x36, 0x0a, 0x03,
0x4d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f,
0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c,
0x6f, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x03, 0x4d, 0x61, 0x70, 0x1a, 0x36, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4d, 0x0a, 0x11,
0x52, 0x65, 0x73, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x61, 0x6b,
0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43,
0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x52,
0x65, 0x71, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f,
0x6c, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69,
0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64,
0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x4d, 0x73, 0x67, 0x2a, 0x42, 0x0a, 0x0b, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x54, 0x59,
0x50, 0x45, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43,
0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x55, 0x59, 0x10,
0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x52,
0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x04, 0x2a, 0x21, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x5f, 0x43,
0x4f, 0x44, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a,
0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0x2e, 0x0a, 0x09, 0x49, 0x54,
0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x4e, 0x45, 0x52, 0x47,
0x59, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x41, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a,
0x07, 0x44, 0x49, 0x41, 0x4d, 0x4f, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x2e,
0x2f, 0x6d, 0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -36797,7 +37232,7 @@ func file_Gameapi_proto_rawDescGZIP() []byte {
}
var file_Gameapi_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_Gameapi_proto_msgTypes = make([]protoimpl.MessageInfo, 646)
var file_Gameapi_proto_msgTypes = make([]protoimpl.MessageInfo, 654)
var file_Gameapi_proto_goTypes = []any{
(HANDLE_TYPE)(0), // 0: tutorial.HANDLE_TYPE
(RES_CODE)(0), // 1: tutorial.RES_CODE
@ -37376,146 +37811,154 @@ var file_Gameapi_proto_goTypes = []any{
(*ActivityNotify)(nil), // 574: tutorial.ActivityNotify
(*ResItem)(nil), // 575: tutorial.ResItem
(*ItemNotify)(nil), // 576: tutorial.ItemNotify
nil, // 577: tutorial.UpdateBaseItemInfo.MUpdateItemEntry
nil, // 578: tutorial.ResPlayerEmitUnlockData.MEmitUnlockDataEntry
nil, // 579: tutorial.NotifyDailyRenewEmitUnlock.MEmitUnlockDataEntry
nil, // 580: tutorial.UpdatePlayerEmitUnlockData.MEmitUnlockDataEntry
nil, // 581: tutorial.ResPlayerPackData.MPackDataEntry
nil, // 582: tutorial.UpdatePlayerPackData.MPackDataEntry
nil, // 583: tutorial.ResPlayerChessData.MChessDataEntry
nil, // 584: tutorial.UpdatePlayerChessData.MChessDataEntry
nil, // 585: tutorial.ReqGetChessFromBuff.MChessDataEntry
nil, // 586: tutorial.ReqChessEx.MChessDataEntry
nil, // 587: tutorial.ReqPutChessInBag.MChessDataEntry
nil, // 588: tutorial.ReqTakeChessOutBag.MChessDataEntry
nil, // 589: tutorial.ResPlayerGiftData.MGiftDataEntry
nil, // 590: tutorial.UpdatePlayerGiftData.MGiftDataEntry
nil, // 591: tutorial.ResPlayerOrderData.MOrderDataEntry
nil, // 592: tutorial.UpdatePlayerOrderData.MOrderDataEntry
nil, // 593: tutorial.ResChessColorData.MChessColorDataEntry
nil, // 594: tutorial.UpdateChessColorData.MChessColorDataEntry
nil, // 595: tutorial.ResEmitMergeMap.MEmitMergeDataEntry
nil, // 596: tutorial.UpdateEmitMergeMap.MEmitMergeDataEntry
nil, // 597: tutorial.ResEmitCountMap.MEmitCountDataEntry
nil, // 598: tutorial.UpdateEmitCountMap.MEmitCountDataEntry
nil, // 599: tutorial.ResEmitCDStartData.MEmitCDDataEntry
nil, // 600: tutorial.NotifyInitEmitCDTimeData.MEmitCDDataEntry
nil, // 601: tutorial.NotifyEmitCDTimeEndData.MEmitCDDataEntry
nil, // 602: tutorial.ResDecorateData.MDecorateDataEntry
nil, // 603: tutorial.UpdateDecorateData.MDecorateDataEntry
nil, // 604: tutorial.ResShopData.MShopTimeBuyDataEntry
nil, // 605: tutorial.ResShopData.MShopSaleBuyDataEntry
nil, // 606: tutorial.ResShopData.MPackBuyDataEntry
nil, // 607: tutorial.ResShopData.MSpecialOfferBuyDataEntry
nil, // 608: tutorial.ResShopData.MUISpecialOfferBuyDataEntry
nil, // 609: tutorial.ResShopData.MFreePackBuyDataEntry
nil, // 610: tutorial.ResShopData.MDiamondFirstBuyDataEntry
nil, // 611: tutorial.NotifyShopStatusChange.MShopTimeBuyDataEntry
nil, // 612: tutorial.ResShopBuy.MShopTimeBuyDataEntry
nil, // 613: tutorial.ReqRenewItemBuyCnt.MShopDataEntry
nil, // 614: tutorial.ResRenewItemBuyCnt.MShopTimeBuyDataEntry
nil, // 615: tutorial.ResKeyValueData.KeyValuesEntry
nil, // 616: tutorial.UpdateKeyValueData.KeyValuesEntry
nil, // 617: tutorial.ResAdPackData.PackDataEntry
nil, // 618: tutorial.NotifyAdPackData.PackDataEntry
nil, // 619: tutorial.ResWatchAdPack.PackDataEntry
nil, // 620: tutorial.ResPetHomeData.SelectDecorateMapEntry
nil, // 621: tutorial.ReqSaveSelectDecorate.SelectDecorateMapEntry
nil, // 622: tutorial.ResSaveSelectDecorate.SelectDecorateMapEntry
nil, // 623: tutorial.ResOpenOtherPetHome.SelectDecorateMapEntry
nil, // 624: tutorial.ResShiftVisitPet.SelectDecorateMapEntry
nil, // 625: tutorial.UseItemRequest.AttrsEntry
nil, // 626: tutorial.UseItemResponse.AttrsEntry
nil, // 627: tutorial.ReqRewardOrder.MChessDataEntry
nil, // 628: tutorial.ResCardInfo.AllCardEntry
nil, // 629: tutorial.ResGuildInfo.RewardEntry
nil, // 630: tutorial.ResDailyTask.WeekRewardEntry
nil, // 631: tutorial.ResDailyTask.DailyTaskEntry
nil, // 632: tutorial.ResLimitEvent.LimitEventListEntry
nil, // 633: tutorial.ResLimitEventProgress.ProgressRewardEntry
nil, // 634: tutorial.ResKv.KvEntry
nil, // 635: tutorial.ResRank.RankListEntry
nil, // 636: tutorial.ResMailList.MailListEntry
nil, // 637: tutorial.ResCharge.SpecialShopEntry
nil, // 638: tutorial.ResCharge.ChessShopEntry
nil, // 639: tutorial.ResCharge.GiftEntry
nil, // 640: tutorial.ResEndless.EndlessListEntry
nil, // 641: tutorial.ResChampshipRank.RankListEntry
nil, // 642: tutorial.ResChampshipPreRank.RankListEntry
nil, // 643: tutorial.ResNotifyCard.CardEntry
nil, // 644: tutorial.ResNotifyCard.MasterEntry
nil, // 645: tutorial.ResMining.MapEntry
nil, // 646: tutorial.ReqMiningTake.MapEntry
nil, // 647: tutorial.ResActRed.RedEntry
nil, // 648: tutorial.ResItem.ItemEntry
nil, // 649: tutorial.ItemNotify.ItemEntry
(*ReqGuessColor)(nil), // 577: tutorial.ReqGuessColor
(*ResGuessColor)(nil), // 578: tutorial.ResGuessColor
(*Opponent)(nil), // 579: tutorial.opponent
(*ReqGuessColorTake)(nil), // 580: tutorial.ReqGuessColorTake
(*ResGuessColorTake)(nil), // 581: tutorial.ResGuessColorTake
(*ReqGuessColorReward)(nil), // 582: tutorial.ReqGuessColorReward
(*ResGuessColorReward)(nil), // 583: tutorial.ResGuessColorReward
nil, // 584: tutorial.UpdateBaseItemInfo.MUpdateItemEntry
nil, // 585: tutorial.ResPlayerEmitUnlockData.MEmitUnlockDataEntry
nil, // 586: tutorial.NotifyDailyRenewEmitUnlock.MEmitUnlockDataEntry
nil, // 587: tutorial.UpdatePlayerEmitUnlockData.MEmitUnlockDataEntry
nil, // 588: tutorial.ResPlayerPackData.MPackDataEntry
nil, // 589: tutorial.UpdatePlayerPackData.MPackDataEntry
nil, // 590: tutorial.ResPlayerChessData.MChessDataEntry
nil, // 591: tutorial.UpdatePlayerChessData.MChessDataEntry
nil, // 592: tutorial.ReqGetChessFromBuff.MChessDataEntry
nil, // 593: tutorial.ReqChessEx.MChessDataEntry
nil, // 594: tutorial.ReqPutChessInBag.MChessDataEntry
nil, // 595: tutorial.ReqTakeChessOutBag.MChessDataEntry
nil, // 596: tutorial.ResPlayerGiftData.MGiftDataEntry
nil, // 597: tutorial.UpdatePlayerGiftData.MGiftDataEntry
nil, // 598: tutorial.ResPlayerOrderData.MOrderDataEntry
nil, // 599: tutorial.UpdatePlayerOrderData.MOrderDataEntry
nil, // 600: tutorial.ResChessColorData.MChessColorDataEntry
nil, // 601: tutorial.UpdateChessColorData.MChessColorDataEntry
nil, // 602: tutorial.ResEmitMergeMap.MEmitMergeDataEntry
nil, // 603: tutorial.UpdateEmitMergeMap.MEmitMergeDataEntry
nil, // 604: tutorial.ResEmitCountMap.MEmitCountDataEntry
nil, // 605: tutorial.UpdateEmitCountMap.MEmitCountDataEntry
nil, // 606: tutorial.ResEmitCDStartData.MEmitCDDataEntry
nil, // 607: tutorial.NotifyInitEmitCDTimeData.MEmitCDDataEntry
nil, // 608: tutorial.NotifyEmitCDTimeEndData.MEmitCDDataEntry
nil, // 609: tutorial.ResDecorateData.MDecorateDataEntry
nil, // 610: tutorial.UpdateDecorateData.MDecorateDataEntry
nil, // 611: tutorial.ResShopData.MShopTimeBuyDataEntry
nil, // 612: tutorial.ResShopData.MShopSaleBuyDataEntry
nil, // 613: tutorial.ResShopData.MPackBuyDataEntry
nil, // 614: tutorial.ResShopData.MSpecialOfferBuyDataEntry
nil, // 615: tutorial.ResShopData.MUISpecialOfferBuyDataEntry
nil, // 616: tutorial.ResShopData.MFreePackBuyDataEntry
nil, // 617: tutorial.ResShopData.MDiamondFirstBuyDataEntry
nil, // 618: tutorial.NotifyShopStatusChange.MShopTimeBuyDataEntry
nil, // 619: tutorial.ResShopBuy.MShopTimeBuyDataEntry
nil, // 620: tutorial.ReqRenewItemBuyCnt.MShopDataEntry
nil, // 621: tutorial.ResRenewItemBuyCnt.MShopTimeBuyDataEntry
nil, // 622: tutorial.ResKeyValueData.KeyValuesEntry
nil, // 623: tutorial.UpdateKeyValueData.KeyValuesEntry
nil, // 624: tutorial.ResAdPackData.PackDataEntry
nil, // 625: tutorial.NotifyAdPackData.PackDataEntry
nil, // 626: tutorial.ResWatchAdPack.PackDataEntry
nil, // 627: tutorial.ResPetHomeData.SelectDecorateMapEntry
nil, // 628: tutorial.ReqSaveSelectDecorate.SelectDecorateMapEntry
nil, // 629: tutorial.ResSaveSelectDecorate.SelectDecorateMapEntry
nil, // 630: tutorial.ResOpenOtherPetHome.SelectDecorateMapEntry
nil, // 631: tutorial.ResShiftVisitPet.SelectDecorateMapEntry
nil, // 632: tutorial.UseItemRequest.AttrsEntry
nil, // 633: tutorial.UseItemResponse.AttrsEntry
nil, // 634: tutorial.ReqRewardOrder.MChessDataEntry
nil, // 635: tutorial.ResCardInfo.AllCardEntry
nil, // 636: tutorial.ResGuildInfo.RewardEntry
nil, // 637: tutorial.ResDailyTask.WeekRewardEntry
nil, // 638: tutorial.ResDailyTask.DailyTaskEntry
nil, // 639: tutorial.ResLimitEvent.LimitEventListEntry
nil, // 640: tutorial.ResLimitEventProgress.ProgressRewardEntry
nil, // 641: tutorial.ResKv.KvEntry
nil, // 642: tutorial.ResRank.RankListEntry
nil, // 643: tutorial.ResMailList.MailListEntry
nil, // 644: tutorial.ResCharge.SpecialShopEntry
nil, // 645: tutorial.ResCharge.ChessShopEntry
nil, // 646: tutorial.ResCharge.GiftEntry
nil, // 647: tutorial.ResEndless.EndlessListEntry
nil, // 648: tutorial.ResChampshipRank.RankListEntry
nil, // 649: tutorial.ResChampshipPreRank.RankListEntry
nil, // 650: tutorial.ResNotifyCard.CardEntry
nil, // 651: tutorial.ResNotifyCard.MasterEntry
nil, // 652: tutorial.ResMining.MapEntry
nil, // 653: tutorial.ReqMiningTake.MapEntry
nil, // 654: tutorial.ResActRed.RedEntry
nil, // 655: tutorial.ResItem.ItemEntry
nil, // 656: tutorial.ItemNotify.ItemEntry
nil, // 657: tutorial.ReqGuessColorTake.MapEntry
}
var file_Gameapi_proto_depIdxs = []int32{
577, // 0: tutorial.UpdateBaseItemInfo.mUpdateItem:type_name -> tutorial.UpdateBaseItemInfo.MUpdateItemEntry
578, // 1: tutorial.ResPlayerEmitUnlockData.mEmitUnlockData:type_name -> tutorial.ResPlayerEmitUnlockData.MEmitUnlockDataEntry
579, // 2: tutorial.NotifyDailyRenewEmitUnlock.mEmitUnlockData:type_name -> tutorial.NotifyDailyRenewEmitUnlock.MEmitUnlockDataEntry
580, // 3: tutorial.UpdatePlayerEmitUnlockData.mEmitUnlockData:type_name -> tutorial.UpdatePlayerEmitUnlockData.MEmitUnlockDataEntry
581, // 4: tutorial.ResPlayerPackData.mPackData:type_name -> tutorial.ResPlayerPackData.MPackDataEntry
582, // 5: tutorial.UpdatePlayerPackData.mPackData:type_name -> tutorial.UpdatePlayerPackData.MPackDataEntry
583, // 6: tutorial.ResPlayerChessData.mChessData:type_name -> tutorial.ResPlayerChessData.MChessDataEntry
584, // 0: tutorial.UpdateBaseItemInfo.mUpdateItem:type_name -> tutorial.UpdateBaseItemInfo.MUpdateItemEntry
585, // 1: tutorial.ResPlayerEmitUnlockData.mEmitUnlockData:type_name -> tutorial.ResPlayerEmitUnlockData.MEmitUnlockDataEntry
586, // 2: tutorial.NotifyDailyRenewEmitUnlock.mEmitUnlockData:type_name -> tutorial.NotifyDailyRenewEmitUnlock.MEmitUnlockDataEntry
587, // 3: tutorial.UpdatePlayerEmitUnlockData.mEmitUnlockData:type_name -> tutorial.UpdatePlayerEmitUnlockData.MEmitUnlockDataEntry
588, // 4: tutorial.ResPlayerPackData.mPackData:type_name -> tutorial.ResPlayerPackData.MPackDataEntry
589, // 5: tutorial.UpdatePlayerPackData.mPackData:type_name -> tutorial.UpdatePlayerPackData.MPackDataEntry
590, // 6: tutorial.ResPlayerChessData.mChessData:type_name -> tutorial.ResPlayerChessData.MChessDataEntry
37, // 7: tutorial.ResPlayerChessInfo.ChessBag:type_name -> tutorial.ChessBag
0, // 8: tutorial.ChessHandle.type:type_name -> tutorial.HANDLE_TYPE
584, // 9: tutorial.UpdatePlayerChessData.mChessData:type_name -> tutorial.UpdatePlayerChessData.MChessDataEntry
591, // 9: tutorial.UpdatePlayerChessData.mChessData:type_name -> tutorial.UpdatePlayerChessData.MChessDataEntry
30, // 10: tutorial.UpdatePlayerChessData.mChessHandle:type_name -> tutorial.ChessHandle
1, // 11: tutorial.ResUpdatePlayerChessData.code:type_name -> tutorial.RES_CODE
585, // 12: tutorial.ReqGetChessFromBuff.mChessData:type_name -> tutorial.ReqGetChessFromBuff.MChessDataEntry
592, // 12: tutorial.ReqGetChessFromBuff.mChessData:type_name -> tutorial.ReqGetChessFromBuff.MChessDataEntry
1, // 13: tutorial.ResGetChessFromBuff.code:type_name -> tutorial.RES_CODE
586, // 14: tutorial.ReqChessEx.mChessData:type_name -> tutorial.ReqChessEx.MChessDataEntry
593, // 14: tutorial.ReqChessEx.mChessData:type_name -> tutorial.ReqChessEx.MChessDataEntry
1, // 15: tutorial.ResChessEx.code:type_name -> tutorial.RES_CODE
38, // 16: tutorial.ChessBag.ChessBagGrids:type_name -> tutorial.ChessBagGrid
587, // 17: tutorial.ReqPutChessInBag.mChessData:type_name -> tutorial.ReqPutChessInBag.MChessDataEntry
594, // 17: tutorial.ReqPutChessInBag.mChessData:type_name -> tutorial.ReqPutChessInBag.MChessDataEntry
1, // 18: tutorial.ResPutChessInBag.code:type_name -> tutorial.RES_CODE
588, // 19: tutorial.ReqTakeChessOutBag.mChessData:type_name -> tutorial.ReqTakeChessOutBag.MChessDataEntry
595, // 19: tutorial.ReqTakeChessOutBag.mChessData:type_name -> tutorial.ReqTakeChessOutBag.MChessDataEntry
1, // 20: tutorial.ResTakeChessOutBag.code:type_name -> tutorial.RES_CODE
1, // 21: tutorial.ResBuyChessBagGrid.code:type_name -> tutorial.RES_CODE
589, // 22: tutorial.ResPlayerGiftData.mGiftData:type_name -> tutorial.ResPlayerGiftData.MGiftDataEntry
590, // 23: tutorial.UpdatePlayerGiftData.mGiftData:type_name -> tutorial.UpdatePlayerGiftData.MGiftDataEntry
591, // 24: tutorial.ResPlayerOrderData.mOrderData:type_name -> tutorial.ResPlayerOrderData.MOrderDataEntry
592, // 25: tutorial.UpdatePlayerOrderData.mOrderData:type_name -> tutorial.UpdatePlayerOrderData.MOrderDataEntry
593, // 26: tutorial.ResChessColorData.mChessColorData:type_name -> tutorial.ResChessColorData.MChessColorDataEntry
594, // 27: tutorial.UpdateChessColorData.mChessColorData:type_name -> tutorial.UpdateChessColorData.MChessColorDataEntry
595, // 28: tutorial.ResEmitMergeMap.mEmitMergeData:type_name -> tutorial.ResEmitMergeMap.MEmitMergeDataEntry
596, // 29: tutorial.UpdateEmitMergeMap.mEmitMergeData:type_name -> tutorial.UpdateEmitMergeMap.MEmitMergeDataEntry
597, // 30: tutorial.ResEmitCountMap.mEmitCountData:type_name -> tutorial.ResEmitCountMap.MEmitCountDataEntry
598, // 31: tutorial.UpdateEmitCountMap.mEmitCountData:type_name -> tutorial.UpdateEmitCountMap.MEmitCountDataEntry
599, // 32: tutorial.ResEmitCDStartData.mEmitCDData:type_name -> tutorial.ResEmitCDStartData.MEmitCDDataEntry
600, // 33: tutorial.NotifyInitEmitCDTimeData.mEmitCDData:type_name -> tutorial.NotifyInitEmitCDTimeData.MEmitCDDataEntry
601, // 34: tutorial.NotifyEmitCDTimeEndData.mEmitCDData:type_name -> tutorial.NotifyEmitCDTimeEndData.MEmitCDDataEntry
602, // 35: tutorial.ResDecorateData.mDecorateData:type_name -> tutorial.ResDecorateData.MDecorateDataEntry
603, // 36: tutorial.UpdateDecorateData.mDecorateData:type_name -> tutorial.UpdateDecorateData.MDecorateDataEntry
604, // 37: tutorial.ResShopData.mShopTimeBuyData:type_name -> tutorial.ResShopData.MShopTimeBuyDataEntry
605, // 38: tutorial.ResShopData.mShopSaleBuyData:type_name -> tutorial.ResShopData.MShopSaleBuyDataEntry
606, // 39: tutorial.ResShopData.mPackBuyData:type_name -> tutorial.ResShopData.MPackBuyDataEntry
607, // 40: tutorial.ResShopData.mSpecialOfferBuyData:type_name -> tutorial.ResShopData.MSpecialOfferBuyDataEntry
608, // 41: tutorial.ResShopData.mUISpecialOfferBuyData:type_name -> tutorial.ResShopData.MUISpecialOfferBuyDataEntry
609, // 42: tutorial.ResShopData.mFreePackBuyData:type_name -> tutorial.ResShopData.MFreePackBuyDataEntry
610, // 43: tutorial.ResShopData.mDiamondFirstBuyData:type_name -> tutorial.ResShopData.MDiamondFirstBuyDataEntry
611, // 44: tutorial.NotifyShopStatusChange.mShopTimeBuyData:type_name -> tutorial.NotifyShopStatusChange.MShopTimeBuyDataEntry
612, // 45: tutorial.ResShopBuy.mShopTimeBuyData:type_name -> tutorial.ResShopBuy.MShopTimeBuyDataEntry
613, // 46: tutorial.ReqRenewItemBuyCnt.mShopData:type_name -> tutorial.ReqRenewItemBuyCnt.MShopDataEntry
614, // 47: tutorial.ResRenewItemBuyCnt.mShopTimeBuyData:type_name -> tutorial.ResRenewItemBuyCnt.MShopTimeBuyDataEntry
596, // 22: tutorial.ResPlayerGiftData.mGiftData:type_name -> tutorial.ResPlayerGiftData.MGiftDataEntry
597, // 23: tutorial.UpdatePlayerGiftData.mGiftData:type_name -> tutorial.UpdatePlayerGiftData.MGiftDataEntry
598, // 24: tutorial.ResPlayerOrderData.mOrderData:type_name -> tutorial.ResPlayerOrderData.MOrderDataEntry
599, // 25: tutorial.UpdatePlayerOrderData.mOrderData:type_name -> tutorial.UpdatePlayerOrderData.MOrderDataEntry
600, // 26: tutorial.ResChessColorData.mChessColorData:type_name -> tutorial.ResChessColorData.MChessColorDataEntry
601, // 27: tutorial.UpdateChessColorData.mChessColorData:type_name -> tutorial.UpdateChessColorData.MChessColorDataEntry
602, // 28: tutorial.ResEmitMergeMap.mEmitMergeData:type_name -> tutorial.ResEmitMergeMap.MEmitMergeDataEntry
603, // 29: tutorial.UpdateEmitMergeMap.mEmitMergeData:type_name -> tutorial.UpdateEmitMergeMap.MEmitMergeDataEntry
604, // 30: tutorial.ResEmitCountMap.mEmitCountData:type_name -> tutorial.ResEmitCountMap.MEmitCountDataEntry
605, // 31: tutorial.UpdateEmitCountMap.mEmitCountData:type_name -> tutorial.UpdateEmitCountMap.MEmitCountDataEntry
606, // 32: tutorial.ResEmitCDStartData.mEmitCDData:type_name -> tutorial.ResEmitCDStartData.MEmitCDDataEntry
607, // 33: tutorial.NotifyInitEmitCDTimeData.mEmitCDData:type_name -> tutorial.NotifyInitEmitCDTimeData.MEmitCDDataEntry
608, // 34: tutorial.NotifyEmitCDTimeEndData.mEmitCDData:type_name -> tutorial.NotifyEmitCDTimeEndData.MEmitCDDataEntry
609, // 35: tutorial.ResDecorateData.mDecorateData:type_name -> tutorial.ResDecorateData.MDecorateDataEntry
610, // 36: tutorial.UpdateDecorateData.mDecorateData:type_name -> tutorial.UpdateDecorateData.MDecorateDataEntry
611, // 37: tutorial.ResShopData.mShopTimeBuyData:type_name -> tutorial.ResShopData.MShopTimeBuyDataEntry
612, // 38: tutorial.ResShopData.mShopSaleBuyData:type_name -> tutorial.ResShopData.MShopSaleBuyDataEntry
613, // 39: tutorial.ResShopData.mPackBuyData:type_name -> tutorial.ResShopData.MPackBuyDataEntry
614, // 40: tutorial.ResShopData.mSpecialOfferBuyData:type_name -> tutorial.ResShopData.MSpecialOfferBuyDataEntry
615, // 41: tutorial.ResShopData.mUISpecialOfferBuyData:type_name -> tutorial.ResShopData.MUISpecialOfferBuyDataEntry
616, // 42: tutorial.ResShopData.mFreePackBuyData:type_name -> tutorial.ResShopData.MFreePackBuyDataEntry
617, // 43: tutorial.ResShopData.mDiamondFirstBuyData:type_name -> tutorial.ResShopData.MDiamondFirstBuyDataEntry
618, // 44: tutorial.NotifyShopStatusChange.mShopTimeBuyData:type_name -> tutorial.NotifyShopStatusChange.MShopTimeBuyDataEntry
619, // 45: tutorial.ResShopBuy.mShopTimeBuyData:type_name -> tutorial.ResShopBuy.MShopTimeBuyDataEntry
620, // 46: tutorial.ReqRenewItemBuyCnt.mShopData:type_name -> tutorial.ReqRenewItemBuyCnt.MShopDataEntry
621, // 47: tutorial.ResRenewItemBuyCnt.mShopTimeBuyData:type_name -> tutorial.ResRenewItemBuyCnt.MShopTimeBuyDataEntry
89, // 48: tutorial.ResBriefEmailData.mEmailList:type_name -> tutorial.BriefEmailStruct
89, // 49: tutorial.NotifyNewBriefEmailData.mEmailList:type_name -> tutorial.BriefEmailStruct
99, // 50: tutorial.NotifyLimitedTimeActiveData.mActiveList:type_name -> tutorial.LimitedTimeActiveStruct
100, // 51: tutorial.NotifyLimitedTimeActiveEnd.mActiveList:type_name -> tutorial.LimitedTimeEndStruct
154, // 52: tutorial.CategoryIllustratedData.Items:type_name -> tutorial.SingleIllustratedItem
155, // 53: tutorial.ResIllustratedInfo.Datas:type_name -> tutorial.CategoryIllustratedData
615, // 54: tutorial.ResKeyValueData.KeyValues:type_name -> tutorial.ResKeyValueData.KeyValuesEntry
616, // 55: tutorial.UpdateKeyValueData.KeyValues:type_name -> tutorial.UpdateKeyValueData.KeyValuesEntry
622, // 54: tutorial.ResKeyValueData.KeyValues:type_name -> tutorial.ResKeyValueData.KeyValuesEntry
623, // 55: tutorial.UpdateKeyValueData.KeyValues:type_name -> tutorial.UpdateKeyValueData.KeyValuesEntry
203, // 56: tutorial.ResChampshipData.GroupRankDataList:type_name -> tutorial.ChampshipsPlayerInfo
203, // 57: tutorial.NotifyNewChampshipRank.GroupRankDataList:type_name -> tutorial.ChampshipsPlayerInfo
203, // 58: tutorial.NotifyUpdateChampshipRank.GroupRankDataList:type_name -> tutorial.ChampshipsPlayerInfo
203, // 59: tutorial.ResChampshipAddScore.GroupRankDataList:type_name -> tutorial.ChampshipsPlayerInfo
203, // 60: tutorial.ResChampshipAddTime.GroupRankDataList:type_name -> tutorial.ChampshipsPlayerInfo
217, // 61: tutorial.ResPlayerPayData.PlayerPayData:type_name -> tutorial.PlayerPayItem
617, // 62: tutorial.ResAdPackData.PackData:type_name -> tutorial.ResAdPackData.PackDataEntry
618, // 63: tutorial.NotifyAdPackData.PackData:type_name -> tutorial.NotifyAdPackData.PackDataEntry
619, // 64: tutorial.ResWatchAdPack.PackData:type_name -> tutorial.ResWatchAdPack.PackDataEntry
624, // 62: tutorial.ResAdPackData.PackData:type_name -> tutorial.ResAdPackData.PackDataEntry
625, // 63: tutorial.NotifyAdPackData.PackData:type_name -> tutorial.NotifyAdPackData.PackDataEntry
626, // 64: tutorial.ResWatchAdPack.PackData:type_name -> tutorial.ResWatchAdPack.PackDataEntry
262, // 65: tutorial.ResFriendData.FriendInfos:type_name -> tutorial.FriendInfo
262, // 66: tutorial.AddFriendData.Finfo:type_name -> tutorial.FriendInfo
262, // 67: tutorial.ResWillPlayerDetail.PlayerInfos:type_name -> tutorial.FriendInfo
@ -37563,21 +38006,21 @@ var file_Gameapi_proto_depIdxs = []int32{
341, // 109: tutorial.ResFriendEventData.MFriendEventData:type_name -> tutorial.FriendEventData
341, // 110: tutorial.NotifyNewFriendEvent.NewEvent:type_name -> tutorial.FriendEventData
257, // 111: tutorial.PetHomeInterActST.BriefProfile:type_name -> tutorial.ResPlayerBriefProfileData
620, // 112: tutorial.ResPetHomeData.SelectDecorateMap:type_name -> tutorial.ResPetHomeData.SelectDecorateMapEntry
621, // 113: tutorial.ReqSaveSelectDecorate.SelectDecorateMap:type_name -> tutorial.ReqSaveSelectDecorate.SelectDecorateMapEntry
622, // 114: tutorial.ResSaveSelectDecorate.SelectDecorateMap:type_name -> tutorial.ResSaveSelectDecorate.SelectDecorateMapEntry
627, // 112: tutorial.ResPetHomeData.SelectDecorateMap:type_name -> tutorial.ResPetHomeData.SelectDecorateMapEntry
628, // 113: tutorial.ReqSaveSelectDecorate.SelectDecorateMap:type_name -> tutorial.ReqSaveSelectDecorate.SelectDecorateMapEntry
629, // 114: tutorial.ResSaveSelectDecorate.SelectDecorateMap:type_name -> tutorial.ResSaveSelectDecorate.SelectDecorateMapEntry
257, // 115: tutorial.ResOpenOtherPetHome.BriefProfile:type_name -> tutorial.ResPlayerBriefProfileData
623, // 116: tutorial.ResOpenOtherPetHome.SelectDecorateMap:type_name -> tutorial.ResOpenOtherPetHome.SelectDecorateMapEntry
630, // 116: tutorial.ResOpenOtherPetHome.SelectDecorateMap:type_name -> tutorial.ResOpenOtherPetHome.SelectDecorateMapEntry
349, // 117: tutorial.ResPetHomeInterActST.mPetHomeInterActSTs:type_name -> tutorial.PetHomeInterActST
257, // 118: tutorial.ResShiftVisitPet.BriefProfile:type_name -> tutorial.ResPlayerBriefProfileData
624, // 119: tutorial.ResShiftVisitPet.SelectDecorateMap:type_name -> tutorial.ResShiftVisitPet.SelectDecorateMapEntry
631, // 119: tutorial.ResShiftVisitPet.SelectDecorateMap:type_name -> tutorial.ResShiftVisitPet.SelectDecorateMapEntry
372, // 120: tutorial.UseItemRequest.items:type_name -> tutorial.Item
371, // 121: tutorial.UseItemRequest.price:type_name -> tutorial.IntPack
625, // 122: tutorial.UseItemRequest.attrs:type_name -> tutorial.UseItemRequest.AttrsEntry
632, // 122: tutorial.UseItemRequest.attrs:type_name -> tutorial.UseItemRequest.AttrsEntry
3, // 123: tutorial.UseItemResponse.code:type_name -> tutorial.UseItemResponse.CODE
372, // 124: tutorial.UseItemResponse.items:type_name -> tutorial.Item
371, // 125: tutorial.UseItemResponse.price:type_name -> tutorial.IntPack
626, // 126: tutorial.UseItemResponse.attrs:type_name -> tutorial.UseItemResponse.AttrsEntry
633, // 126: tutorial.UseItemResponse.attrs:type_name -> tutorial.UseItemResponse.AttrsEntry
1, // 127: tutorial.ResSetEnergyMul.ResultCode:type_name -> tutorial.RES_CODE
454, // 128: tutorial.UserInfo.AvatarList:type_name -> tutorial.AvatarInfo
450, // 129: tutorial.UserInfo.FaceList:type_name -> tutorial.FaceInfo
@ -37585,13 +38028,13 @@ var file_Gameapi_proto_depIdxs = []int32{
1, // 131: tutorial.ResBuyEnergy.Code:type_name -> tutorial.RES_CODE
386, // 132: tutorial.Handbook.Handbooks:type_name -> tutorial.HandbookInfo
1, // 133: tutorial.ResGetHandbookReward.Code:type_name -> tutorial.RES_CODE
627, // 134: tutorial.ReqRewardOrder.mChessData:type_name -> tutorial.ReqRewardOrder.MChessDataEntry
634, // 134: tutorial.ReqRewardOrder.mChessData:type_name -> tutorial.ReqRewardOrder.MChessDataEntry
1, // 135: tutorial.ResRewardOrder.Code:type_name -> tutorial.RES_CODE
391, // 136: tutorial.ResOrderList.OrderList:type_name -> tutorial.Order
1, // 137: tutorial.ResDecorate.Code:type_name -> tutorial.RES_CODE
1, // 138: tutorial.ResDecorateAll.Code:type_name -> tutorial.RES_CODE
399, // 139: tutorial.ResCardInfo.CardList:type_name -> tutorial.Card
628, // 140: tutorial.ResCardInfo.AllCard:type_name -> tutorial.ResCardInfo.AllCardEntry
635, // 140: tutorial.ResCardInfo.AllCard:type_name -> tutorial.ResCardInfo.AllCardEntry
1, // 141: tutorial.ResMasterCard.Code:type_name -> tutorial.RES_CODE
1, // 142: tutorial.ResCardCollectReward.Code:type_name -> tutorial.RES_CODE
1, // 143: tutorial.ResExStarReward.Code:type_name -> tutorial.RES_CODE
@ -37607,11 +38050,11 @@ var file_Gameapi_proto_depIdxs = []int32{
1, // 153: tutorial.ResRefuseCardExchange.Code:type_name -> tutorial.RES_CODE
1, // 154: tutorial.ResGetFriendCard.Code:type_name -> tutorial.RES_CODE
1, // 155: tutorial.ResGuideReward.Code:type_name -> tutorial.RES_CODE
629, // 156: tutorial.ResGuildInfo.Reward:type_name -> tutorial.ResGuildInfo.RewardEntry
636, // 156: tutorial.ResGuildInfo.Reward:type_name -> tutorial.ResGuildInfo.RewardEntry
437, // 157: tutorial.ResItemPop.Items:type_name -> tutorial.ItemInfo
438, // 158: tutorial.ResItemPop.CardPacks:type_name -> tutorial.CardPack
630, // 159: tutorial.ResDailyTask.WeekReward:type_name -> tutorial.ResDailyTask.WeekRewardEntry
631, // 160: tutorial.ResDailyTask.DailyTask:type_name -> tutorial.ResDailyTask.DailyTaskEntry
637, // 159: tutorial.ResDailyTask.WeekReward:type_name -> tutorial.ResDailyTask.WeekRewardEntry
638, // 160: tutorial.ResDailyTask.DailyTask:type_name -> tutorial.ResDailyTask.DailyTaskEntry
437, // 161: tutorial.DailyWeek.Items:type_name -> tutorial.ItemInfo
442, // 162: tutorial.DailyTask.Progress:type_name -> tutorial.QuestProgress
437, // 163: tutorial.DailyTask.Items:type_name -> tutorial.ItemInfo
@ -37630,8 +38073,8 @@ var file_Gameapi_proto_depIdxs = []int32{
1, // 176: tutorial.ResGetSevenLoginReward.Code:type_name -> tutorial.RES_CODE
1, // 177: tutorial.ResGetMonthLoginReward.Code:type_name -> tutorial.RES_CODE
464, // 178: tutorial.ResActivity.ActiveList:type_name -> tutorial.ActivityInfo
632, // 179: tutorial.ResLimitEvent.LimitEventList:type_name -> tutorial.ResLimitEvent.LimitEventListEntry
633, // 180: tutorial.ResLimitEventProgress.ProgressReward:type_name -> tutorial.ResLimitEventProgress.ProgressRewardEntry
639, // 179: tutorial.ResLimitEvent.LimitEventList:type_name -> tutorial.ResLimitEvent.LimitEventListEntry
640, // 180: tutorial.ResLimitEventProgress.ProgressReward:type_name -> tutorial.ResLimitEventProgress.ProgressRewardEntry
1, // 181: tutorial.ResLimitEventReward.Code:type_name -> tutorial.RES_CODE
1, // 182: tutorial.ResSelectLimitEvent.Code:type_name -> tutorial.RES_CODE
1, // 183: tutorial.ResLimitSenceReward.Code:type_name -> tutorial.RES_CODE
@ -37640,7 +38083,7 @@ var file_Gameapi_proto_depIdxs = []int32{
481, // 186: tutorial.ResFriendLog.Player:type_name -> tutorial.ResPlayerSimple
483, // 187: tutorial.NotifyFriendLog.info:type_name -> tutorial.ResFriendLog
486, // 188: tutorial.NotifyFriendCard.Info:type_name -> tutorial.ResFriendCard
634, // 189: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry
641, // 189: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry
481, // 190: tutorial.ResFriendRecommend.List:type_name -> tutorial.ResPlayerSimple
1, // 191: tutorial.ResFriendIgnore.Code:type_name -> tutorial.RES_CODE
481, // 192: tutorial.ResFriendList.FriendList:type_name -> tutorial.ResPlayerSimple
@ -37654,54 +38097,58 @@ var file_Gameapi_proto_depIdxs = []int32{
481, // 200: tutorial.ResAgreeFriend.Player:type_name -> tutorial.ResPlayerSimple
1, // 201: tutorial.ResRefuseFriend.Code:type_name -> tutorial.RES_CODE
1, // 202: tutorial.ResDelFriend.Code:type_name -> tutorial.RES_CODE
635, // 203: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry
636, // 204: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry
642, // 203: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry
643, // 204: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry
437, // 205: tutorial.MailInfo.Items:type_name -> tutorial.ItemInfo
515, // 206: tutorial.MailNotify.Info:type_name -> tutorial.MailInfo
1, // 207: tutorial.ResReadMail.Code:type_name -> tutorial.RES_CODE
1, // 208: tutorial.ResGetMailReward.Code:type_name -> tutorial.RES_CODE
1, // 209: tutorial.ResDeleteMail.Code:type_name -> tutorial.RES_CODE
637, // 210: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry
638, // 211: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry
639, // 212: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry
644, // 210: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry
645, // 211: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry
646, // 212: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry
1, // 213: tutorial.ResFreeShop.Code:type_name -> tutorial.RES_CODE
1, // 214: tutorial.ResBuyChessShop.Code:type_name -> tutorial.RES_CODE
1, // 215: tutorial.ResRefreshChessShop.Code:type_name -> tutorial.RES_CODE
640, // 216: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry
647, // 216: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry
437, // 217: tutorial.ResEndlessInfo.Items:type_name -> tutorial.ItemInfo
1, // 218: tutorial.ResEndlessReward.Code:type_name -> tutorial.RES_CODE
1, // 219: tutorial.ResPiggyBankReward.Code:type_name -> tutorial.RES_CODE
1, // 220: tutorial.ResShippingOrder.Code:type_name -> tutorial.RES_CODE
1, // 221: tutorial.ResChampshipReward.Code:type_name -> tutorial.RES_CODE
1, // 222: tutorial.ResChampshipRankReward.Code:type_name -> tutorial.RES_CODE
641, // 223: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry
642, // 224: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry
643, // 225: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry
644, // 226: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry
648, // 223: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry
649, // 224: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry
650, // 225: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry
651, // 226: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry
1, // 227: tutorial.ResSetFacebookUrl.Code:type_name -> tutorial.RES_CODE
645, // 228: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry
646, // 229: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry
652, // 228: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry
653, // 229: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry
1, // 230: tutorial.ResMiningTake.Code:type_name -> tutorial.RES_CODE
1, // 231: tutorial.ResMiningReward.Code:type_name -> tutorial.RES_CODE
647, // 232: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry
654, // 232: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry
464, // 233: tutorial.ActivityNotify.Info:type_name -> tutorial.ActivityInfo
648, // 234: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry
649, // 235: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry
440, // 236: tutorial.ResDailyTask.WeekRewardEntry.value:type_name -> tutorial.DailyWeek
441, // 237: tutorial.ResDailyTask.DailyTaskEntry.value:type_name -> tutorial.DailyTask
472, // 238: tutorial.ResLimitEvent.LimitEventListEntry.value:type_name -> tutorial.LimitEvent
481, // 239: tutorial.ResRank.RankListEntry.value:type_name -> tutorial.ResPlayerSimple
515, // 240: tutorial.ResMailList.MailListEntry.value:type_name -> tutorial.MailInfo
524, // 241: tutorial.ResCharge.SpecialShopEntry.value:type_name -> tutorial.ResSpecialShop
525, // 242: tutorial.ResCharge.ChessShopEntry.value:type_name -> tutorial.ResChessShop
534, // 243: tutorial.ResEndless.EndlessListEntry.value:type_name -> tutorial.ResEndlessInfo
482, // 244: tutorial.ResChampshipRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank
482, // 245: tutorial.ResChampshipPreRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank
246, // [246:246] is the sub-list for method output_type
246, // [246:246] is the sub-list for method input_type
246, // [246:246] is the sub-list for extension type_name
246, // [246:246] is the sub-list for extension extendee
0, // [0:246] is the sub-list for field type_name
655, // 234: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry
656, // 235: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry
579, // 236: tutorial.ResGuessColor.Opponent:type_name -> tutorial.opponent
657, // 237: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.ReqGuessColorTake.MapEntry
1, // 238: tutorial.ResGuessColorTake.Code:type_name -> tutorial.RES_CODE
1, // 239: tutorial.ResGuessColorReward.Code:type_name -> tutorial.RES_CODE
440, // 240: tutorial.ResDailyTask.WeekRewardEntry.value:type_name -> tutorial.DailyWeek
441, // 241: tutorial.ResDailyTask.DailyTaskEntry.value:type_name -> tutorial.DailyTask
472, // 242: tutorial.ResLimitEvent.LimitEventListEntry.value:type_name -> tutorial.LimitEvent
481, // 243: tutorial.ResRank.RankListEntry.value:type_name -> tutorial.ResPlayerSimple
515, // 244: tutorial.ResMailList.MailListEntry.value:type_name -> tutorial.MailInfo
524, // 245: tutorial.ResCharge.SpecialShopEntry.value:type_name -> tutorial.ResSpecialShop
525, // 246: tutorial.ResCharge.ChessShopEntry.value:type_name -> tutorial.ResChessShop
534, // 247: tutorial.ResEndless.EndlessListEntry.value:type_name -> tutorial.ResEndlessInfo
482, // 248: tutorial.ResChampshipRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank
482, // 249: tutorial.ResChampshipPreRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank
250, // [250:250] is the sub-list for method output_type
250, // [250:250] is the sub-list for method input_type
250, // [250:250] is the sub-list for extension type_name
250, // [250:250] is the sub-list for extension extendee
0, // [0:250] is the sub-list for field type_name
}
func init() { file_Gameapi_proto_init() }
@ -37715,7 +38162,7 @@ func file_Gameapi_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_Gameapi_proto_rawDesc,
NumEnums: 4,
NumMessages: 646,
NumMessages: 654,
NumExtensions: 0,
NumServices: 0,
},