private void Spread() { for (int i = 0; i < SpreadCount; i++) { var dx = Generator.Random.Next(_gameObject.X - 1, _gameObject.X + 1); var dy = Generator.Random.Next(_gameObject.Y - 1, _gameObject.Y + 1); dx = (int)MathF.Clamp(dx, 0, TerrainMap.Size); dy = (int)MathF.Clamp(dy, 0, TerrainMap.Size); if (TerrainMap.GetTerrainType(dx, dy) == _gameObject.Terrain) { Vegetation.Create(dx, dy); } } }
public void Eat(Terrain.Vegetation pFood) { _currentHunger = Math.Min(_hunger, _currentHunger + pFood.Food); RemoveStatus(Status.Hungry); }
public override void OnAdded(IGameObject pGameObject) { base.OnAdded(pGameObject); _gameObject = (Vegetation)GameObject; }