package models import ( "fmt" "pro2d/components/db" "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(uid) if err := m.Load(); err != nil { return false, m } return true, m } func NewRole(uid int64) *RoleModel { r := &pb.Role{Uid: uid} m := &RoleModel{ MgoColl: db.NewMongoColl("role", db.GetBsonM("uid", r.Uid), r), Role: r, Heros: make(HeroMap), } return m } func (m *RoleModel) LoadAll() { } func (m *RoleModel) LoadHero() { } func (m *RoleModel) AddHero(hero *pb.Hero) { h := NewHero(hero.Id) h.Hero = hero h.Create() m.Heros[fmt.Sprintf("%d%d", m.Role.Id, h.Hero.Id)] = h }