go_dreamfactory/modules/stonehenge/api_finish.go

48 lines
1.3 KiB
Go

package stonehenge
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) FinishCheck(session comm.IUserSession, req *pb.StonehengeFinishReq) (errdata *pb.ErrorData) {
return
}
// 结算房间
func (this *apiComp) Finish(session comm.IUserSession, req *pb.StonehengeFinishReq) (errdata *pb.ErrorData) {
var (
stone *pb.DBStonehenge
update map[string]interface{}
)
update = make(map[string]interface{})
if errdata = this.FinishCheck(session, req); errdata != nil {
return
}
stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId())
stone.StageID = 0
update["stageID"] = stone.StageID
stone.CurRoomIndes = 0
update["curRoomIndes"] = stone.CurRoomIndes
stone.Rooms = &pb.RoomData{}
update["rooms"] = stone.Rooms
stone.Webuff = make([]int32, 0)
update["webuff"] = stone.Webuff
stone.Enemybuff = make([]int32, 0)
update["enemybuff"] = stone.Enemybuff
stone.Userbuff = make(map[int32]int32)
update["userbuff"] = stone.Userbuff
stone.Hero = make(map[string]*pb.BattleRole)
update["hero"] = stone.Hero
stone.Addweight = make(map[int32]int32, 0)
update["addweight"] = stone.Addweight
this.module.modelStonehenge.ChangeStonehengeData(session.GetUserId(), update)
session.SendMsg(string(this.module.GetType()), "finish", &pb.StonehengeFinishResp{Data: stone})
return
}