diff --git a/modules/achieve/model.go b/modules/achieve/model.go index 9e51f2f0a..655284e5a 100644 --- a/modules/achieve/model.go +++ b/modules/achieve/model.go @@ -19,7 +19,7 @@ type modelComp struct { func (this *modelComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { err = this.MCompModel.Init(service, module, comp, options) - this.TableName = comm.TableDailytask + this.TableName = comm.TableAchieve this.module = module.(*Achieve) this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}}, diff --git a/modules/caninerabbit/api_handle.go b/modules/caninerabbit/api_handle.go index 3ea94bd0d..8032a9064 100644 --- a/modules/caninerabbit/api_handle.go +++ b/modules/caninerabbit/api_handle.go @@ -43,6 +43,6 @@ func (this *apiComp) Handle(session comm.IUserSession, req *pb.CanineRabbitHandl } return } - session.SendMsg(string(this.module.GetType()), "handle", &pb.DColorHandleResp{}) + session.SendMsg(string(this.module.GetType()), "handle", &pb.CanineRabbitHandleResp{}) return } diff --git a/modules/caninerabbit/api_loadcomplete.go b/modules/caninerabbit/api_loadcomplete.go new file mode 100644 index 000000000..04e544156 --- /dev/null +++ b/modules/caninerabbit/api_loadcomplete.go @@ -0,0 +1,48 @@ +package caninerabbit + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +//接受切磋 +func (this *apiComp) LoadCompleteCheck(session comm.IUserSession, req *pb.CanineRabbitLoadCompleteReq) (errdata *pb.ErrorData) { + if req.Roomid == "" { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), + } + } + return +} + +func (this *apiComp) LoadComplete(session comm.IUserSession, req *pb.CanineRabbitLoadCompleteReq) (errdata *pb.ErrorData) { + var ( + room *Room + err error + ) + + if errdata = this.LoadCompleteCheck(session, req); errdata != nil { + return + } + + if room, err = this.module.rooms.queryRoom(req.Roomid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.String(), + Message: err.Error(), + } + return + } + + if err = room.PlayerLoadEnd(session.GetUserId()); errdata != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.String(), + Message: err.Error(), + } + return + } + session.SendMsg(string(this.module.GetType()), "loadcomplete", &pb.CanineRabbitLoadCompleteResp{Roomid: req.Roomid, Issucc: true}) + return +} diff --git a/modules/caninerabbit/api_win.go b/modules/caninerabbit/api_win.go index 0ae0bef7e..f7d284f88 100644 --- a/modules/caninerabbit/api_win.go +++ b/modules/caninerabbit/api_win.go @@ -43,6 +43,6 @@ func (this *apiComp) Win(session comm.IUserSession, req *pb.CanineRabbitWinReq) } return } - session.SendMsg(string(this.module.GetType()), "handle", &pb.DColorHandleResp{}) + session.SendMsg(string(this.module.GetType()), "win", &pb.CanineRabbitWinResp{}) return } diff --git a/modules/caninerabbit/module.go b/modules/caninerabbit/module.go index 5f530b599..7e0c57e22 100644 --- a/modules/caninerabbit/module.go +++ b/modules/caninerabbit/module.go @@ -124,7 +124,8 @@ func (this *CanineRabbit) CreateRoom(sessions []comm.IUserSession, rulesStr stri } if room, err = this.rooms.newRoom(&pb.DBCanineRabbitRoom{ - Rid: roomid, + Rid: roomid, + Rules: rules, Red: &pb.DBCanineRabbitRoomPlayer{ Info: comm.GetUserBaseInfo(red), Ctype: redtype, diff --git a/modules/caninerabbit/room.go b/modules/caninerabbit/room.go index 3fc1c3218..9d27b8686 100644 --- a/modules/caninerabbit/room.go +++ b/modules/caninerabbit/room.go @@ -65,12 +65,7 @@ func (this *Room) PlayerLoadEnd(uid string) (err error) { //玩家操作 func (this *Room) PlayerHandle(uid string, handle *pb.CanineRabbitHandleReq) (err error) { - for _, v := range this.data.Chess { - if v.Id == handle.Chess.Id { - v.X = handle.Chess.X - v.Y = handle.Chess.Y - } - } + if this.currside == uid { if this.currside == this.data.Red.Info.Uid { this.currside = this.data.Blue.Info.Uid @@ -81,6 +76,12 @@ func (this *Room) PlayerHandle(uid string, handle *pb.CanineRabbitHandleReq) (er err = fmt.Errorf("It's not you who shoot!") return } + for _, v := range this.data.Chess { + if v.Id == handle.Chess.Id { + v.X = handle.Chess.X + v.Y = handle.Chess.Y + } + } if err = this.Broadcast("gamehandle", &pb.CanineRabbitGameHandlePush{ Roomid: this.data.Rid, Uid: uid,