role.go 765 Bytes
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
}