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));
            }
        }
Beispiel #2
0
        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);
                }
            }
        }