This commit is contained in:
liwei1dao 2023-10-30 18:10:57 +08:00
commit 309d03df18
7 changed files with 196 additions and 126 deletions

View File

@ -15,22 +15,6 @@
"detail": 1, "detail": 1,
"weight": 0 "weight": 0
}, },
{
"key": 2,
"open": 999999,
"icon": "",
"name": {
"key": "consume_consume_playingmethod_name_02",
"text": "3分模式"
},
"txt": {
"key": "consume_consume_playingmethod_txt_02",
"text": "额外新增3分方块独立于普通6色方块之外消除后可以获得3分。"
},
"type": 2,
"detail": 1,
"weight": 2000
},
{ {
"key": 3, "key": 3,
"open": 999999, "open": 999999,
@ -62,53 +46,5 @@
"type": 2, "type": 2,
"detail": 1, "detail": 1,
"weight": 2000 "weight": 2000
},
{
"key": 5,
"open": 999999,
"icon": "",
"name": {
"key": "consume_consume_playingmethod_name_05",
"text": "锣鼓喧天"
},
"txt": {
"key": "consume_consume_playingmethod_txt_05",
"text": "中央格子被改造为锣鼓,消除锣鼓内的方块会获得额外积分,每次操作如果没有触发锣鼓内的方块消除,积分可以被累计。"
},
"type": 2,
"detail": 2,
"weight": 2000
},
{
"key": 6,
"open": 999999,
"icon": "",
"name": {
"key": "consume_consume_playingmethod_name_06",
"text": "电闪雷鸣"
},
"txt": {
"key": "consume_consume_playingmethod_txt_06",
"text": "每名玩家行动开始会随机生成2个雷电格子消除雷电格子内的方块会获得一次行动步骤。"
},
"type": 2,
"detail": 2,
"weight": 2000
},
{
"key": 7,
"open": 999999,
"icon": "",
"name": {
"key": "consume_consume_playingmethod_name_07",
"text": "飞天舞女"
},
"txt": {
"key": "consume_consume_playingmethod_txt_07",
"text": "每名玩家行动开始会随机生成2个飞天舞女格子消除飞天舞女格子内的方块会消除周围所有方块。"
},
"type": 2,
"detail": 2,
"weight": 2000
} }
] ]

View File

@ -6,8 +6,11 @@
"text": "豚鼠灵农民" "text": "豚鼠灵农民"
}, },
"monster_skillid": 0, "monster_skillid": 0,
"monster_type": 0,
"model": "Spine/dalong.prefab", "model": "Spine/dalong.prefab",
"multiple": 1, "multiple": 1,
"width": 1,
"height": 1,
"hp": 100, "hp": 100,
"dis": 1, "dis": 1,
"atk": 1, "atk": 1,
@ -22,8 +25,11 @@
"text": "豚鼠灵冲车" "text": "豚鼠灵冲车"
}, },
"monster_skillid": 0, "monster_skillid": 0,
"monster_type": 0,
"model": "Spine/dalong.prefab", "model": "Spine/dalong.prefab",
"multiple": 1, "multiple": 1,
"width": 1,
"height": 1,
"hp": 500, "hp": 500,
"dis": 1, "dis": 1,
"atk": 3, "atk": 3,
@ -38,8 +44,11 @@
"text": "豚鼠灵敢死队" "text": "豚鼠灵敢死队"
}, },
"monster_skillid": 2011, "monster_skillid": 2011,
"monster_type": 0,
"model": "Spine/dalong.prefab", "model": "Spine/dalong.prefab",
"multiple": 1, "multiple": 1,
"width": 1,
"height": 1.5,
"hp": 70, "hp": 70,
"dis": 1, "dis": 1,
"atk": 1, "atk": 1,
@ -54,8 +63,11 @@
"text": "豚鼠灵牧师" "text": "豚鼠灵牧师"
}, },
"monster_skillid": 2021, "monster_skillid": 2021,
"monster_type": 0,
"model": "Spine/dalong.prefab", "model": "Spine/dalong.prefab",
"multiple": 1, "multiple": 1,
"width": 1,
"height": 1.5,
"hp": 100, "hp": 100,
"dis": 10, "dis": 10,
"atk": 1, "atk": 1,
@ -70,8 +82,11 @@
"text": "豚鼠灵高阶牧师" "text": "豚鼠灵高阶牧师"
}, },
"monster_skillid": 2022, "monster_skillid": 2022,
"monster_type": 0,
"model": "Spine/dalong.prefab", "model": "Spine/dalong.prefab",
"multiple": 1, "multiple": 1,
"width": 1,
"height": 2,
"hp": 200, "hp": 200,
"dis": 10, "dis": 10,
"atk": 1, "atk": 1,
@ -86,8 +101,11 @@
"text": "豚鼠灵骑士" "text": "豚鼠灵骑士"
}, },
"monster_skillid": 2031, "monster_skillid": 2031,
"monster_type": 0,
"model": "Spine/dalong.prefab", "model": "Spine/dalong.prefab",
"multiple": 1, "multiple": 1,
"width": 1,
"height": 2,
"hp": 300, "hp": 300,
"dis": 1, "dis": 1,
"atk": 1, "atk": 1,
@ -102,8 +120,11 @@
"text": "变异的巨型豚鼠" "text": "变异的巨型豚鼠"
}, },
"monster_skillid": 3011, "monster_skillid": 3011,
"monster_type": 1,
"model": "Spine/dalong.prefab", "model": "Spine/dalong.prefab",
"multiple": 1, "multiple": 1,
"width": 3,
"height": 3,
"hp": 3000, "hp": 3000,
"dis": 1, "dis": 1,
"atk": 2, "atk": 2,

View File

@ -31,13 +31,16 @@ func (this *gameMgrComp) Init(service core.IService, module core.IModule, comp c
// 通过房间ID 加入房间 // 通过房间ID 加入房间
func (this *gameMgrComp) JoinMasterRoom(roomid string, p *pb.PlayerData) (room *Room, err error) { func (this *gameMgrComp) JoinMasterRoom(roomid string, p *pb.PlayerData) (room *Room, err error) {
var (
ok bool
)
this.lock.Lock() this.lock.Lock()
if _, ok := this.rooms[roomid]; ok { room, ok = this.rooms[roomid]
if ok {
room, err = room.JoinRoom(this.module, p)
} else {
err = errors.New("房间不存在") err = errors.New("房间不存在")
return
} }
room, err = this.rooms[roomid].JoinRoom(this.module, p)
this.lock.Unlock() this.lock.Unlock()
return return
} }

View File

@ -5,7 +5,6 @@ import (
"fmt" "fmt"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/timewheel" "go_dreamfactory/lego/sys/timewheel"
"go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"time" "time"
@ -22,7 +21,6 @@ const (
//游戏房间 //游戏房间
type Room struct { type Room struct {
modules.ModuleBase
Id string // 房间id Id string // 房间id
szSession []comm.IUserSession szSession []comm.IUserSession
player1 *pb.PlayerData // 玩家1 player1 *pb.PlayerData // 玩家1
@ -37,7 +35,7 @@ type Room struct {
rd1 bool // 玩家1 是否准备 rd1 bool // 玩家1 是否准备
rd2 bool // 玩家2 是否准备 rd2 bool // 玩家2 是否准备
Status int32 //房间游戏状态 0未开始 1 已开始 2 已结束 Status int32 //房间游戏状态 0未开始 1 已开始 2 已结束
bCreate bool // 是否是创建的房间 RoomType int32 // 房间类型 1 是好友创房
} }
func (this *Room) operateTimeOut(task *timewheel.Task, args ...interface{}) { func (this *Room) operateTimeOut(task *timewheel.Task, args ...interface{}) {
@ -78,7 +76,7 @@ func (this *Room) operateTimeOut(task *timewheel.Task, args ...interface{}) {
Curid: 0, Curid: 0,
Targetid: 0, Targetid: 0,
}, this.szSession...); err != nil { }, this.szSession...); err != nil {
this.Errorln(err) this.module.Errorln(err)
} }
// 变更权限 // 变更权限
this.curPower = this.NexPower this.curPower = this.NexPower
@ -111,9 +109,7 @@ func (this *Room) InitRoom(module *Entertainment, p1 *pb.PlayerData, p2 *pb.Play
} }
} }
this.MaxRound = module.ModuleTools.GetGlobalConf().ConsumeRounds this.MaxRound = module.ModuleTools.GetGlobalConf().ConsumeRounds
room = &Room{ room = &Room{
ModuleBase: modules.ModuleBase{},
Id: primitive.NewObjectID().Hex(), Id: primitive.NewObjectID().Hex(),
szSession: this.szSession, szSession: this.szSession,
player1: p1, player1: p1,
@ -131,7 +127,7 @@ func (this *Room) InitRoom(module *Entertainment, p1 *pb.PlayerData, p2 *pb.Play
User1: room.player1, User1: room.player1,
User2: room.player2, User2: room.player2,
}, this.szSession...); err != nil { }, this.szSession...); err != nil {
this.Errorln(err) this.module.Errorln(err)
} }
return room return room
} }
@ -182,7 +178,7 @@ func (this *Room) AiOperator() {
Curid: oid1, Curid: oid1,
Targetid: oid2, Targetid: oid2,
}, this.szSession...); err != nil { }, this.szSession...); err != nil {
this.Errorln(err) this.module.Errorln(err)
} }
if this.round > this.MaxRound { // 游戏结束 if this.round > this.MaxRound { // 游戏结束
@ -303,7 +299,7 @@ func (this *Room) ReceiveMessage(session comm.IUserSession, stype string, msg pr
Curid: oid1, Curid: oid1,
Targetid: oid2, Targetid: oid2,
}, this.szSession...); err != nil { }, this.szSession...); err != nil {
this.Errorln(err) this.module.Errorln(err)
} }
return return
} }
@ -396,7 +392,7 @@ func (this *Room) ReceiveMessage(session comm.IUserSession, stype string, msg pr
Curid: oid1, Curid: oid1,
Targetid: oid2, Targetid: oid2,
}, this.szSession...); err != nil { }, this.szSession...); err != nil {
this.Errorln(err) this.module.Errorln(err)
} }
if this.round > this.MaxRound { // 游戏结束 if this.round > this.MaxRound { // 游戏结束
if this.player1.Score == this.player2.Score { if this.player1.Score == this.player2.Score {
@ -425,7 +421,14 @@ func (this *Room) ReceiveMessage(session comm.IUserSession, stype string, msg pr
} else if this.player2.Userinfo.Uid == session.GetUserId() { } else if this.player2.Userinfo.Uid == session.GetUserId() {
this.rd2 = true this.rd2 = true
} }
this.module.Debugf("match user1ready:%v,ready2:%v", this.rd1, this.rd2) if this.player1.Userinfo.Uid != session.GetUserId() || this.RoomType != 1 { // 房主
if err := this.module.SendMsgSyncToSession(string(this.module.GetType()), "gameready", &pb.EntertainGameReadyPush{
P1Ready: this.rd1,
P2Ready: this.rd2,
}, this.szSession...); err != nil {
this.module.Errorln(err)
}
}
if this.rd1 && this.rd2 { // 两个玩家都准备好了 那么就开始游戏 if this.rd1 && this.rd2 { // 两个玩家都准备好了 那么就开始游戏
bStartGame = true bStartGame = true
} }
@ -440,7 +443,7 @@ func (this *Room) ReceiveMessage(session comm.IUserSession, stype string, msg pr
this.Status = 1 this.Status = 1
this.round = 1 this.round = 1
this.MaxRound = this.module.ModuleTools.GetGlobalConf().ConsumeRounds
if err := this.module.SendMsgSyncToSession(string(this.module.GetType()), "startgame", &pb.EntertainStartGamePush{ if err := this.module.SendMsgSyncToSession(string(this.module.GetType()), "startgame", &pb.EntertainStartGamePush{
User1: this.player1, User1: this.player1,
User2: this.player2, User2: this.player2,
@ -450,7 +453,7 @@ func (this *Room) ReceiveMessage(session comm.IUserSession, stype string, msg pr
Roomid: this.Id, // 房间ID Roomid: this.Id, // 房间ID
Playtype: list[comm.GetRandW(weight)].Key, // 通过权重随机一个玩法 Playtype: list[comm.GetRandW(weight)].Key, // 通过权重随机一个玩法
}, this.szSession...); err != nil { }, this.szSession...); err != nil {
this.Errorln(err) this.module.Errorln(err)
} }
this.operatetimer = timewheel.Add(time.Second*MaxTime, this.operateTimeOut) this.operatetimer = timewheel.Add(time.Second*MaxTime, this.operateTimeOut)
} }
@ -470,10 +473,26 @@ func (this *Room) ReceiveMessage(session comm.IUserSession, stype string, msg pr
User2: this.player2, User2: this.player2,
}) })
case "dissolve": // 房主解散房间 case "dissolve": // 房主解散房间
req := msg.(*pb.EntertainDissolveRoomReq)
if this.player1.Userinfo.Uid != req.Roomid {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_EntertainNotMaster, // 不是房主
Title: pb.ErrorCode_EntertainNotMaster.ToString(),
}
return
}
// 游戏中不允许解散
if this.Status == 1 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_EntertainDissolveFailed, // 游戏中不能解散
Title: pb.ErrorCode_EntertainDissolveFailed.ToString(),
}
return
}
if err := this.module.SendMsgSyncToSession(string(this.module.GetType()), "dissolvemasterroom", &pb.EntertainDissolveMasterRoomPush{ if err := this.module.SendMsgSyncToSession(string(this.module.GetType()), "dissolvemasterroom", &pb.EntertainDissolveMasterRoomPush{
Roomid: this.Id, Roomid: this.Id,
}, this.szSession...); err != nil { }, this.szSession...); err != nil {
this.Errorln(err) this.module.Errorln(err)
} }
} }
@ -566,6 +585,9 @@ func (this *Room) JoinRoom(module *Entertainment, p *pb.PlayerData) (room *Room,
this.szSession = append(this.szSession, s1.Clone()) this.szSession = append(this.szSession, s1.Clone())
} }
this.Id = p.Userinfo.Uid // 房主ID 作为房间id this.Id = p.Userinfo.Uid // 房主ID 作为房间id
this.RoomType = 1
this.MaxRound = this.module.ModuleTools.GetGlobalConf().ConsumeRounds
room = this
} else if this.player2 == nil { } else if this.player2 == nil {
//异常处理 //异常处理
if this.player1.Userinfo.Uid == p.Userinfo.Uid { if this.player1.Userinfo.Uid == p.Userinfo.Uid {
@ -580,10 +602,10 @@ func (this *Room) JoinRoom(module *Entertainment, p *pb.PlayerData) (room *Room,
// 推送消息 // 推送消息
if err := this.module.SendMsgSyncToSession(string(this.module.GetType()), "joincreateroom", &pb.EntertainJoinCreateRoomPush{ if err := this.module.SendMsgSyncToSession(string(this.module.GetType()), "joincreateroom", &pb.EntertainJoinCreateRoomPush{
Roomid: this.Id, Roomid: this.Id,
User1: room.player1, User1: this.player1,
User2: room.player2, User2: this.player2,
}, this.szSession...); err != nil { }, this.szSession...); err != nil {
this.Errorln(err) this.module.Errorln(err)
} }
} else { // 房间满了 加不进来 } else { // 房间满了 加不进来
err = errors.New("房间已满") err = errors.New("房间已满")

View File

@ -1823,6 +1823,62 @@ func (x *EntertainDissolveMasterRoomPush) GetRoomid() string {
return "" return ""
} }
// 玩家准备状态推送
type EntertainGameReadyPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
P1Ready bool `protobuf:"varint,1,opt,name=p1ready,proto3" json:"p1ready"` // 玩家1是否准备
P2Ready bool `protobuf:"varint,2,opt,name=p2ready,proto3" json:"p2ready"` // 玩家2是否准备
}
func (x *EntertainGameReadyPush) Reset() {
*x = EntertainGameReadyPush{}
if protoimpl.UnsafeEnabled {
mi := &file_entertain_entertain_msg_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntertainGameReadyPush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntertainGameReadyPush) ProtoMessage() {}
func (x *EntertainGameReadyPush) ProtoReflect() protoreflect.Message {
mi := &file_entertain_entertain_msg_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EntertainGameReadyPush.ProtoReflect.Descriptor instead.
func (*EntertainGameReadyPush) Descriptor() ([]byte, []int) {
return file_entertain_entertain_msg_proto_rawDescGZIP(), []int{32}
}
func (x *EntertainGameReadyPush) GetP1Ready() bool {
if x != nil {
return x.P1Ready
}
return false
}
func (x *EntertainGameReadyPush) GetP2Ready() bool {
if x != nil {
return x.P2Ready
}
return false
}
var File_entertain_entertain_msg_proto protoreflect.FileDescriptor var File_entertain_entertain_msg_proto protoreflect.FileDescriptor
var file_entertain_entertain_msg_proto_rawDesc = []byte{ var file_entertain_entertain_msg_proto_rawDesc = []byte{
@ -2002,8 +2058,12 @@ var file_entertain_entertain_msg_proto_rawDesc = []byte{
0x74, 0x61, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x61, 0x73, 0x74, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x61, 0x73, 0x74,
0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f,
0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
0x69, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x69, 0x64, 0x22, 0x4c, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x47,
0x6f, 0x33, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07,
0x70, 0x31, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70,
0x31, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x32, 0x72, 0x65, 0x61, 0x64,
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x32, 0x72, 0x65, 0x61, 0x64, 0x79,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -2018,7 +2078,7 @@ func file_entertain_entertain_msg_proto_rawDescGZIP() []byte {
return file_entertain_entertain_msg_proto_rawDescData return file_entertain_entertain_msg_proto_rawDescData
} }
var file_entertain_entertain_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 33) var file_entertain_entertain_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_entertain_entertain_msg_proto_goTypes = []interface{}{ var file_entertain_entertain_msg_proto_goTypes = []interface{}{
(*EntertainMatchReq)(nil), // 0: EntertainMatchReq (*EntertainMatchReq)(nil), // 0: EntertainMatchReq
(*EntertainMatchResp)(nil), // 1: EntertainMatchResp (*EntertainMatchResp)(nil), // 1: EntertainMatchResp
@ -2052,36 +2112,37 @@ var file_entertain_entertain_msg_proto_goTypes = []interface{}{
(*EntertainDissolveRoomReq)(nil), // 29: EntertainDissolveRoomReq (*EntertainDissolveRoomReq)(nil), // 29: EntertainDissolveRoomReq
(*EntertainDissolveRoomResp)(nil), // 30: EntertainDissolveRoomResp (*EntertainDissolveRoomResp)(nil), // 30: EntertainDissolveRoomResp
(*EntertainDissolveMasterRoomPush)(nil), // 31: EntertainDissolveMasterRoomPush (*EntertainDissolveMasterRoomPush)(nil), // 31: EntertainDissolveMasterRoomPush
nil, // 32: EntertainChangePush.CardEntry (*EntertainGameReadyPush)(nil), // 32: EntertainGameReadyPush
(*PlayerData)(nil), // 33: PlayerData nil, // 33: EntertainChangePush.CardEntry
(*MapData)(nil), // 34: MapData (*PlayerData)(nil), // 34: PlayerData
(*UserAtno)(nil), // 35: UserAtno (*MapData)(nil), // 35: MapData
(*DBXXLData)(nil), // 36: DBXXLData (*UserAtno)(nil), // 36: UserAtno
(*DBXXLData)(nil), // 37: DBXXLData
} }
var file_entertain_entertain_msg_proto_depIdxs = []int32{ var file_entertain_entertain_msg_proto_depIdxs = []int32{
33, // 0: EntertainStartGamePush.user1:type_name -> PlayerData 34, // 0: EntertainStartGamePush.user1:type_name -> PlayerData
33, // 1: EntertainStartGamePush.user2:type_name -> PlayerData 34, // 1: EntertainStartGamePush.user2:type_name -> PlayerData
34, // 2: EntertainStartGamePush.mpadata:type_name -> MapData 35, // 2: EntertainStartGamePush.mpadata:type_name -> MapData
34, // 3: EntertainOperatorRstPush.mpadata:type_name -> MapData 35, // 3: EntertainOperatorRstPush.mpadata:type_name -> MapData
33, // 4: EntertainOperatorRstPush.user1:type_name -> PlayerData 34, // 4: EntertainOperatorRstPush.user1:type_name -> PlayerData
33, // 5: EntertainOperatorRstPush.user2:type_name -> PlayerData 34, // 5: EntertainOperatorRstPush.user2:type_name -> PlayerData
33, // 6: EntertainGameOverPush.user1:type_name -> PlayerData 34, // 6: EntertainGameOverPush.user1:type_name -> PlayerData
33, // 7: EntertainGameOverPush.user2:type_name -> PlayerData 34, // 7: EntertainGameOverPush.user2:type_name -> PlayerData
34, // 8: EntertainGameOverPush.mpadata:type_name -> MapData 35, // 8: EntertainGameOverPush.mpadata:type_name -> MapData
35, // 9: EntertainGameOverPush.reward:type_name -> UserAtno 36, // 9: EntertainGameOverPush.reward:type_name -> UserAtno
33, // 10: EntertainEnterRoomPush.user1:type_name -> PlayerData 34, // 10: EntertainEnterRoomPush.user1:type_name -> PlayerData
33, // 11: EntertainEnterRoomPush.user2:type_name -> PlayerData 34, // 11: EntertainEnterRoomPush.user2:type_name -> PlayerData
34, // 12: EntertainReconnectResp.mpadata:type_name -> MapData 35, // 12: EntertainReconnectResp.mpadata:type_name -> MapData
33, // 13: EntertainReconnectResp.user1:type_name -> PlayerData 34, // 13: EntertainReconnectResp.user1:type_name -> PlayerData
33, // 14: EntertainReconnectResp.user2:type_name -> PlayerData 34, // 14: EntertainReconnectResp.user2:type_name -> PlayerData
34, // 15: EntertainRefreshPlatResp.mpadata:type_name -> MapData 35, // 15: EntertainRefreshPlatResp.mpadata:type_name -> MapData
34, // 16: EntertainRefreshPush.mpadata:type_name -> MapData 35, // 16: EntertainRefreshPush.mpadata:type_name -> MapData
36, // 17: EntertainGetListResp.data:type_name -> DBXXLData 37, // 17: EntertainGetListResp.data:type_name -> DBXXLData
36, // 18: EntertainRewardResp.data:type_name -> DBXXLData 37, // 18: EntertainRewardResp.data:type_name -> DBXXLData
35, // 19: EntertainRewardResp.reward:type_name -> UserAtno 36, // 19: EntertainRewardResp.reward:type_name -> UserAtno
32, // 20: EntertainChangePush.card:type_name -> EntertainChangePush.CardEntry 33, // 20: EntertainChangePush.card:type_name -> EntertainChangePush.CardEntry
33, // 21: EntertainJoinCreateRoomPush.user1:type_name -> PlayerData 34, // 21: EntertainJoinCreateRoomPush.user1:type_name -> PlayerData
33, // 22: EntertainJoinCreateRoomPush.user2:type_name -> PlayerData 34, // 22: EntertainJoinCreateRoomPush.user2:type_name -> PlayerData
23, // [23:23] is the sub-list for method output_type 23, // [23:23] is the sub-list for method output_type
23, // [23:23] is the sub-list for method input_type 23, // [23:23] is the sub-list for method input_type
23, // [23:23] is the sub-list for extension type_name 23, // [23:23] is the sub-list for extension type_name
@ -2481,6 +2542,18 @@ func file_entertain_entertain_msg_proto_init() {
return nil return nil
} }
} }
file_entertain_entertain_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntertainGameReadyPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
} }
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
@ -2488,7 +2561,7 @@ func file_entertain_entertain_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_entertain_entertain_msg_proto_rawDesc, RawDescriptor: file_entertain_entertain_msg_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 33, NumMessages: 34,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -457,6 +457,8 @@ const (
ErrorCode_EntertainNoEnergy ErrorCode = 5204 //技能能量不足 ErrorCode_EntertainNoEnergy ErrorCode = 5204 //技能能量不足
ErrorCode_EntertainCreateFailed ErrorCode = 5205 // 创建房间失败 ErrorCode_EntertainCreateFailed ErrorCode = 5205 // 创建房间失败
ErrorCode_EntertainPlayerNoReady ErrorCode = 5206 // 玩家1还没准备不能开始游戏 ErrorCode_EntertainPlayerNoReady ErrorCode = 5206 // 玩家1还没准备不能开始游戏
ErrorCode_EntertainNotMaster ErrorCode = 5207 // 不是房主 不能解散
ErrorCode_EntertainDissolveFailed ErrorCode = 5208 // 游戏中不允许解散
) )
// Enum value maps for ErrorCode. // Enum value maps for ErrorCode.
@ -851,6 +853,8 @@ var (
5204: "EntertainNoEnergy", 5204: "EntertainNoEnergy",
5205: "EntertainCreateFailed", 5205: "EntertainCreateFailed",
5206: "EntertainPlayerNoReady", 5206: "EntertainPlayerNoReady",
5207: "EntertainNotMaster",
5208: "EntertainDissolveFailed",
} }
ErrorCode_value = map[string]int32{ ErrorCode_value = map[string]int32{
"Success": 0, "Success": 0,
@ -1242,6 +1246,8 @@ var (
"EntertainNoEnergy": 5204, "EntertainNoEnergy": 5204,
"EntertainCreateFailed": 5205, "EntertainCreateFailed": 5205,
"EntertainPlayerNoReady": 5206, "EntertainPlayerNoReady": 5206,
"EntertainNotMaster": 5207,
"EntertainDissolveFailed": 5208,
} }
) )
@ -1276,7 +1282,7 @@ var File_errorcode_proto protoreflect.FileDescriptor
var file_errorcode_proto_rawDesc = []byte{ var file_errorcode_proto_rawDesc = []byte{
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2a, 0x9d, 0x48, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x6f, 0x2a, 0xd4, 0x48, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76,
@ -1854,8 +1860,11 @@ var file_errorcode_proto_rawDesc = []byte{
0x72, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65,
0x64, 0x10, 0xd5, 0x28, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x64, 0x10, 0xd5, 0x28, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69,
0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0xd6, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0xd6,
0x28, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x28, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4e, 0x6f,
0x33, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xd7, 0x28, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x6e,
0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x46,
0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd8, 0x28, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (

View File

@ -14,8 +14,11 @@ type GameTDMonsterData struct {
NpcId int32 NpcId int32
Name string Name string
MonsterSkillid int32 MonsterSkillid int32
MonsterType int32
Model string Model string
Multiple int32 Multiple int32
Width float32
Height float32
Hp int32 Hp int32
Dis int32 Dis int32
Atk int32 Atk int32
@ -34,8 +37,11 @@ func (_v *GameTDMonsterData)Deserialize(_buf map[string]interface{}) (err error)
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc_id"].(float64); !_ok_ { err = errors.New("npc_id error"); return }; _v.NpcId = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc_id"].(float64); !_ok_ { err = errors.New("npc_id error"); return }; _v.NpcId = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["monster_skillid"].(float64); !_ok_ { err = errors.New("monster_skillid error"); return }; _v.MonsterSkillid = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["monster_skillid"].(float64); !_ok_ { err = errors.New("monster_skillid error"); return }; _v.MonsterSkillid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["monster_type"].(float64); !_ok_ { err = errors.New("monster_type error"); return }; _v.MonsterType = int32(_tempNum_) }
{ var _ok_ bool; if _v.Model, _ok_ = _buf["model"].(string); !_ok_ { err = errors.New("model error"); return } } { var _ok_ bool; if _v.Model, _ok_ = _buf["model"].(string); !_ok_ { err = errors.New("model error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["multiple"].(float64); !_ok_ { err = errors.New("multiple error"); return }; _v.Multiple = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["multiple"].(float64); !_ok_ { err = errors.New("multiple error"); return }; _v.Multiple = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["width"].(float64); !_ok_ { err = errors.New("width error"); return }; _v.Width = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["height"].(float64); !_ok_ { err = errors.New("height error"); return }; _v.Height = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hp"].(float64); !_ok_ { err = errors.New("hp error"); return }; _v.Hp = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hp"].(float64); !_ok_ { err = errors.New("hp error"); return }; _v.Hp = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dis"].(float64); !_ok_ { err = errors.New("dis error"); return }; _v.Dis = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dis"].(float64); !_ok_ { err = errors.New("dis error"); return }; _v.Dis = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["atk"].(float64); !_ok_ { err = errors.New("atk error"); return }; _v.Atk = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["atk"].(float64); !_ok_ { err = errors.New("atk error"); return }; _v.Atk = int32(_tempNum_) }