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} //}