コード例 #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);
        }
コード例 #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);
        }
コード例 #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);
        }
コード例 #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;
 }
コード例 #5
0
ファイル: BlitRect.cs プロジェクト: antonargunov/EndingXNA
        /* 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);
        }
コード例 #6
0
ファイル: BlitButton.cs プロジェクト: antonargunov/EndingXNA
 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;
 }
コード例 #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);
            };
        }