public VolumnControl(Point startPos, Type type)
            {
                this.type = type;
                var unit = Global.Instance.Unit;

                this.startPos = new Point(startPos.X + unit * 5, startPos.Y);
                var graphics        = Global.Instance.Graphics;
                var progressTexture = new Texture2D(graphics, 1, 1);

                endPos = new Point(this.startPos.X + unit * 10, this.startPos.Y);
                progressTexture.SetData(new Color[]
                {
                    Color.Red
                });
                string titleText = "";

                switch (type)
                {
                case Type.Music:
                    vol       = SoundManager.Instance.MusicVolumn;
                    titleText = "Music volumn";
                    break;

                case Type.Sound:
                    vol       = SoundManager.Instance.SoundVolumn;
                    titleText = "Sound volumn";
                    break;
                }
                var progressLength = (int)(vol * unit * 10);

                title    = new _2DModel(titleText, ResManager.Instance.SmallNotifyFont, new Vector2(startPos.X, startPos.Y), Color.Blue);
                progress = new _2DModel(progressTexture, new Rectangle(this.startPos.X, this.startPos.Y + unit / 4, progressLength, unit / 2), Color.White);
                control  = new _2DModel(ResManager.Instance.Control, new Rectangle(this.startPos.X + progressLength, this.startPos.Y, unit, unit), Color.White);
            }
        public Effect(EffectType type)
        {
            this.type = type;
            Texture2D texture = null;
            int       numbersOfAnimationType = -1;

            switch (type)
            {
            case EffectType.Collision:
                texture                = ResManager.Instance.Collision;
                numbersOfAnimation     = 4;
                numbersOfAnimationType = 4;
                break;

            case EffectType.Angry:
                texture                = ResManager.Instance.Flaming;
                numbersOfAnimation     = 5;
                numbersOfAnimationType = 3;
                break;
            }

            var sourceRect = new Rectangle(0, 0, texture.Width / numbersOfAnimation, texture.Height / numbersOfAnimationType);

            model = new _2DModel(texture, Rectangle.Empty, Color.White, sourceRect);
        }
        public Obstacle(int x, int y)
        {
            var unit         = Global.Instance.Unit;
            var realPosition = MapToRealPosition(x, y);

            logicPos = new Point(x, y);
            type     = Type.Obstacle;
            model    = new _2DModel(ResManager.Instance.Wall, new Rectangle(realPosition.X, realPosition.Y, unit, unit), Color.White);
        }
        public MazeUI()
        {
            var unit = Global.Instance.Unit;

            MazeObject.MazeStartPoint = new Point(unit * 11, unit * 2);
            mapWidth    = Global.Instance.MapWidth;
            mapHeight   = Global.Instance.MapHeight;
            collision   = new Effect(Effect.EffectType.Collision);
            playerSteps = new _2DModel("Numbers of step: ", ResManager.Instance.SmallNotifyFont, new Vector2(unit * 11, unit), Color.Red);
            InitMap();
        }
        public LoserUI()
        {
            var unit              = Global.Instance.Unit;
            var graphics          = Global.Instance.Graphics;
            var text              = "GAME OVER!";
            var titleStringLength = ResManager.Instance.NotifyFont.MeasureString(text);
            var titlePos          = new Vector2(unit * 10 + (graphics.Viewport.Width - unit * 10 - titleStringLength.X) / 2, unit);

            title = new _2DModel(text, ResManager.Instance.NotifyFont, titlePos, Color.Blue);

            RIPImage    = new _2DModel(ResManager.Instance.Rip, new Rectangle(unit * 11, unit * 3, unit * 6, unit * 6), Color.White);
            deathReason = new _2DModel("You've been killed by monster", ResManager.Instance.SmallNotifyFont, new Vector2(unit * 18, unit * 4), Color.Red);
        }
Exemple #6
0
        public NotificationUI(string notificationText)
        {
            var graphics         = Global.Instance.Graphics;
            var unit             = Global.Instance.Unit;
            var notificationSize = ResManager.Instance.NotifyFont.MeasureString(notificationText);
            var notificationPos  = new Vector2((graphics.Viewport.Width - notificationSize.X) / 2,
                                               graphics.Viewport.Height / 4);
            var buttonPos = new Point(graphics.Viewport.Width / 2 - unit * 5, graphics.Viewport.Height / 4 + unit * 2);

            notification = new _2DModel(notificationText, ResManager.Instance.NotifyFont, notificationPos, Color.Red);
            ok           = new Button("OK", buttonPos, EventBoard.Event.DismissDialog);
            container    = new _2DModel(ResManager.Instance.Dialog, new Rectangle(graphics.Viewport.Width / 2 - unit * 10, (int)(notificationPos.Y - unit), unit * 20, unit * 6), Color.White);
        }
        public Button(string text, Point position, EventBoard.Event ev)
        {
            this.ev = ev;
            var spriteFont    = ResManager.Instance.NotifyFont;
            var unit          = Global.Instance.Unit;
            var containerRect = new Rectangle(position.X, position.Y, unit * 8, unit * 2);
            var textVector    = spriteFont.MeasureString(text);
            var textPosition  = new Vector2(position.X + (containerRect.Width - textVector.X) / 2,
                                            position.Y + (containerRect.Height - textVector.Y) / 2);

            container = new _2DModel(ResManager.Instance.ButtonContainer, containerRect, Color.White);
            light     = new _2DModel(ResManager.Instance.Light, containerRect, Color.White);
            textModel = new _2DModel(text, spriteFont, textPosition, Color.Red);
        }
        public MenuUI()
        {
            Type = UIType.Menu;
            SoundManager.Instance.PlayMusic(ResManager.Instance.MenuMusic);
            var unit         = Global.Instance.Unit;
            var graphics     = Global.Instance.Graphics;
            var width        = graphics.Viewport.Width;
            var logoStartX   = (width - unit * 13) / 2;
            var buttonStartX = (width - unit * 8) / 2;

            background = new _2DModel(ResManager.Instance.MenuBackground, new Rectangle(0, 0, graphics.Viewport.Width, graphics.Viewport.Height), Color.White);
            logo       = new _2DModel(ResManager.Instance.Logo, new Rectangle(logoStartX, unit, unit * 13, unit * 3), Color.White);
            newGame    = new Button("NEW GAME", new Point(buttonStartX, unit * 5), EventBoard.Event.StartGame);
            setting    = new Button("SETTING", new Point(buttonStartX, unit * 8), EventBoard.Event.OpenSetting);
            exit       = new Button("EXIT", new Point(buttonStartX, unit * 11), EventBoard.Event.Exit);
        }
        public SettingUI()
        {
            var unit = Global.Instance.Unit;

            SoundManager.Instance.Backup();
            title = new _2DModel("SETTING", ResManager.Instance.NotifyFont, new Vector2(unit * 2, unit / 2), Color.Red);
            musicVolumnControl = new VolumnControl(new Point(unit * 2, unit * 2), VolumnControl.Type.Music);
            soundVolumnControl = new VolumnControl(new Point(unit * 2, unit * 4), VolumnControl.Type.Sound);
            playerSelector     = new CharacterSelector(new Point(unit * 2, unit * 6), CharacterSelector.Type.Player);
            mummySelector      = new CharacterSelector(new Point(unit * 2, unit * 8), CharacterSelector.Type.Mummy);
            scorpionSelector   = new CharacterSelector(new Point(unit * 2, unit * 10), CharacterSelector.Type.Scorpion);
            zombieSelector     = new CharacterSelector(new Point(unit * 2, unit * 12), CharacterSelector.Type.Zombie);

            apply  = new Button("APPLY", new Point(unit * 20, unit * 3), EventBoard.Event.ApplySetting);
            cancel = new Button("CANCEL", new Point(unit * 20, unit * 6), EventBoard.Event.CancelSetting);
        }
Exemple #10
0
        public MainUI()
        {
            SoundManager.Instance.PlayMusic(ResManager.Instance.GameMusic);
            state = State.Playing;
            var unit     = Global.Instance.Unit;
            var graphics = Global.Instance.Graphics;

            mazeUI   = new MazeUI();
            winnerUI = new WinnerUI();
            loserUI  = new LoserUI();

            background = new _2DModel(ResManager.Instance.Ground, new Rectangle(0, 0, graphics.Viewport.Width, graphics.Viewport.Height), Color.White);
            logo       = new _2DModel(ResManager.Instance.Logo, new Rectangle(unit, unit, unit * 8, unit * 2), Color.White);

            playAgain    = new Button("PLAY AGAIN", new Point(unit, unit * 4), EventBoard.Event.ResetGame);
            setting      = new Button("SETTING", new Point(unit, unit * 7), EventBoard.Event.OpenSetting);
            returnToMenu = new Button("RETURN TO MENU", new Point(unit, unit * 10), EventBoard.Event.ReturnToMenu);
        }
Exemple #11
0
        public Character(Type type, int x, int y)
        {
            this.type       = type;
            discoveryEffect = new _2DModel(ResManager.Instance.DiscoveryEffect, Rectangle.Empty, Color.White);
            logicPos        = new Point(x, y);
            var       res          = ResManager.Instance;
            var       unit         = Global.Instance.Unit;
            var       realPosition = MapToRealPosition(x, y);
            Texture2D texture;

            switch (type)
            {
            case Type.Player:
                texture              = res.Player;
                numbersOfMovement    = 4;
                defaultMovementIndex = 2;
                break;

            case Type.Mummy:
                texture              = res.Mummy;
                numbersOfMovement    = 3;
                defaultMovementIndex = 1;
                break;

            case Type.Scorpion:
                texture              = res.Scorpion;
                numbersOfMovement    = 4;
                defaultMovementIndex = 2;
                break;

            default:
                texture              = res.Zombie;
                numbersOfMovement    = 6;
                defaultMovementIndex = 0;
                break;
            }

            model                = new _2DModel(texture, new Rectangle(realPosition.X, realPosition.Y, unit, unit), Color.White);
            movementType         = 0;
            currentMovementIndex = defaultMovementIndex;
        }
Exemple #12
0
        public WinnerUI()
        {
            var unit     = Global.Instance.Unit;
            var graphics = Global.Instance.Graphics;

            var text = "CONGRATULATION! YOU'VE ESCAPED!";
            var titleStringLength = ResManager.Instance.NotifyFont.MeasureString(text);
            var titlePos          = new Vector2(unit * 10 + (graphics.Viewport.Width - unit * 10 - titleStringLength.X) / 2, unit);

            title = new _2DModel(text, ResManager.Instance.NotifyFont, titlePos, Color.Red);

            score          = new _2DModel("YOU SCORE: ", ResManager.Instance.SmallNotifyFont, new Vector2(unit * 11, unit * 3), Color.Blue);
            numOfTreasure  = new _2DModel("TREASURE QUANLITY: ", ResManager.Instance.SmallNotifyFont, new Vector2(unit * 11, unit * 4), Color.Blue);
            treasureWeight = new _2DModel("TREASURE WEIGHT: ", ResManager.Instance.SmallNotifyFont, new Vector2(unit * 11, unit * 5), Color.Blue);
            save           = new Button("SAVE", new Point(unit * 21, unit * 3), EventBoard.Event.SaveRecord);

            text = "TOP PLAYERS";
            titleStringLength = ResManager.Instance.NotifyFont.MeasureString(text);
            titlePos          = new Vector2(unit * 10 + (graphics.Viewport.Width - unit * 10 - titleStringLength.X) / 2, unit * 6);
            recordTitle       = new _2DModel(text, ResManager.Instance.NotifyFont, titlePos, Color.Red);
            playerNameTitle   = new _2DModel("Player name", ResManager.Instance.SmallNotifyFont, new Vector2(unit * 13, unit * 7), Color.Red);
            scoreTitle        = new _2DModel("Player score", ResManager.Instance.SmallNotifyFont, new Vector2(unit * 23, unit * 7), Color.Red);
        }
Exemple #13
0
 public void InitMouseSprite()
 {
     model = new _2DModel(ResManager.Instance.Cursor, Rectangle.Empty, Color.White);
 }
            public CharacterSelector(Point pos, Type type)
            {
                var unit        = Global.Instance.Unit;
                var graphics    = Global.Instance.Graphics;
                var lineTexture = new Texture2D(graphics, 1, 1);

                lineTexture.SetData(new Color[]
                {
                    Color.Blue
                });
                this.type = type;
                Texture2D texture = ResManager.Instance.Player;
                int       numbersOfFrame = 4, defaultFrameIndex = 2;
                Color     characterColor = Character.PlayerColor;
                string    title          = "Player style";

                switch (type)
                {
                case Type.Mummy:
                    texture           = ResManager.Instance.Mummy;
                    numbersOfFrame    = 3;
                    defaultFrameIndex = 1;
                    characterColor    = Character.MummyColor;
                    title             = "Mummy style";
                    break;

                case Type.Scorpion:
                    texture           = ResManager.Instance.Scorpion;
                    numbersOfFrame    = 4;
                    defaultFrameIndex = 2;
                    characterColor    = Character.ScorpionColor;
                    title             = "Scorpion style";
                    break;

                case Type.Zombie:
                    texture           = ResManager.Instance.Zombie;
                    numbersOfFrame    = 6;
                    defaultFrameIndex = 0;
                    characterColor    = Character.ZombieColor;
                    title             = "Zombie style";
                    break;
                }

                var sourceRect = new Rectangle((texture.Width / numbersOfFrame) * defaultFrameIndex, 0,
                                               texture.Width / numbersOfFrame, texture.Height / 4);

                this.title = new _2DModel(title, ResManager.Instance.SmallNotifyFont, new Vector2(pos.X, pos.Y), Color.Red);
                characters = new _2DModel[]
                {
                    new _2DModel(texture, new Rectangle(pos.X + unit * 5, pos.Y, unit, unit), Color.White, sourceRect),
                    new _2DModel(texture, new Rectangle(pos.X + unit * 9, pos.Y, unit, unit), Color.Green, sourceRect),
                    new _2DModel(texture, new Rectangle(pos.X + unit * 13, pos.Y, unit, unit), Color.Blue, sourceRect)
                };

                for (int i = 0; i < 3; i++)
                {
                    if (characters[i].CurrentColor.Equals(characterColor))
                    {
                        selectedCharacter = i;
                        var rect = characters[i].Rect;
                        selectedLine = new _2DModel(lineTexture, new Rectangle(rect.Left, rect.Bottom + 5, rect.Width, 5), Color.White);
                        break;
                    }
                }
            }