package match

import (
	"game/common/model/user"
	"game/common/proto/pb"
)

type MatchPlayer struct {
	user.User
	user.UserResources
}

type RoomTypeMatch struct {
	RoomMatch map[int32][]MatchPlayer
}

type MatchMgr struct {
	users map[pb.ServiceTypeId]*RoomTypeMatch
}

func NewMatchMgr() *MatchMgr {
	return &MatchMgr{
		users: make(map[pb.ServiceTypeId]*RoomTypeMatch),
	}
}

//func (mgr *MatchMgr) AddInt(us *MatchPlayer, sid pb.ServiceTypeId, roomType int32) {
//	users, _ := mgr.users[sid]
//	for _, u := range users {
//		if u.ID == us.ID {
//			return
//		}
//	}
//	users = append(users, *us)
//	mgr.users[sid] = users
//}
//
//func (mgr *MatchMgr) Remove(us *MatchPlayer, sid pb.ServiceTypeId, roomType int32) {
//	users, _ := mgr.users[sid]
//	for pos, u := range users {
//		if u.ID == us.ID {
//			users = append(users[:pos], users[pos+1:]...)
//			mgr.users[sid] = users
//			return
//		}
//	}
//}
//
//func (mgr *MatchMgr) Match(sid pb.ServiceTypeId, num int) []MatchPlayer {
//	users, _ := mgr.users[sid]
//	if len(users) <= num {
//		return nil
//	}
//	ret := users[:num]
//	users = users[num:]
//	mgr.users[sid] = users
//	return ret
//}
