40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
package levels
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/inkyblackness/hacked/ss1/content/archive/level"
|
|
)
|
|
|
|
func tileHeightFormatterFor(levelHeight level.HeightShift) func(int) string {
|
|
return func(value int) string {
|
|
tileHeight, err := levelHeight.ValueFromTileHeight(level.TileHeightUnit(value))
|
|
tileHeightString := hintUnknown
|
|
if err == nil {
|
|
tileHeightString = fmt.Sprintf("%2.3f", tileHeight)
|
|
}
|
|
return tileHeightString + " tile(s) - raw: %d"
|
|
}
|
|
}
|
|
|
|
func objectHeightFormatterFor(levelHeight level.HeightShift) func(int) string {
|
|
return func(value int) string {
|
|
tileHeight, err := levelHeight.ValueFromObjectHeight(level.HeightUnit(value))
|
|
tileHeightString := hintUnknown
|
|
if err == nil {
|
|
tileHeightString = fmt.Sprintf("%2.3f", tileHeight)
|
|
}
|
|
return tileHeightString + " tile(s) - raw: %d"
|
|
}
|
|
}
|
|
|
|
func moveTileHeightFormatterFor(levelHeight level.HeightShift) func(int) string {
|
|
normalFormatter := tileHeightFormatterFor(levelHeight)
|
|
return func(value int) string {
|
|
if (value >= 0) && (value <= int(level.TileHeightUnitMax)) {
|
|
return normalFormatter(value)
|
|
}
|
|
return "Don't change - raw: %d"
|
|
}
|
|
}
|