package logic //type PlayerRigPendant struct { // ItemId uint32 `bson:"item_id" key:"1"` // Id uint32 `bson:"id"` // Num uint32 `bson:"num"` // Setup bool `bson:"set"` //} // //func (this *PlayerRigPendant) BuildMsgRigPendant() *proto.RigPendant { // return &proto.RigPendant{ItemId: this.ItemId, Id: this.Id, Setup: this.Setup} //} // //func (this *Player) addRigPendant(pendantTable *data.RigPendant) { // if _, ok := this.RigPendant[uint32(pendantTable.ItemId)]; ok { // return // } // // var pendant = &PlayerRigPendant{ItemId: uint32(pendantTable.ItemId), Id: uint32(pendantTable.Id)} // // this.RigPendant[pendant.ItemId] = pendant // this.SaveModel(pendant) // // _ = this.Send(proto.ModIdRig, proto.MsgIdRigPendantChange, &proto.MsgRigPendantChangeListAck{ // List: []*proto.RigPendantChange{{RigPendant: pendant.BuildMsgRigPendant(), ChangeType: uint32(proto.ChangeTypeAdd)}}, // }) // // this.UpdateRigAttrs() // // this.CheckAchievement(proto.AchievementTypePendantLevel, uint32(pendantTable.Level), 1) //} // //func (this *Player) SetupRigPendant(index uint32, pendant *PlayerRigPendant) { // var list []*proto.RigPendantChange // var setupId = this.Rig.Pendants[index] // if pendant == nil { // if setupId == 0 { // return // } // this.Rig.Pendants[index] = 0 // } else { // this.Rig.Pendants[index] = pendant.ItemId // // pendant.Setup = true // this.SaveModel(pendant) // // list = append(list, &proto.RigPendantChange{RigPendant: pendant.BuildMsgRigPendant(), ChangeType: uint32(proto.ChangeTypeChange)}) // } // // this.SaveField("rig.pendants", this.Rig.Pendants) // // if setupId > 0 { // if setupPendant := this.RigPendant[setupId]; setupPendant != nil { // setupPendant.Setup = false // this.SaveModel(setupPendant) // // list = append(list, &proto.RigPendantChange{RigPendant: setupPendant.BuildMsgRigPendant(), ChangeType: uint32(proto.ChangeTypeChange)}) // } // } // // _ = this.Send(proto.ModIdRig, proto.MsgIdRigPendantChange, &proto.MsgRigPendantChangeListAck{ // List: list, // }) // // this.UpdateRigAttrs() //} // //func (this *Player) BuildMsgRigPendantListAck() *proto.MsgRigPendantListAck { // var ack = new(proto.MsgRigPendantListAck) // for _, pendant := range this.RigPendant { // ack.List = append(ack.List, pendant.BuildMsgRigPendant()) // } // return ack //}