core/internal/domain/building_info.go

147 lines
2.5 KiB
Go

package domain
type Building struct {
BuildTime float64
BuildTimeFactor float64
Iron int
IronFactor float64
MaxLevel int
MinLevel int
Pop int
PopFactor float64
Stone int
StoneFactor float64
Wood int
WoodFactor 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
}