package logic //type PlayerRigCharacter struct { // ItemId uint32 `bson:"item_id" key:"1"` // Id uint32 `bson:"id"` // StarId uint32 `bson:"star_id"` //} // //func (this *PlayerRigCharacter) BuildMsgRigCharacter() *proto.RigCharacter { // return &proto.RigCharacter{ItemId: this.ItemId, Id: this.Id, StarId: this.StarId} //} // //func (this *Player) checkCharacterUnlock(unlockType, unlockArg uint32) { // var characterTables = this.manager.tables.RigCharacterExtend.List() // // var changeList []*proto.RigCharacterChange // for _, characterTable := range characterTables { // if uint32(characterTable.LockTpye) != unlockType { // continue // } // // if unlockArg != uint32(characterTable.LockId) { // continue // } // // if characterTable.TaskId > 0 { // this.AddTask(characterTable.TaskId) // continue // } // // var characterStarsTable = this.manager.tables.RigCharacterStarExtend.Get(characterTable.ItemId, 0) // if characterStarsTable == nil { // continue // } // // var character = this.AddRigCharacter(characterTable, characterStarsTable) // // if character != nil { // changeList = append(changeList, &proto.RigCharacterChange{RigCharacter: character.BuildMsgRigCharacter(), ChangeType: uint32(proto.ChangeTypeAdd)}) // } // } // // if len(changeList) > 0 { // _ = this.Send(proto.ModIdRig, proto.MsgIdRigCharacterChange, &proto.MsgRigCharacterChangeListAck{List: changeList}) // // this.UpdateRigAttrs() // } //} // //func (this *Player) TaskCharacterUnlock(taskId uint32) { // var characterTables = this.manager.tables.RigCharacterExtend.List() // // var changeList []*proto.RigCharacterChange // for _, characterTable := range characterTables { // if uint32(characterTable.TaskId) != taskId { // continue // } // // var characterStarsTable = this.manager.tables.RigCharacterStarExtend.Get(characterTable.ItemId, 0) // if characterStarsTable == nil { // continue // } // // var character = this.AddRigCharacter(characterTable, characterStarsTable) // // if character != nil { // changeList = append(changeList, &proto.RigCharacterChange{RigCharacter: character.BuildMsgRigCharacter(), ChangeType: uint32(proto.ChangeTypeAdd)}) // } // } // // if len(changeList) > 0 { // _ = this.Send(proto.ModIdRig, proto.MsgIdRigCharacterChange, &proto.MsgRigCharacterChangeListAck{List: changeList}) // // this.UpdateRigAttrs() // } //} // //func (this *Player) AddRigCharacter(characterTable *data.RigCharacter, characterStarsTable *data.RigCharacterStar) *PlayerRigCharacter { // if _, ok := this.RigCharacter[uint32(characterTable.ItemId)]; ok { // return nil // } // // var character = &PlayerRigCharacter{ItemId: uint32(characterTable.ItemId), Id: uint32(characterTable.Id), StarId: uint32(characterStarsTable.Id)} // // this.RigCharacter[character.ItemId] = character // this.SaveModel(character) // // this.CheckRigTrammelsStatus(uint32(characterTable.ItemId), uint32(characterTable.Level), uint32(characterStarsTable.StarLevel)) // this.CheckAchievement(proto.AchievementTypeCharacters, 0, 1) // // return character //} // //func (this *Player) BuildMsgRigCharacterListAck() *proto.MsgRigCharacterListAck { // var ack = new(proto.MsgRigCharacterListAck) // for _, character := range this.RigCharacter { // ack.List = append(ack.List, character.BuildMsgRigCharacter()) // } // return ack //}