86 lines
2.9 KiB
Go
86 lines
2.9 KiB
Go
package logic
|
|
|
|
//type PlayerRigTrammels struct {
|
|
// Group uint32 `bson:"group" key:"1"`
|
|
// Process map[uint64]uint32 `bson:"process"`
|
|
// Status map[uint32]uint32 `bson:"status"`
|
|
//}
|
|
//
|
|
//func (this *PlayerRigTrammels) BuildMsgRigTrammels() *proto.RigTrammels {
|
|
// var msg = &proto.RigTrammels{Group: this.Group}
|
|
// for key, process := range this.Process {
|
|
// level, itemId := util.Split2uint32(key)
|
|
// msg.ProcessList = append(msg.ProcessList, &proto.RigTrammelsProcess{Level: level, ItemId: itemId, Process: process})
|
|
// }
|
|
// msg.StatusList = make([]*proto.RigTrammelsStatus, len(this.Status))
|
|
// for level, status := range this.Status {
|
|
// msg.StatusList[level-1] = &proto.RigTrammelsStatus{Level: level, Status: status}
|
|
// }
|
|
// return msg
|
|
//}
|
|
//
|
|
//func (this *Player) CheckRigTrammelsStatus(itemId, level, stars uint32) {
|
|
// var changeList []*PlayerRigTrammels
|
|
// var groups = this.manager.tables.RigTrammelsExtend.Groups()
|
|
// for groupId, rigTrammelsTables := range groups {
|
|
// for _, rigTrammelsTable := range rigTrammelsTables {
|
|
// var value uint32
|
|
// switch proto.TrammelsType(rigTrammelsTable.TrammelsType) {
|
|
// case proto.TrammelsTypeStars:
|
|
// value = stars
|
|
// case proto.TrammelsTypeLevel:
|
|
// value = level
|
|
// default:
|
|
// continue
|
|
// }
|
|
//
|
|
// if value == 0 {
|
|
// continue
|
|
// }
|
|
//
|
|
// var rigTrammels = this.RigTrammels[uint32(groupId)]
|
|
// if rigTrammels != nil && rigTrammels.Status[uint32(rigTrammelsTable.Level)] >= uint32(proto.TrammelsStatusCanActivate) {
|
|
// continue
|
|
// }
|
|
//
|
|
// var achieved = true
|
|
// for _, objId := range rigTrammelsTable.Items {
|
|
// if uint32(objId) == itemId {
|
|
// if rigTrammels == nil {
|
|
// rigTrammels = &PlayerRigTrammels{Group: uint32(groupId), Process: map[uint64]uint32{}, Status: map[uint32]uint32{}}
|
|
// this.RigTrammels[uint32(groupId)] = rigTrammels
|
|
// }
|
|
//
|
|
// rigTrammels.Process[util.Compose2uint32(uint32(rigTrammelsTable.Level), itemId)] = value
|
|
// changeList = append(changeList, rigTrammels)
|
|
// }
|
|
//
|
|
// if rigTrammels == nil || rigTrammels.Process[util.Compose2uint32(uint32(rigTrammelsTable.Level), uint32(objId))] < uint32(rigTrammelsTable.TrammelsValue) {
|
|
// achieved = false
|
|
// }
|
|
// }
|
|
//
|
|
// if achieved {
|
|
// rigTrammels.Status[uint32(rigTrammelsTable.Level)] = uint32(proto.TrammelsStatusCanActivate)
|
|
// }
|
|
// }
|
|
// }
|
|
//
|
|
// if len(changeList) > 0 {
|
|
// var ackList []*proto.RigTrammels
|
|
// for _, rigTrammels := range changeList {
|
|
// this.SaveModel(rigTrammels)
|
|
// ackList = append(ackList, rigTrammels.BuildMsgRigTrammels())
|
|
// }
|
|
// _ = this.Send(proto.ModIdRig, proto.MsgIdRigTrammelsChange, &proto.MsgRigTrammelsListAck{List: ackList})
|
|
// }
|
|
//}
|
|
//
|
|
//func (this *Player) BuildMsgRigTrammelsListAck() *proto.MsgRigTrammelsListAck {
|
|
// var list []*proto.RigTrammels
|
|
// for _, rigTrammels := range this.RigTrammels {
|
|
// list = append(list, rigTrammels.BuildMsgRigTrammels())
|
|
// }
|
|
// return &proto.MsgRigTrammelsListAck{List: list}
|
|
//}
|