// Config
type Config struct {
AttackConfig AttackConfig
DefensiveConfig DefensiveConfig
}
// 进攻
type AttackConfig struct {
ExtraBlood ExtraBlood
ExtraArmor ExtraArmor
ExtraAvoid ExtraAvoid
}
// 进攻 血限
type ExtraBlood struct {
One One
Two Two
Three Three
}
// 进攻 护甲
type ExtraArmor struct {
One One
Two Two
Three Three
}
// 进攻 躲避
type ExtraAvoid struct {
One One
}
// 防守
type DefensiveConfig struct {
ExtraAttack ExtraAttack
ExtraFrequency ExtraFrequency
ExtraHit ExtraHit
}
// 防守 攻击力
type ExtraAttack struct {
One One
Two Two
Three Three
}
// 防守 攻击频率
type ExtraFrequency struct {
One One
Two Two
Three Three
}
// 防守 命中率
type ExtraHit struct {
One One
}
// 装备等级
type One struct {
ID int64
Attr int64
SpendMoney int64
}
type Two struct {
ID int64
Attr int64
SpendMoney int64
}
type Three struct {
ID int64
Attr int64
SpendMoney int64
}
func GameConfigs (){
JsonParse := NewJsonStruct()
v := Config{}
JsonParse.Load("./conf/game_config.json", &v)
fmt.Println(v)
}
type JsonStruct struct {
}
func NewJsonStruct() *JsonStruct {
return &JsonStruct{}
}
func (jst *JsonStruct) Load(filename string, v interface{}) {
data, err := ioutil.ReadFile(filename)
if err != nil {
return
}
err = json.Unmarshal(data, v)
if err != nil {
return
}
}
game_config.json
{
"AttackConfig":{
"ExtraBlood":{
"One":{
"Id":1,
"Attr":20,
"SpendMoney":100
},
"Two":{
"Id":2,
"Attr":40,
"SpendMoney":200
},
"Three":{
"Id":3,
"Attr":60,
"SpendMoney":500
}
},
"ExtraArmor":{
"One":{
"Id":1,
"Attr":20,
"SpendMoney":100
},
"Two":{
"Id":2,
"Attr":40,
"SpendMoney":200
},
"Three":{
"Id":3,
"Attr":60,
"SpendMoney":500
}
},
"ExtraAvoid":{
"One":{
"Id":1,
"Attr":10,
"SpendMoney":100
}
}
},
"DefensiveConfig":{
"ExtraAttack":{
"One":{
"Id":1,
"Attr":20,
"SpendMoney":100
},
"Two":{
"Id":2,
"Attr":40,
"SpendMoney":200
},
"Three":{
"Id":3,
"Attr":60,
"SpendMoney":500
}
},
"ExtraFrequency":{
"One":{
"Id":1,
"Attr":20,
"SpendMoney":100
},
"Two":{
"Id":2,
"Attr":40,
"SpendMoney":200
},
"Three":{
"Id":3,
"Attr":60,
"SpendMoney":500
}
},
"ExtraHit":{
"One":{
"Id":1,
"Attr":10,
"SpendMoney":100
}
}
}
}