public void ExchangeBlocks(int x, int y) { Requires(GameState.Constructing); var blockX = (int)Math.Floor((decimal)x / fieldSizeModule) * fieldSizeModule; var blockY = (int)Math.Floor((decimal)y / fieldSizeModule) * fieldSizeModule; IMiscellaneous curr = miscellaneous.FirstOrDefault(e => e.X == blockX && e.Y == blockY); IMiscellaneous next = curr == null ? new Bricks() : curr is Bricks ? new Concrete() : curr is Concrete ? new Water() : default(IMiscellaneous); if (curr != null) { miscellaneous.Remove(curr); } if (next != null) { next.X = blockX; next.Y = blockY; miscellaneous.Add(next); } }
public MiscellaneousController(IMiscellaneous iMiscellaneous) { this.iMiscellaneous = iMiscellaneous; }