package logic //type PlayerRigWarship struct { // Uid uint32 `bson:"uid" key:"1"` // Id uint32 `bson:"id"` // LevelId uint32 `bson:"level_id"` // StarId uint32 `bson:"star_id"` // Skills []uint32 `bson:"skills"` // Setup bool `bson:"setup"` //} // //func (this *PlayerRigWarship) BuildMsgRigWarship() *proto.RigWarship { // return &proto.RigWarship{ // Uid: this.Uid, // Id: this.Id, // LevelId: this.LevelId, // StarId: this.StarId, // Skills: this.Skills, // Setup: this.Setup, // } //} // //func (this *Player) addRigWarship(warshipTable *data.Warship) error { // var err = this.CheckFunctionOpen1(4, uint32(len(this.RigWarship))) // if err != nil { // return err // } // // var warshipLevelTable = this.manager.tables.WarshipLevelExtend.Get(warshipTable.Type, 1) // if warshipLevelTable == nil { // return proto.ErrDataTablesError // } // // var warshipStarTable = this.manager.tables.WarshipStarExtend.Get(warshipTable.Id, 0) // if warshipStarTable == nil { // return proto.ErrDataTablesError // } // // var exclude = map[int]struct{}{} // var skills = make([]uint32, warshipTable.RandomSkillNum) // for i := range skills { // var warshipSkillTable = this.manager.tables.WarshipSkillExtend.Random(1, exclude) // if warshipSkillTable == nil { // return proto.ErrDataTablesError // } // // var skillTable = this.manager.tables.SkillExtend.Get(warshipSkillTable.SkillId, 1) // if skillTable == nil { // return proto.ErrDataTablesError // } // // skills[i] = uint32(skillTable.Id) // exclude[skillTable.SkillId] = struct{}{} // } // // var maxUid = uint32(0) // for _, warship := range this.RigWarship { // if warship.Uid > maxUid { // maxUid = warship.Uid // } // } // // var warship = &PlayerRigWarship{ // Uid: maxUid + 1, // Id: uint32(warshipTable.Id), // LevelId: uint32(warshipLevelTable.Id), // StarId: uint32(warshipStarTable.Id), // Skills: skills, // Setup: false, // } // // this.RigWarship[warship.Uid] = warship // this.SaveModel(warship) // // _ = this.Send(proto.ModIdRig, proto.MsgIdRigWarshipChange, &proto.MsgRigWarshipChangeAck{ // List: []*proto.RigWarshipChange{{RigWarship: warship.BuildMsgRigWarship(), ChangeType: uint32(proto.ChangeTypeAdd)}}, // }) // // this.UpdateRigAttrs() // return nil //} // //func (this *Player) SetupWarship(warship *PlayerRigWarship) { // var changeList []*proto.RigWarshipChange // // if this.Rig.Warship != 0 { // var setup = this.RigWarship[this.Rig.Warship] // if setup != nil { // setup.Setup = false // this.SaveModel(setup) // // changeList = append(changeList, &proto.RigWarshipChange{ // RigWarship: setup.BuildMsgRigWarship(), // ChangeType: uint32(proto.ChangeTypeChange), // }) // } // // this.Rig.Warship = 0 // } // // if warship != nil { // warship.Setup = true // this.SaveModel(warship) // // changeList = append(changeList, &proto.RigWarshipChange{ // RigWarship: warship.BuildMsgRigWarship(), // ChangeType: uint32(proto.ChangeTypeChange), // }) // // this.Rig.Warship = warship.Uid // } // // if len(changeList) > 0 { // this.SaveField("rig.warship", this.Rig.Warship) // // _ = this.Send(proto.ModIdRig, proto.MsgIdRigWarshipChange, &proto.MsgRigWarshipChangeAck{ // List: changeList, // }) // // this.UpdateRigAttrs() // } //} // //func (this *Player) BuildMsgWarshipListAck() *proto.MsgRigWarshipListAck { // var list []*proto.RigWarship // for _, warship := range this.RigWarship { // list = append(list, warship.BuildMsgRigWarship()) // } // return &proto.MsgRigWarshipListAck{List: list} //}