roleTest.go 645 Bytes
package models

import (
	"github.com/golang/protobuf/proto"
	"pro2d/pb"
)

type ProtoMap map[string]proto.Message

type RoleTestModel struct {
	Role      *pb.Role
	Hero      ProtoMap
	Team      ProtoMap
	Equipment ProtoMap
}

func NewRoleTestModel(rsp pb.LoginRsp) *RoleTestModel {
	data := &RoleTestModel{
		Role:      rsp.Role,
		Hero:      make(ProtoMap),
		Team:      make(ProtoMap),
		Equipment: make(ProtoMap),
	}

	for _, hero := range rsp.Hero {
		data.Hero[hero.Id] = hero
	}

	for _, team := range rsp.Team {
		data.Team[team.Id] = team
	}
	for _, equip := range rsp.Equipments {
		data.Equipment[equip.Id] = equip
	}

	return data
}