Small refactor in GetObject

This commit is contained in:
Marc Di Luzio 2020-07-19 18:27:58 +01:00
parent ddbbdce1f8
commit c48274eb23

View file

@ -48,23 +48,22 @@ func (g *NoiseWorldGen) GetTile(v maths.Vector) roveapi.Tile {
}
// GetObject returns the chosen object at a location
func (g *NoiseWorldGen) GetObject(v maths.Vector) Object {
func (g *NoiseWorldGen) GetObject(v maths.Vector) (obj Object) {
o := g.noise.Eval2(float64(v.X)/rockNoiseScale, float64(v.Y)/rockNoiseScale)
var obj = roveapi.Object_ObjectUnknown
switch {
case o > 0.6:
obj = roveapi.Object_RockLarge
obj.Type = roveapi.Object_RockLarge
case o > 0.5:
obj = roveapi.Object_RockSmall
obj.Type = roveapi.Object_RockSmall
}
// Very rarely spawn a dormant rover
if obj == roveapi.Object_ObjectUnknown {
if obj.Type == roveapi.Object_ObjectUnknown {
o = g.noise.Eval2(float64(v.X)/dormantRoverScale, float64(v.Y)/dormantRoverScale)
if o > 0.8 {
obj = roveapi.Object_RoverDormant
obj.Type = roveapi.Object_RoverDormant
}
}
return Object{Type: roveapi.Object(obj)}
return obj
}