コード例 #1
0
        public override void Paint(Level level)
        {
            Painter.Fill(level, this, 3, Tile.Chasm);

            var c = Rnd.Int(2, 4);
            var p = Rnd.Chance(30);

            for (var i = 0; i < c; i++)
            {
                var platform = new MovingPlatform();

                platform.X          = Rnd.Int(Left + 4, Right - 4) * 16;
                platform.Y          = Rnd.Int(Top + 4, Bottom - 4) * 16;
                platform.Controller = Rnd.Chance() ? PlatformController.ClockWise : PlatformController.CounterClockWise;

                level.Area.Add(platform);

                if (p && Rnd.Chance())
                {
                    var turret = new RotatingTurret();
                    level.Area.Add(turret);
                    turret.Center = platform.Position + new Vector2(16, 12);
                }
            }
        }
コード例 #2
0
        public override void Paint(Level level)
        {
            SetupRect();
            Painter.Fill(level, rect, Tile.Chasm);

            var platform = new MovingPlatform();

            platform.X          = vertical ? (Rnd.Int(Left + 2, Right - 2)) * 16 : (Left + GetWidth() / 2) * 16;
            platform.Y          = vertical ? (Top + GetHeight() / 2) * 16 : (Rnd.Int(Top + 2, Bottom - 2)) * 16;
            platform.Controller = Rnd.Chance(40) ? (Rnd.Chance() ? PlatformController.ClockWise : PlatformController.CounterClockWise) : (vertical ? PlatformController.UpDown : PlatformController.LeftRight);

            level.Area.Add(platform);

            if (Rnd.Chance(30))
            {
                var turret = new RotatingTurret();
                level.Area.Add(turret);
                turret.Center = platform.Position + new Vector2(16, 12);
            }
        }