core/internal/domain/building_info.go

145 lines
2.4 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
}
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
}