package msg

import (
	"leafstalk/covenant/model"
)

// HeadList 获取头像列表
type HeadList struct {
	PlayerId int64 `json:"userId"`
}

type ResponseHeadList struct {
	ErrCode int          `json:"errCode"`
	Msg     string       `json:"msg,omitempty"`
	Data    HeadListData `json:"data"`
}

type HeadListData struct {
	Heads  map[int64]struct{} `json:"heads"`
	Frames map[int64]struct{} `json:"frames"`
}

// 选择头像
type SelectHead struct {
	PlayerId int64 `json:"userId"`
	Type     int64 `json:"type"` // 1头像 2头像框
	HeadId   int64 `json:"headId"`
}

type ResponseSelectHead struct {
	ErrCode int    `json:"errCode"`
	Msg     string `json:"msg,omitempty"`
	Data    int64  `json:"data"`
}

// 激活头像头像框
type ActiveHead struct {
	PlayerId int64 `json:"userId"`
	Type     int64 `json:"type"` // 1头像 2头像框
	Id       int64 `json:"id"`
}

type ResponseActiveHead struct {
	ErrCode int             `json:"errCode"`
	Msg     string          `json:"msg,omitempty"`
	Data    *ActiveHeadData `json:"data"`
}

type ActiveHeadData struct {
	Type   int64 `json:"type"` // 1头像 2头像框
	Id     int64 `json:"id"`
	CostId int64 `json:"costId"` // 消耗一个道具id
}

// 激活聊天框
type ActiveChatFrame struct {
	PlayerId int64 `json:"userId"`
	Id       int64 `json:"id"`
}

type ResponseActiveChatFrame struct {
	ErrCode int                  `json:"errCode"`
	Msg     string               `json:"msg,omitempty"`
	Data    *ActiveChatFrameData `json:"data"`
}

type ActiveChatFrameData struct {
	Id     int64 `json:"id"`     // 激活的聊天框id
	CostId int64 `json:"costId"` // 消耗一个道具id
}

// // HeadFrameList 获取头像列表
// type HeadFrameList struct {
// 	PlayerId int64 `json:"userId"`
// }

// type ResponseHeadFrameList struct {
// 	ErrCode int                `json:"errCode"`
// 	Msg     string             `json:"msg,omitempty"`
// 	Data    map[int64]struct{} `json:"data"`
// }

// // 选择头像
// type SelectHeadFrame struct {
// 	PlayerId    int64 `json:"userId"`
// 	HeadFrameId int64 `json:"headFrameId"`
// }

// type ResponseSelectHeadFrame struct {
// 	ErrCode int    `json:"errCode"`
// 	Msg     string `json:"msg,omitempty"`
// 	Data    int64  `json:"data"`
// }

// 改名
type ChangeNickName struct {
	PlayerId int64  `json:"userId"`
	NickName string `json:"nickName"`
	GateId   int64  `json:"-"` //服务端用
}

type ResponseChangeNickName struct {
	ErrCode int                `json:"errCode"`
	Msg     string             `json:"msg,omitempty"`
	Data    ChangeNickNameData `json:"data"`
}

type ChangeNickNameData struct {
	NickName   string          `json:"nickName"`
	Costs      map[int64]int64 `json:"costs"`
	ChangedNum int64           `json:"changedNum"`
}

// 信用记录
type CreditRecords struct {
	PlayerId int64 `json:"userId"`
}

type ResponseCreditRecords struct {
	ErrCode int                   `json:"errCode"`
	Msg     string                `json:"msg,omitempty"`
	Data    []*model.CreditRecord `json:"data"`
}
