package tins2020 type Map struct { Temp NoiseMap Humid NoiseMap Variant NoiseMap PlaceX NoiseMap // displacement map of props PlaceY NoiseMap Flowers map[Point]Flower } func (m *Map) AddFlower(pos Point, id string, traits FlowerTraits) { m.Flowers[pos] = m.NewFlower(pos, id, traits) } func (m *Map) DigFlower(pos Point) string { flower, ok := m.Flowers[pos] if !ok { return "" } delete(m.Flowers, pos) return flower.ID } func (m *Map) NewFlower(pos Point, id string, traits FlowerTraits) Flower { flower := Flower{ ID: id, Traits: traits, } temp, humid := float32(m.Temp.Value(pos.X, pos.Y)), float32(m.Humid.Value(pos.X, pos.Y)) flower.Traits.UpdateModifier(temp, humid) return flower }