mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-04 15:32:26 +08:00
98 lines
3.5 KiB
Go
98 lines
3.5 KiB
Go
package model
|
|
|
|
// GCGCard 卡牌
|
|
type GCGCard struct {
|
|
CardId uint32 // 卡牌Id
|
|
Num uint32 // 数量
|
|
FaceType uint32 // 卡面类型
|
|
UnlockFaceTypeList []uint32 // 解锁的卡面类型
|
|
Proficiency uint32 // 熟练程度等级
|
|
ProficiencyRewardTakenIdxList []uint32 // 熟练程度奖励列表
|
|
}
|
|
|
|
// GCGDeck 卡组
|
|
type GCGDeck struct {
|
|
Name string // 卡组名
|
|
CharacterCardList []uint32 // 角色牌列表
|
|
CardList []uint32 // 卡牌列表
|
|
FieldId uint32 // 牌盒样式Id
|
|
CardBackId uint32 // 牌背样式Id
|
|
CreateTime int64 // 卡组创建时间
|
|
}
|
|
|
|
// GCGTavernChallenge 酒馆挑战信息
|
|
type GCGTavernChallenge struct {
|
|
CharacterId uint32 // 角色Id
|
|
UnlockLevelIdList []uint32 // 解锁的等级Id
|
|
}
|
|
|
|
// GCGBossChallenge Boss挑战信息
|
|
type GCGBossChallenge struct {
|
|
Id uint32 // BossId
|
|
UnlockLevelIdList []uint32 // 解锁的等级Id
|
|
}
|
|
|
|
// GCGLevelChallenge 等级挑战信息
|
|
type GCGLevelChallenge struct {
|
|
LevelId uint32 // 等级Id
|
|
FinishedChallengeIdList []uint32 // 完成的挑战Id列表
|
|
}
|
|
|
|
// GCGInfo 七圣召唤信息
|
|
type GCGInfo struct {
|
|
// 基础信息
|
|
Level uint32 // 等级
|
|
Exp uint32 // 经验
|
|
// 卡牌
|
|
CardList map[uint32]*GCGCard // 拥有的卡牌 uint32 -> CardId(卡牌Id)
|
|
CurDeckId uint32 // 现行的卡组Id
|
|
DeckList []*GCGDeck // 卡组列表
|
|
UnlockDeckIdList []uint32 // 解锁的卡组
|
|
UnlockCardBackIdList []uint32 // 解锁的卡背
|
|
UnlockFieldIdList []uint32 // 解锁的牌盒
|
|
// 挑战
|
|
TavernChallengeMap map[uint32]*GCGTavernChallenge // 酒馆挑战 uint32 -> CharacterId(角色Id)
|
|
LevelChallengeMap map[uint32]*GCGLevelChallenge // 等级挑战 uint32 -> LevelId(等级Id)
|
|
UnlockBossChallengeMap map[uint32]*GCGBossChallenge // 解锁的Boss挑战 uint32 -> Id
|
|
UnlockWorldChallengeList []uint32 // 解锁的世界挑战
|
|
// 其他
|
|
BanCardList []uint32 // 被禁止的卡牌列表
|
|
}
|
|
|
|
func NewGCGInfo() *GCGInfo {
|
|
gcgInfo := &GCGInfo{
|
|
Level: 0,
|
|
Exp: 0,
|
|
CardList: make(map[uint32]*GCGCard, 0),
|
|
CurDeckId: 0,
|
|
DeckList: make([]*GCGDeck, 0, 0),
|
|
UnlockDeckIdList: make([]uint32, 0, 0),
|
|
UnlockCardBackIdList: make([]uint32, 0, 0),
|
|
UnlockFieldIdList: make([]uint32, 0, 0),
|
|
TavernChallengeMap: make(map[uint32]*GCGTavernChallenge, 0),
|
|
UnlockBossChallengeMap: make(map[uint32]*GCGBossChallenge, 0),
|
|
UnlockWorldChallengeList: make([]uint32, 0, 0),
|
|
BanCardList: make([]uint32, 0, 0),
|
|
}
|
|
gcgInfo.UnlockDeckIdList = append(gcgInfo.UnlockDeckIdList, 1, 2)
|
|
gcgInfo.UnlockCardBackIdList = append(gcgInfo.UnlockCardBackIdList, 0)
|
|
gcgInfo.UnlockFieldIdList = append(gcgInfo.UnlockFieldIdList, 0)
|
|
gcgInfo.TavernChallengeMap[8] = &GCGTavernChallenge{
|
|
CharacterId: 8,
|
|
UnlockLevelIdList: make([]uint32, 0, 0),
|
|
}
|
|
gcgInfo.TavernChallengeMap[13] = &GCGTavernChallenge{
|
|
CharacterId: 13,
|
|
UnlockLevelIdList: make([]uint32, 0, 0),
|
|
}
|
|
gcgInfo.TavernChallengeMap[17] = &GCGTavernChallenge{
|
|
CharacterId: 17,
|
|
UnlockLevelIdList: make([]uint32, 0, 0),
|
|
}
|
|
gcgInfo.TavernChallengeMap[20] = &GCGTavernChallenge{
|
|
CharacterId: 20,
|
|
UnlockLevelIdList: make([]uint32, 0, 0),
|
|
}
|
|
return gcgInfo
|
|
}
|