Dawid Wysokiński
742a9046e0
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: twhelp/core#16
85 lines
2.4 KiB
Go
85 lines
2.4 KiB
Go
package tw
|
|
|
|
import (
|
|
"encoding/xml"
|
|
|
|
"gitea.dwysokinski.me/twhelp/core/internal/domain"
|
|
)
|
|
|
|
type building struct {
|
|
Text string `xml:",chardata"`
|
|
MaxLevel int8 `xml:"max_level"`
|
|
MinLevel int8 `xml:"min_level"`
|
|
Wood int32 `xml:"wood"`
|
|
Stone int32 `xml:"stone"`
|
|
Iron int32 `xml:"iron"`
|
|
Pop int16 `xml:"pop"`
|
|
WoodFactor float64 `xml:"wood_factor"`
|
|
StoneFactor float64 `xml:"stone_factor"`
|
|
IronFactor float64 `xml:"iron_factor"`
|
|
PopFactor float64 `xml:"pop_factor"`
|
|
BuildTime float64 `xml:"build_time"`
|
|
BuildTimeFactor float64 `xml:"build_time_factor"`
|
|
}
|
|
|
|
func (b building) toDomain() domain.Building {
|
|
return domain.Building{
|
|
MaxLevel: b.MaxLevel,
|
|
MinLevel: b.MinLevel,
|
|
Wood: b.Wood,
|
|
Stone: b.Stone,
|
|
Iron: b.Iron,
|
|
Pop: b.Pop,
|
|
WoodFactor: b.WoodFactor,
|
|
StoneFactor: b.StoneFactor,
|
|
IronFactor: b.IronFactor,
|
|
PopFactor: b.PopFactor,
|
|
BuildTime: b.BuildTime,
|
|
BuildTimeFactor: b.BuildTimeFactor,
|
|
}
|
|
}
|
|
|
|
type buildingInfo struct {
|
|
XMLName xml.Name `xml:"config"`
|
|
Text string `xml:",chardata"`
|
|
Main building `xml:"main"`
|
|
Barracks building `xml:"barracks"`
|
|
Stable building `xml:"stable"`
|
|
Garage building `xml:"garage"`
|
|
Watchtower building `xml:"watchtower"`
|
|
Snob building `xml:"snob"`
|
|
Smith building `xml:"smith"`
|
|
Place building `xml:"place"`
|
|
Statue building `xml:"statue"`
|
|
Market building `xml:"market"`
|
|
Wood building `xml:"wood"`
|
|
Stone building `xml:"stone"`
|
|
Iron building `xml:"iron"`
|
|
Farm building `xml:"farm"`
|
|
Storage building `xml:"storage"`
|
|
Hide building `xml:"hide"`
|
|
Wall building `xml:"wall"`
|
|
}
|
|
|
|
func (b buildingInfo) toDomain() domain.BuildingInfo {
|
|
return domain.BuildingInfo{
|
|
Main: b.Main.toDomain(),
|
|
Barracks: b.Barracks.toDomain(),
|
|
Stable: b.Stable.toDomain(),
|
|
Garage: b.Garage.toDomain(),
|
|
Watchtower: b.Watchtower.toDomain(),
|
|
Snob: b.Snob.toDomain(),
|
|
Smith: b.Smith.toDomain(),
|
|
Place: b.Place.toDomain(),
|
|
Statue: b.Statue.toDomain(),
|
|
Market: b.Market.toDomain(),
|
|
Wood: b.Wood.toDomain(),
|
|
Stone: b.Stone.toDomain(),
|
|
Iron: b.Iron.toDomain(),
|
|
Farm: b.Farm.toDomain(),
|
|
Storage: b.Storage.toDomain(),
|
|
Hide: b.Hide.toDomain(),
|
|
Wall: b.Wall.toDomain(),
|
|
}
|
|
}
|