package models import ( "fmt" "pro2d/components/db" "pro2d/conf" "pro2d/protos/pb" ) type RoleModel struct { *db.MgoColl Role *pb.Role Heros HeroMap Teams *pb.Team Equip *pb.Equipment Prop *pb.Prop } func RoleExistByUid(uid int64) (bool, *RoleModel){ m := NewRole(&pb.Role{Uid: uid}) if err := m.Load(); err != nil { return false, m } return true, m } func NewRole(r *pb.Role) *RoleModel { m := &RoleModel{ MgoColl: db.NewMongoColl(conf.GlobalConf.GameConf.DBName, "role", db.GetBsonM("uid", r.Uid), r), Role: r, Heros: make(HeroMap), } m.Load() return m } func (m *RoleModel) LoadAll() { } func (m *RoleModel) LoadHero() { } func (m *RoleModel) AddHero(hero *pb.Hero) { h := NewHero(hero) h.Create() m.Heros[fmt.Sprintf("%d%d", m.Role.Id, h.Hero.Id)] = h }