Example #1
0
 public void AddShaker(IShaker shaker)
 {
     shakers.AddLast(shaker);
 }
Example #2
0
 public bool RemoveShaker(IShaker shaker)
 {
     return(shakers.Remove(shaker));
 }
Example #3
0
        public bool TryGetShaker(TerrainFeature feature, Wave wave, GameLocation location, out IShaker shaker)
        {
            shaker = null;

            if (feature is Grass grass)
            {
                shaker = new GrassShaker(grass, wave.IsLeft());
            }

            if (feature is Tree tree)
            {
                shaker = new TreeShaker(tree, location, wave.IsLeft());
            }

            if (feature is FruitTree fruitTree)
            {
                shaker = new FruitTreeShaker(fruitTree, wave.IsLeft());
            }

            if (feature is HoeDirt dirt)
            {
                shaker = new HoeDirtShaker(dirt, wave.IsLeft());
            }

            if (feature is Bush bush)
            {
                shaker = new BushShaker(bush, wave.IsLeft());
            }

            return(shaker != null);
        }