コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
 public void Eat(Terrain.Vegetation pFood)
 {
     _currentHunger = Math.Min(_hunger, _currentHunger + pFood.Food);
     RemoveStatus(Status.Hungry);
 }
コード例 #3
0
 public override void OnAdded(IGameObject pGameObject)
 {
     base.OnAdded(pGameObject);
     _gameObject = (Vegetation)GameObject;
 }