上传巨石秘境
This commit is contained in:
parent
3369da15e5
commit
93e5b0c64f
38
modules/stonehenge/api_activatetalent.go
Normal file
38
modules/stonehenge/api_activatetalent.go
Normal file
@ -0,0 +1,38 @@
|
||||
package stonehenge
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) ActivateTalentCheck(session comm.IUserSession, req *pb.StonehengeActivateTalentReq) (errdata *pb.ErrorData) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (this *apiComp) ActivateTalent(session comm.IUserSession, req *pb.StonehengeActivateTalentReq) (errdata *pb.ErrorData) {
|
||||
var (
|
||||
stone *pb.DBStonehenge
|
||||
err error
|
||||
)
|
||||
if errdata = this.ActivateTalentCheck(session, req); errdata != nil {
|
||||
return
|
||||
}
|
||||
if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.String(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), "activatetalent", &pb.StonehengeActivateTalentResp{
|
||||
Node: req.Node,
|
||||
Talent: stone.Talent,
|
||||
Talentproperty: stone.Talentproperty,
|
||||
Privilege: stone.Privilege,
|
||||
})
|
||||
return
|
||||
}
|
@ -39,7 +39,14 @@ func (this *apiComp) Battle(session comm.IUserSession, req *pb.StonehengeBattleR
|
||||
return
|
||||
}
|
||||
// 事件校验
|
||||
stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId())
|
||||
if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.String(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
if v, ok := stone.Rooms.Eventid[req.Eventid]; !ok || v == true { // 不存在该事件
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
|
@ -47,7 +47,14 @@ func (this *apiComp) EnterLevel(session comm.IUserSession, req *pb.StonehengeEnt
|
||||
}
|
||||
portal = confStage.RoomGroup
|
||||
this.module.Debugf("%v", confStage)
|
||||
stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId())
|
||||
if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.String(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if len(stone.Hero) != 0 || len(stone.Addweight) != 0 {
|
||||
errdata = &pb.ErrorData{
|
||||
|
@ -35,7 +35,14 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
|
||||
return
|
||||
}
|
||||
|
||||
stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId())
|
||||
if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.String(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
if v, ok := stone.Rooms.Eventid[req.Eventid]; !ok || v == true { // 不存在该事件
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
|
@ -16,13 +16,21 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.StonehengeFinishR
|
||||
var (
|
||||
stone *pb.DBStonehenge
|
||||
update map[string]interface{}
|
||||
err error
|
||||
)
|
||||
update = make(map[string]interface{})
|
||||
if errdata = this.FinishCheck(session, req); errdata != nil {
|
||||
return
|
||||
}
|
||||
|
||||
stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId())
|
||||
if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.String(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
stone.StageID = 0
|
||||
update["stageID"] = stone.StageID
|
||||
|
@ -16,11 +16,19 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.StonehengeG
|
||||
func (this *apiComp) GetList(session comm.IUserSession, req *pb.StonehengeGetListReq) (errdata *pb.ErrorData) {
|
||||
var (
|
||||
stone *pb.DBStonehenge
|
||||
err error
|
||||
)
|
||||
if errdata = this.GetListCheck(session, req); errdata != nil {
|
||||
return
|
||||
}
|
||||
stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId())
|
||||
if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.String(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
// 校验赛季是否结束
|
||||
if configure.Now().Unix() >= stone.Etime {
|
||||
update := make(map[string]interface{})
|
||||
|
@ -32,7 +32,14 @@ func (this *apiComp) GotoRoom(session comm.IUserSession, req *pb.StonehengeGotoR
|
||||
if errdata = this.GotoRoomCheck(session, req); errdata != nil {
|
||||
return
|
||||
}
|
||||
stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId())
|
||||
if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.String(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 校验传送门
|
||||
if stone.Rooms != nil {
|
||||
|
@ -50,21 +50,24 @@ func (this *MStonehenge) Start() (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (this *MStonehenge) GetStonehengeData(uid string) *pb.DBStonehenge {
|
||||
stone := &pb.DBStonehenge{}
|
||||
if err := this.Get(uid, stone); err != nil && mgo.MongodbNil == err { // 创建一条初始的数据
|
||||
stone.Id = primitive.NewObjectID().Hex()
|
||||
stone.Uid = uid
|
||||
stone.Rooms = nil // 注意初始房间为空
|
||||
stone.Userbuff = make(map[int32]int32, 0)
|
||||
stone.Reward = make(map[int32]bool, 0)
|
||||
stone.Addweight = make(map[int32]int32, 0)
|
||||
stone.Etime = utils.WeekIntervalTime()
|
||||
stone.Hero = make(map[string]*pb.BattleRole)
|
||||
this.Add(uid, stone)
|
||||
|
||||
func (this *MStonehenge) GetStonehengeData(uid string) (info *pb.DBStonehenge, err error) {
|
||||
info = &pb.DBStonehenge{}
|
||||
if err = this.Get(uid, info); err != nil && mgo.MongodbNil != err { // 创建一条初始的数据
|
||||
return
|
||||
}
|
||||
return stone
|
||||
if mgo.MongodbNil == err {
|
||||
info = &pb.DBStonehenge{
|
||||
Id: primitive.NewObjectID().Hex(),
|
||||
Uid: uid,
|
||||
Userbuff: make(map[int32]int32),
|
||||
Reward: make(map[int32]bool),
|
||||
Addweight: make(map[int32]int32),
|
||||
Etime: utils.WeekIntervalTime(),
|
||||
Hero: make(map[string]*pb.BattleRole),
|
||||
}
|
||||
err = this.Add(uid, info)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 修改石阵信息
|
||||
|
Loading…
Reference in New Issue
Block a user