Files
hk4e/gs/model/gcg.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
}