Example #1
0
        /* Add to list */
        public FX addFX(double x, double y, BlitRect blit, Point dir = null, int delay = 0, Boolean push = true, Boolean looped = false, Boolean killOffScreen = true, Boolean room = false)
        {
            var item = new FX(x, y, blit, bitmapData, canvasPoint, dir, delay, looped, killOffScreen);

            if (room)
            {
                if (push)
                {
                    roomFx.push(item);
                }
                else
                {
                    roomFx.unshift(item);
                }
            }
            else
            {
                if (push)
                {
                    fx.push(item);
                }
                else
                {
                    fx.unshift(item);
                }
            }
            return(item);
        }
Example #2
0
        public static UIManager confirmDialog(double x, double y, BlitRect panel, Action okayCallback, BlitRect okayBlit, BlitRect cancelBlit, Action cancelCallback = null, Action selectSoundCallback = null)
        {
            dialog = new UIManager();
            dialog.selectSoundCallback = selectSoundCallback;
            cancelCallback             = cancelCallback ?? closeDialog;
            int      i;
            Point    point;
            BlitRect blit;
            Action   f;
            var      buttonPoints = new Array <Point> {
                new Point(x, y), new Point(x + 3, y + 3), new Point(x + okayBlit.width + 4, y + 3)
            };
            var buttonBlits = new Array <BlitRect> {
                panel, okayBlit, cancelBlit
            };
            var buttonCallbacks = new Array <Action> {
                null, okayCallback, cancelCallback
            };

            for (i = 0; i < buttonPoints.length; i++)
            {
                point = buttonPoints[i];
                blit  = buttonBlits[i];
                f     = buttonCallbacks[i];
                dialog.addButton(point.x, point.y, blit, f, null, f != null);
            }
            return(dialog);
        }
Example #3
0
        public BlitButton addButton(double x, double y, BlitRect blit, Action callback = null, Rectangle area = null, Boolean states = true)
        {
            var button = new BlitButton(x, y, blit, callback, area, states);

            buttons.push(button);
            return(button);
        }
Example #4
0
 public FX(double x, double y, BlitRect blit, BitmapData bitmapData, Point canvasPoint, Point dir = null, int delay = 0, Boolean looped = false, Boolean killOffScreen = true) : base(x, y)
 {
     this.blit          = blit;
     this.bitmapData    = bitmapData;
     this.canvasPoint   = canvasPoint;
     this.dir           = dir;
     this.looped        = looped;
     this.killOffScreen = killOffScreen;
     frame  = 0 - delay;
     active = true;
 }
Example #5
0
        /* Returns a a copy of this object */
        public virtual BlitRect clone()
        {
            var blit = new BlitRect();

            blit.x      = x;
            blit.y      = y;
            blit.dx     = dx;
            blit.dy     = dy;
            blit.width  = width;
            blit.height = height;
            blit.rect   = new Rectangle(0, 0, width, height);
            blit.col    = col;
            return(blit);
        }
Example #6
0
 public BlitButton(double x, double y, BlitRect blit, Action callback, Rectangle area = null, Boolean states = true)
 {
     this.x        = x;
     this.y        = y;
     this.blit     = blit;
     this.states   = states;
     this.callback = callback;
     if (area == null)
     {
         area = new Rectangle(0, 0, blit.width, blit.height);
     }
     this.area = area;
     visible   = true;
     active    = false;
     focusLock = true;
 }
Example #7
0
        /* ===============================================================================================================
         *
         *  INIT
         *
         * Initialisation is separated from the constructor to allow reference paths to be complete before all
         * of the graphics are generated - an object is null until its constructor has been exited
         *
         * ===============================================================================================================
         */
        public void init()
        {
            FX.renderer          = this;
            FoodClockFX.renderer = this;
            Level.renderer       = this;
            TitleMenu.renderer   = this;
            RoomPainter.renderer = this;
            RoomPalette.renderer = this;

            var gameSpriteSheetBitmap = GameSpriteSheet;
            var menuSpriteSheetBitmap = MenuSpriteSheet;

            //gameSpriteSheet = gameSpriteSheetBitmap.bitmapData;
            gameSpriteSheet       = new BitmapData(GameSpriteSheet, 0, 0);       //  menuSpriteSheetBitmap.bitmapData);
            menuSpriteSheet       = new BitmapData(MenuSpriteSheet, 0, 0);       //  menuSpriteSheetBitmap.bitmapData);
            backgroundSpriteSheet = new BitmapData(BackgroundSpriteSheet, 0, 0); //  menuSpriteSheetBitmap.bitmapData);

            sparkBlit              = new BlitRect(0, 0, 1, 1, 0xffffffff);
            debrisBlit             = new BlitRect(0, 0, 1, 1, 0xffffffff);
            wallDebrisBlit         = new BlitRect(0, 0, 1, 1, WALL_COL);
            wallBlit               = new BlitSprite(gameSpriteSheet, new Rectangle(24, 0, 8, 8));
            indestructibleWallBlit = new BlitSprite(gameSpriteSheet, new Rectangle(80, 0, 8, 8));
            enemyWallBlit          = new BlitSprite(gameSpriteSheet, new Rectangle(88, 0, 8, 8));
            trapBlit               = new BlitClip(gameSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 16, 8, 8),
                new Rectangle(8, 16, 8, 8),
                new Rectangle(16, 16, 8, 8),
                new Rectangle(24, 16, 8, 8),
                new Rectangle(32, 16, 8, 8),
                new Rectangle(40, 16, 8, 8),
                new Rectangle(48, 16, 8, 8),
                new Rectangle(56, 16, 8, 8),
                new Rectangle(64, 16, 8, 8),
                new Rectangle(72, 16, 8, 8),
                new Rectangle(80, 16, 8, 8),
                new Rectangle(88, 16, 8, 8),
                new Rectangle(96, 16, 8, 8),
                new Rectangle(104, 16, 8, 8),
                new Rectangle(0, 24, 8, 8)
            });
            generatorBlit        = new BlitSprite(gameSpriteSheet, new Rectangle(96, 0, 8, 8));
            generatorWarningBlit = new BlitRect(0, 0, 7, 7, 0xFFFFFFFF);
            playerBlit           = new BlitSprite(gameSpriteSheet, new Rectangle(16, 0, 8, 8));
            playerBuffer         = new BlitSprite(gameSpriteSheet, new Rectangle(96, 64, 8, 8));
            allyBlit             = new BlitSprite(gameSpriteSheet, new Rectangle(64, 0, 8, 8));
            moverBlit            = new BlitSprite(gameSpriteSheet, new Rectangle(48, 0, 8, 8));
            horizMoverBlit       = new BlitSprite(gameSpriteSheet, new Rectangle(40, 0, 8, 8));
            vertMoverBlit        = new BlitSprite(gameSpriteSheet, new Rectangle(32, 0, 8, 8));
            turnerBlit           = new BlitClip(gameSpriteSheet, new Array <Rectangle> {
                new Rectangle(16, 8, 8, 8),
                new Rectangle(24, 8, 8, 8),
                new Rectangle(32, 8, 8, 8),
                new Rectangle(40, 8, 8, 8),
                new Rectangle(48, 8, 8, 8),
                new Rectangle(56, 8, 8, 8),
                new Rectangle(64, 8, 8, 8),
                new Rectangle(72, 8, 8, 8)
            });
            virusBlit        = new BlitSprite(gameSpriteSheet, new Rectangle(56, 0, 8, 8));
            errorBlit        = new BlitRect(3, 3, 3, 3, 0xFFFF0000);
            swapBlit         = new BlitSprite(gameSpriteSheet, new Rectangle(72, 0, 8, 8));
            numberBlit       = new NumberBlit(gameSpriteSheet, new Rectangle(112, 0, 8, 80), 2, 0.25, -1, -1, 6);
            notCompletedBlit = new BlitRect(-1, -1, 3, 3, UI_COL_BORDER);
            timerCountBlit   = new BlitClip(gameSpriteSheet, new Array <Rectangle> {
                new Rectangle(112, 0, 8, 8),
                new Rectangle(112, 8, 8, 8),
                new Rectangle(112, 16, 8, 8),
                new Rectangle(112, 24, 8, 8)
            });
            checkMarkBlit = new BlitSprite(gameSpriteSheet, new Rectangle(56, 32, 8, 8));
            voidBlit      = new BlitRect(0, 0, (int)SCALE, (int)SCALE, 0xFF000000);
            doorBlit      = new BlitClip(gameSpriteSheet, new Array <Rectangle> {
                new Rectangle(8, 24, 8, 8),
                new Rectangle(16, 24, 8, 8),
                new Rectangle(24, 24, 8, 8),
                new Rectangle(32, 24, 8, 8),
                new Rectangle(40, 24, 8, 8),
                new Rectangle(48, 24, 8, 8),
                new Rectangle(56, 24, 8, 8),
                new Rectangle(64, 24, 8, 8),
                new Rectangle(72, 24, 8, 8),
                new Rectangle(80, 24, 8, 8)
            });
            bombBlit      = new BlitSprite(gameSpriteSheet, new Rectangle(104, 0, 8, 8));
            explosionBlit = new BlitClip(gameSpriteSheet, new Array <Rectangle> {
                new Rectangle(80, 8, 8, 8),
                new Rectangle(80, 8, 8, 8),
                new Rectangle(88, 8, 8, 8),
                new Rectangle(88, 8, 8, 8),
                new Rectangle(96, 8, 8, 8),
                new Rectangle(96, 8, 8, 8),
                new Rectangle(104, 8, 8, 8),
                new Rectangle(104, 8, 8, 8)
            });
            whiteBlit     = new BlitSprite(gameSpriteSheet, new Rectangle(88, 64, 8, 8));
            errorBlit     = new BlitRect(1, 1, 5, 5, 0xFFFF0000);
            incrementBlit = new BlitClip(gameSpriteSheet, new Array <Rectangle> {
                new Rectangle(88, 24, 8, 8),
                new Rectangle(88, 24, 8, 8),
                new Rectangle(96, 24, 8, 8),
                new Rectangle(96, 24, 8, 8),
                new Rectangle(104, 24, 8, 8),
                new Rectangle(104, 24, 8, 8),
                new Rectangle(0, 32, 8, 8),
                new Rectangle(0, 32, 8, 8),
                new Rectangle(8, 32, 8, 8),
                new Rectangle(8, 32, 8, 8),
                new Rectangle(16, 32, 8, 8),
                new Rectangle(16, 32, 8, 8),
                new Rectangle(24, 32, 8, 8),
                new Rectangle(24, 32, 8, 8),
                new Rectangle(32, 32, 8, 8),
                new Rectangle(32, 32, 8, 8),
                new Rectangle(40, 32, 8, 8),
                new Rectangle(40, 32, 8, 8),
                new Rectangle(48, 32, 8, 8),
                new Rectangle(48, 32, 8, 8),
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null
            });
            endingDistBlit = new BlitClip(gameSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 56, 8, 8),
                new Rectangle(8, 56, 8, 8),
                new Rectangle(16, 56, 8, 8),
                new Rectangle(24, 56, 8, 8),
                new Rectangle(32, 56, 8, 8),
                new Rectangle(40, 56, 8, 8),
                new Rectangle(48, 56, 8, 8),
                new Rectangle(56, 56, 8, 8),
                new Rectangle(64, 56, 8, 8),
                new Rectangle(72, 56, 8, 8)
            });
            settingsButtonBlit = new BlitClip(gameSpriteSheet, new Array <Rectangle> {
                new Rectangle(64, 32, 8, 8),
                new Rectangle(72, 32, 8, 8)
            });
            turnsBlit            = new BlitSprite(menuSpriteSheet, new Rectangle(48, 60, 16, 10));
            propertySelectedBlit = new BlitSprite(menuSpriteSheet, new Rectangle(79, 88, 9, 9), -1, -1);
            roomPaletteBlit      = new BlitSprite(menuSpriteSheet, new Rectangle(44, 72, 35, 67), -1, -1);

            puzzleButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 72, 22, 22),
                new Rectangle(22, 72, 22, 22)
            });
            adventureButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 94, 22, 22),
                new Rectangle(22, 94, 22, 22)
            });
            editorButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 116, 22, 22),
                new Rectangle(22, 116, 22, 22)
            });
            checkButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(48, 12, 12, 12),
                new Rectangle(60, 12, 12, 12),
                new Rectangle(72, 12, 12, 12),
                new Rectangle(84, 12, 12, 12)
            });
            playButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(48, 48, 12, 12),
                new Rectangle(60, 48, 12, 12)
            });
            propertyButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(72, 48, 12, 12),
                new Rectangle(84, 48, 12, 12)
            });
            scrollButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(24, 60, 12, 12),
                new Rectangle(36, 60, 12, 12),
                new Rectangle(79, 106, 12, 12),
                new Rectangle(79, 118, 12, 12)
            });
            loadButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 36, 12, 12),
                new Rectangle(12, 36, 12, 12)
            });
            saveButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(72, 24, 12, 12),
                new Rectangle(84, 24, 12, 12)
            });
            cancelButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 0, 12, 12),
                new Rectangle(12, 0, 12, 12)
            });
            confirmButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(24, 0, 12, 12),
                new Rectangle(36, 0, 12, 12)
            });
            resetButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 12, 12, 12),
                new Rectangle(12, 12, 12, 12)
            });
            controlsButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 48, 12, 12),
                new Rectangle(12, 48, 12, 12),
                new Rectangle(24, 48, 12, 12),
                new Rectangle(36, 48, 12, 12)
            });
            orientationButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(24, 12, 12, 12),
                new Rectangle(36, 12, 12, 12)
            });
            soundButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(24, 36, 12, 12),
                new Rectangle(36, 36, 12, 12),
                new Rectangle(48, 36, 12, 12),
                new Rectangle(36, 36, 12, 12)
            });
            fullscreenButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(84, 36, 12, 12),
                new Rectangle(72, 36, 12, 12),
                new Rectangle(60, 36, 12, 12),
                new Rectangle(72, 36, 12, 12)
            });
            editButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 60, 12, 12),
                new Rectangle(12, 60, 12, 12)
            });
            numberButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(48, 60, 16, 10),
                new Rectangle(64, 60, 16, 10)
            });
            leftButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(48, 0, 12, 12),
                new Rectangle(60, 0, 12, 12)
            });
            rightButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(72, 0, 12, 12),
                new Rectangle(84, 0, 12, 12)
            });
            swapButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(48, 24, 12, 12),
                new Rectangle(60, 24, 12, 12)
            });
            insertBeforeButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(0, 24, 12, 12),
                new Rectangle(12, 24, 12, 12)
            });
            insertAfterButtonBlit = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(24, 24, 12, 12),
                new Rectangle(36, 24, 12, 12)
            });
            confirmPanelBlit      = new BlitSprite(menuSpriteSheet, new Rectangle(0, 157, 31, 19));
            levelMovePanelBlit    = new BlitSprite(menuSpriteSheet, new Rectangle(0, 139, 70, 18));
            levelPreviewPanelBlit = new BlitSprite(menuSpriteSheet, new Rectangle(79, 72, 16, 16));
            paintBlit             = new BlitClip(menuSpriteSheet, new Array <Rectangle> {
                new Rectangle(79, 97, 9, 9),
                new Rectangle(80, 60, 9, 9)
            }, -1, -1);
            lockedBlit = new BlitSprite(menuSpriteSheet, new Rectangle(89, 60, 7, 7));

            int fade_delay = 10;

            mapFadeBlits = new Array <FadingBlitRect> {
                new FadingBlitRect(0, 0, (int)(Level.MAP_WIDTH * SCALE), (int)((Level.ROOM_HEIGHT - 1) * SCALE), fade_delay),
                new FadingBlitRect((int)(Level.ROOM_WIDTH * SCALE), 0, (int)((Level.ROOM_WIDTH - 1) * SCALE), (int)(Level.MAP_HEIGHT * SCALE), fade_delay),
                new FadingBlitRect(0, (int)(Level.ROOM_HEIGHT * SCALE), (int)(Level.MAP_WIDTH * SCALE), (int)((Level.ROOM_HEIGHT - 1) * SCALE), fade_delay),
                new FadingBlitRect(0, 0, (int)((Level.ROOM_WIDTH - 1) * SCALE), (int)(Level.MAP_HEIGHT * SCALE), fade_delay),
            };
            darkBitmapData = new BitmapData((int)Game.WIDTH, (int)Game.HEIGHT, true, 0x88000000);

            glitchMap = new GlitchMap();

            slideFade = new BlitSprite(new BitmapData((int)Game.WIDTH, (int)Game.HEIGHT, true, 0x08000000), new Rectangle(0, 0, Game.WIDTH, Game.HEIGHT));

            TextBox.init(new Array <Rectangle> {
                new Rectangle(1, 40, 6, 7),     // a
                new Rectangle(9, 40, 6, 7),     // b
                new Rectangle(17, 40, 6, 7),    // c
                new Rectangle(25, 40, 6, 7),    // d
                new Rectangle(33, 40, 6, 7),    // e
                new Rectangle(41, 40, 6, 7),    // f
                new Rectangle(49, 40, 6, 7),    // g
                new Rectangle(57, 40, 6, 7),    // h
                new Rectangle(65, 40, 6, 7),    // i
                new Rectangle(73, 40, 6, 7),    // j
                new Rectangle(81, 40, 6, 7),    // k
                new Rectangle(89, 40, 6, 7),    // l
                new Rectangle(97, 40, 6, 7),    // m
                new Rectangle(105, 40, 6, 7),   // n
                new Rectangle(1, 48, 6, 7),     // o
                new Rectangle(9, 48, 6, 7),     // p
                new Rectangle(17, 48, 6, 7),    // q
                new Rectangle(25, 48, 6, 7),    // r
                new Rectangle(33, 48, 6, 7),    // s
                new Rectangle(41, 48, 6, 7),    // t
                new Rectangle(49, 48, 6, 7),    // u
                new Rectangle(57, 48, 6, 7),    // v
                new Rectangle(65, 48, 6, 7),    // w
                new Rectangle(73, 48, 6, 7),    // x
                new Rectangle(81, 48, 6, 7),    // y
                new Rectangle(89, 48, 6, 7),    // z
                new Rectangle(1, 56, 6, 7),     // 0
                new Rectangle(9, 56, 6, 7),     // 1
                new Rectangle(17, 56, 6, 7),    // 2
                new Rectangle(25, 56, 6, 7),    // 3
                new Rectangle(33, 56, 6, 7),    // 4
                new Rectangle(41, 56, 6, 7),    // 5
                new Rectangle(49, 56, 6, 7),    // 6
                new Rectangle(57, 56, 6, 7),    // 7
                new Rectangle(65, 56, 6, 7),    // 8
                new Rectangle(73, 56, 6, 7),    // 9
                new Rectangle(19, 64, 2, 4),    // '
                new Rectangle(33, 64, 6, 7),    // backslash
                new Rectangle(),                // :
                new Rectangle(3, 64, 2, 8),     // ,
                new Rectangle(73, 64, 6, 7),    // =
                new Rectangle(99, 56, 2, 7),    // !
                new Rectangle(81, 64, 6, 7),    // /
                new Rectangle(41, 64, 6, 7),    // -
                new Rectangle(58, 64, 3, 8),    // (
                new Rectangle(49, 64, 6, 7),    // +
                new Rectangle(89, 56, 6, 7),    // ?
                new Rectangle(66, 64, 3, 8),    // )
                new Rectangle(),                // ;
                new Rectangle(107, 56, 2, 7),   // .
                new Rectangle(8, 64, 8, 7),     // @
                new Rectangle(),                // _
                new Rectangle(81, 56, 6, 7),    // %
                new Rectangle(),                // *
                new Rectangle(26, 64, 4, 4)     // "
            }, gameSpriteSheet);

            fxFilterCallBack = (FX item, int index, Array <FX> list) => {
                item.main();
                return(item.active);
            };
        }