147 lines
2.5 KiB
Go
147 lines
2.5 KiB
Go
package domain
|
|
|
|
type Building struct {
|
|
MaxLevel int
|
|
MinLevel int
|
|
Wood int
|
|
Stone int
|
|
Iron int
|
|
Pop int
|
|
WoodFactor float64
|
|
StoneFactor float64
|
|
IronFactor float64
|
|
PopFactor float64
|
|
BuildTime float64
|
|
BuildTimeFactor float64
|
|
}
|
|
|
|
type BuildingInfo struct {
|
|
main Building
|
|
barracks Building
|
|
stable Building
|
|
garage Building
|
|
watchtower Building
|
|
snob Building
|
|
smith Building
|
|
place Building
|
|
statue Building
|
|
market Building
|
|
wood Building
|
|
stone Building
|
|
iron Building
|
|
farm Building
|
|
storage Building
|
|
hide Building
|
|
wall Building
|
|
}
|
|
|
|
type NullBuildingInfo = NullValue[BuildingInfo]
|
|
|
|
func NewBuildingInfo(
|
|
main Building,
|
|
barracks Building,
|
|
stable Building,
|
|
garage Building,
|
|
watchtower Building,
|
|
snob Building,
|
|
smith Building,
|
|
place Building,
|
|
statue Building,
|
|
market Building,
|
|
wood Building,
|
|
stone Building,
|
|
iron Building,
|
|
farm Building,
|
|
storage Building,
|
|
hide Building,
|
|
wall Building,
|
|
) (BuildingInfo, error) {
|
|
return BuildingInfo{
|
|
main: main,
|
|
barracks: barracks,
|
|
stable: stable,
|
|
garage: garage,
|
|
watchtower: watchtower,
|
|
snob: snob,
|
|
smith: smith,
|
|
place: place,
|
|
statue: statue,
|
|
market: market,
|
|
wood: wood,
|
|
stone: stone,
|
|
iron: iron,
|
|
farm: farm,
|
|
storage: storage,
|
|
hide: hide,
|
|
wall: wall,
|
|
}, nil
|
|
}
|
|
|
|
func (b BuildingInfo) Main() Building {
|
|
return b.main
|
|
}
|
|
|
|
func (b BuildingInfo) Barracks() Building {
|
|
return b.barracks
|
|
}
|
|
|
|
func (b BuildingInfo) Stable() Building {
|
|
return b.stable
|
|
}
|
|
|
|
func (b BuildingInfo) Garage() Building {
|
|
return b.garage
|
|
}
|
|
|
|
func (b BuildingInfo) Watchtower() Building {
|
|
return b.watchtower
|
|
}
|
|
|
|
func (b BuildingInfo) Snob() Building {
|
|
return b.snob
|
|
}
|
|
|
|
func (b BuildingInfo) Smith() Building {
|
|
return b.smith
|
|
}
|
|
|
|
func (b BuildingInfo) Place() Building {
|
|
return b.place
|
|
}
|
|
|
|
func (b BuildingInfo) Statue() Building {
|
|
return b.statue
|
|
}
|
|
|
|
func (b BuildingInfo) Market() Building {
|
|
return b.market
|
|
}
|
|
|
|
func (b BuildingInfo) Wood() Building {
|
|
return b.wood
|
|
}
|
|
|
|
func (b BuildingInfo) Stone() Building {
|
|
return b.stone
|
|
}
|
|
|
|
func (b BuildingInfo) Iron() Building {
|
|
return b.iron
|
|
}
|
|
|
|
func (b BuildingInfo) Farm() Building {
|
|
return b.farm
|
|
}
|
|
|
|
func (b BuildingInfo) Storage() Building {
|
|
return b.storage
|
|
}
|
|
|
|
func (b BuildingInfo) Hide() Building {
|
|
return b.hide
|
|
}
|
|
|
|
func (b BuildingInfo) Wall() Building {
|
|
return b.wall
|
|
}
|