package msg

// EnterChapter 进入章节
type EnterChapter struct {
	PlayerId int64 `json:"userId"`
	Id       int64 `json:"id"` // 关卡id
}

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

type EnterChapterData struct{}

// 章节结算预览 暂不实现
type ChapterSettlePreview struct {
	PlayerId int64 `json:"userId"`
	Id       int64 `json:"id"`      // 关卡id
	Wave     int64 `json:"wave"`    //通过波数
	Rewards  int64 `json:"rewards"` // 多倍奖励原因 0：无多倍奖励；1：广告
}
type ResponseChapterSettlePreview struct {
	ErrCode int                `json:"errCode"`
	Msg     string             `json:"msg,omitempty"`
	Data    *ChapterSettleData `json:"data"`
}

type ChapterSettleData struct {
	Materials map[int64]int64 `json:"materials"`
}

// 章节结算
type ChapterSettle struct {
	PlayerId int64 `json:"userId"`
	Id       int64 `json:"id"`      // 关卡id
	Wave     int64 `json:"wave"`    //通过波数
	Rewards  int64 `json:"rewards"` // 多倍奖励原因 0：无多倍奖励；1：广告
}
type ResponseChapterSettle struct {
	ErrCode int                `json:"errCode"`
	Msg     string             `json:"msg,omitempty"`
	Data    *ChapterSettleData `json:"data"`
}

// ProgressReward 领取关卡奖励
type ProgressReward struct {
	PlayerId int64 `json:"userId"`
	Id       int64 `json:"id"` // 关卡id
}

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

type ProgressRewardData struct {
	Id        int64           `json:"id"` // 关卡id
	Geted     int64           `json:"geted"`
	SubGeted  int64           `json:"subGeted"`
	Materials map[int64]int64 `json:"materials"`
}

// ChapterSummary 章节详情
type ChapterSummary struct {
	PlayerId int64 `json:"userId"`
}

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

// type ChapterSummaryData struct {
// 	PlayerId int64 `json:"userId"`
// }

// 激活水晶
type ActiveCrystal struct {
	PlayerId int64 `json:"userId"`
	Id       int64 `json:"id"` // 水晶id
}

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

// 激活水晶奖励
type ActiveCrystalReward struct {
	PlayerId int64 `json:"userId"`
	Id       int64 `json:"id"` // 水晶id
}

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

type ActiveCrystalRewardData struct {
	Id        int64           `json:"id"` // 水晶id
	Materials map[int64]int64 `json:"materials"`
}

// 章节数据同步  暂不实现
type ChapterSync struct {
	PlayerId int64 `json:"userId"`
}

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