private static void SpawnGlitch(GameContext context, GameCell cell) { var glitch = GameObjectFactory.CreateObject(Actors.Glitch, GameObjectType.Actor, cell.Pos); context.AddObject(glitch); if (context.CanPlayerSee(cell.Pos)) { context.AddEffect(new SpawnEffect(glitch)); } }
public void GenerateFillerWallsAsNeeded(Pos2D position) { var borderingPositions = new List <Pos2D> { position.Add(0, 1), position.Add(1, 0), position.Add(0, -1), position.Add(-1, 0) }; foreach (var borderingPosition in borderingPositions) { if (Level.GetCell(borderingPosition) == null) { var wall = GameObjectFactory.CreateWall(borderingPosition, Level.IsPosExterior(borderingPosition)); Level.AddCell(new GameCell { Pos = borderingPosition }); AddObject(wall); } } }