示例#1
0
 public ItemBoxModel(RufusModel _rufusModel, int _type, int _id)
 {
     rufusModel = _rufusModel;
     imagePath  = rufusModel.thumbPath;
     value      = rufusModel.price;
     isActive   = rufusModel.isActive;
     type       = _type;
     id         = _id;
 }
示例#2
0
 public ItemBoxModel(string _imagePath, int _value, bool _isActive, int _type, int _id)
 {
     imagePath  = _imagePath;
     value      = _value;
     isActive   = _isActive;
     type       = _type;
     id         = _id;
     rufusModel = null;
 }
示例#3
0
        private void changeLevelModel()
        {
            string         tempPath = currentLevelModel.bgPath;
            RufusModel     temp     = GameModel.levelsModels.ElementAt(GameModel.getNextLevelActive());
            LevelBehaviour temp2    = (LevelBehaviour)(temp.behaviour);

            currentLevelModel = temp2.levelModel;
            if (currentLevelModel.bgPath != tempPath)
            {
                changeLevelGraphics();
            }
        }
示例#4
0
 public void endHide()
 {
     currentModel = null;
 }
示例#5
0
        public void show(RufusModel rufusModel, int _type)
        {
            type = _type;
            if (type == ItemBoxModel.WEARS_ID)
            {
                firstAtt = "BOUNCE";
                secAtt   = "GRAVITY";
                thrAtt   = "SPEED";

                if (rufusModel.behaviour.bounce == AbstractBehaviour.DEFAULT_BOUNCE)
                {
                    firstSymbol.reload(".\\Sprites\\GUI\\symbols\\equalSymbol");
                }
                else if (rufusModel.behaviour.bounce < AbstractBehaviour.DEFAULT_BOUNCE)
                {
                    firstSymbol.reload(".\\Sprites\\GUI\\symbols\\minusSymbol");
                }
                else
                {
                    firstSymbol.reload(".\\Sprites\\GUI\\symbols\\plusSymbol");
                }
                firstSymbol.init(content);

                if (rufusModel.behaviour.gravity == AbstractBehaviour.DEFAULT_GRAVITY)
                {
                    secSymbol.reload(".\\Sprites\\GUI\\symbols\\equalSymbol");
                }
                else if (rufusModel.behaviour.gravity < AbstractBehaviour.DEFAULT_GRAVITY)
                {
                    secSymbol.reload(".\\Sprites\\GUI\\symbols\\minusSymbol");
                }
                else
                {
                    secSymbol.reload(".\\Sprites\\GUI\\symbols\\plusSymbol");
                }
                secSymbol.init(content);

                if (rufusModel.behaviour.force == AbstractBehaviour.DEFAULT_SPEED)
                {
                    thrSymbol.reload(".\\Sprites\\GUI\\symbols\\equalSymbol");
                }
                else if (rufusModel.behaviour.force < AbstractBehaviour.DEFAULT_SPEED)
                {
                    thrSymbol.reload(".\\Sprites\\GUI\\symbols\\minusSymbol");
                }
                else
                {
                    thrSymbol.reload(".\\Sprites\\GUI\\symbols\\plusSymbol");
                }
                thrSymbol.init(content);
            }
            else if (type == ItemBoxModel.ITENS_ID)
            {
                firstAtt = "FREQUENCY";
                secAtt   = "POINTS";
                thrAtt   = "SPEED";

                if (rufusModel.behaviour.frequency == AbstractBehaviour.DEFAULT_FREQUENCY)
                {
                    firstSymbol.reload(".\\Sprites\\GUI\\symbols\\equalSymbol");
                }
                else if (rufusModel.behaviour.frequency < AbstractBehaviour.DEFAULT_FREQUENCY)
                {
                    firstSymbol.reload(".\\Sprites\\GUI\\symbols\\minusSymbol");
                }
                else
                {
                    firstSymbol.reload(".\\Sprites\\GUI\\symbols\\plusSymbol");
                }
                firstSymbol.init(content);

                if (rufusModel.behaviour.points == AbstractBehaviour.DEFAULT_POINTS)
                {
                    secSymbol.reload(".\\Sprites\\GUI\\symbols\\equalSymbol");
                }
                else if (rufusModel.behaviour.points < AbstractBehaviour.DEFAULT_POINTS)
                {
                    secSymbol.reload(".\\Sprites\\GUI\\symbols\\minusSymbol");
                }
                else
                {
                    secSymbol.reload(".\\Sprites\\GUI\\symbols\\plusSymbol");
                }
                secSymbol.init(content);

                if (rufusModel.behaviour.force == AbstractBehaviour.DEFAULT_SPEED)
                {
                    thrSymbol.reload(".\\Sprites\\GUI\\symbols\\equalSymbol");
                }
                else if (rufusModel.behaviour.force < AbstractBehaviour.DEFAULT_SPEED)
                {
                    thrSymbol.reload(".\\Sprites\\GUI\\symbols\\minusSymbol");
                }
                else
                {
                    thrSymbol.reload(".\\Sprites\\GUI\\symbols\\plusSymbol");
                }
                thrSymbol.init(content);
            }
            else if (type == ItemBoxModel.LEVELS_ID)
            {
                firstAtt = "GRAVITY";
                secAtt   = "POINTS";
                thrAtt   = "ENEMY FREQ.";

                if (rufusModel.behaviour.gravity == AbstractBehaviour.DEFAULT_GRAVITY)
                {
                    firstSymbol.reload(".\\Sprites\\GUI\\symbols\\equalSymbol");
                }
                else if (rufusModel.behaviour.gravity < AbstractBehaviour.DEFAULT_GRAVITY)
                {
                    firstSymbol.reload(".\\Sprites\\GUI\\symbols\\minusSymbol");
                }
                else
                {
                    firstSymbol.reload(".\\Sprites\\GUI\\symbols\\plusSymbol");
                }
                firstSymbol.init(content);

                if (rufusModel.behaviour.points == AbstractBehaviour.DEFAULT_POINTS)
                {
                    secSymbol.reload(".\\Sprites\\GUI\\symbols\\equalSymbol");
                }
                else if (rufusModel.behaviour.points < AbstractBehaviour.DEFAULT_POINTS)
                {
                    secSymbol.reload(".\\Sprites\\GUI\\symbols\\minusSymbol");
                }
                else
                {
                    secSymbol.reload(".\\Sprites\\GUI\\symbols\\plusSymbol");
                }
                secSymbol.init(content);

                if (rufusModel.behaviour.frequency == AbstractBehaviour.DEFAULT_FREQUENCY)
                {
                    thrSymbol.reload(".\\Sprites\\GUI\\symbols\\equalSymbol");
                }
                else if (rufusModel.behaviour.frequency < AbstractBehaviour.DEFAULT_FREQUENCY)
                {
                    thrSymbol.reload(".\\Sprites\\GUI\\symbols\\minusSymbol");
                }
                else
                {
                    thrSymbol.reload(".\\Sprites\\GUI\\symbols\\plusSymbol");
                }
                thrSymbol.init(content);
            }
            currentModel = rufusModel;
            titleLabel   = currentModel.title;
            descLabel    = currentModel.description;

            mainImage.reload(currentModel.largePath);
            mainImage.init(content);
            tweener = new Tweener(-texture.Height, 100f, 0.4f, Back.EaseOut);
            tweener.Start();
            tweener.endCallback = endShow;
        }
示例#6
0
        public override void build()
        {
            base.build();

            loadScreen.init(content);
            //SALVAR O CENARIO ATUAL
            RufusModel     temp  = GameModel.levelsModels.ElementAt(GameModel.currentLevelID);
            LevelBehaviour temp2 = (LevelBehaviour)(temp.behaviour);

            currentLevelModel = temp2.levelModel;

            background = new BackLevelView(currentLevelModel.bgPath);
            if (currentLevelModel.clouds != null)
            {
                background.addClouds(currentLevelModel.clouds);
            }
            background.setColor(currentLevelModel.color);

            background.init(content);
            addChild(background);
            background.start();
            outt = false;

            ButtonModel playModel = new ButtonModel(".\\Sprites\\GUI\\readyButton\\readyButton", ".\\Sprites\\GUI\\readyButton\\readyButtonXML", null);

            playButton = new SimpleButton(playModel, "", new Point(), gotoGame);
            playButton.init(content);
            playButton.position.Y = 570;
            playButton.position.X = 400 - playButton.texture.Width / 2;
            playButton.tweener    = new Tweener(playButton.position.Y, 350f, TimeSpan.FromSeconds(1.0f), Back.EaseOut);
            playButton.tweener.Start();

            locationButton = new SimpleButton(new ButtonModel(".\\Sprites\\GUI\\locationButton\\locationButton", ".\\Sprites\\GUI\\locationButton\\locationButtonXML", null), "", new Point(), changeLevelModel);
            locationButton.init(content);
            locationButton.position.Y = 480;
            locationButton.position.X = 400 - locationButton.texture.Width / 2;
            locationButton.tweener    = new Tweener(locationButton.position.Y, 260f, TimeSpan.FromSeconds(1.0f), Back.EaseOut);
            locationButton.tweener.Start();

            backButton = new HomeButton(gotoInit);
            backButton.init(content);
            backButton.position.Y = 40;
            backButton.position.X = 40;
            // backButton.tweener = new Tweener(backButton.position.Y, 40f, TimeSpan.FromSeconds(1.0f), Back.EaseOut);
            // backButton.tweener.Start();

            changeLevel = new ArrowButton(changeRufus);
            changeLevel.init(content);
            changeLevel.position.Y    = -40;
            changeLevel.position.X    = 490;
            changeLevel.spriteEffects = SpriteEffects.FlipHorizontally;
            changeLevel.scale         = new Vector2(.8f);
            changeLevel.tweener       = new Tweener(changeLevel.position.Y, 120f, TimeSpan.FromSeconds(1.0f), Cubic.EaseOut);
            changeLevel.tweener.Start();

            changeLevelBack = new ArrowButton(changeRufusBack);
            changeLevelBack.init(content);
            changeLevelBack.position.Y    = -40;
            changeLevelBack.position.X    = 268;
            changeLevelBack.spriteEffects = SpriteEffects.None;
            changeLevelBack.scale         = new Vector2(.8f);
            changeLevelBack.tweener       = new Tweener(changeLevel.position.Y, 120f, TimeSpan.FromSeconds(1.0f), Cubic.EaseOut);
            changeLevelBack.tweener.Start();

            backRufusBox = new SimpleButton(new ButtonModel(".\\Sprites\\GUI\\backChoiceRufus", "", null), "", new Point(), openCard);
            backRufusBox.init(content);
            backRufusBox.position.Y = -backRufusBox.texture.Height;
            backRufusBox.position.X = 400 - backRufusBox.texture.Width / 2;
            backRufusBox.tweener    = new Tweener(backRufusBox.position.Y, 40f, TimeSpan.FromSeconds(1.0f), Cubic.EaseOut);
            backRufusBox.tweener.Start();


            rufusImage = new StaticObject(GameModel.rufusModels.ElementAt(GameModel.currentRufusID).largePath);
            rufusImage.init(content);
            rufusImage.position.Y = backRufusBox.position.Y + rufusImage.texture.Height / 2 + backRufusBox.texture.Height / 2;
            rufusImage.position.X = 400 - rufusImage.texture.Width / 2;

            soundButton = new SoundButton(null);
            soundButton.init(content);
            soundButton.position.X = 700f;
            soundButton.position.Y = 40f;

            helpButton = new HelpButton(null);
            helpButton.init(content);
            helpButton.position.X = 600f;
            helpButton.position.Y = 40f;

            addChild(backRufusBox);
            addChild(playButton);
            addChild(changeLevel);
            addChild(changeLevelBack);
            addChild(locationButton);
            addChild(backButton);
            addChild(rufusImage);
            addChild(soundButton);
            addChild(helpButton);
        }
示例#7
0
        internal void update(GameTime gameTime)
        {
            timer += (float)gameTime.ElapsedGameTime.TotalSeconds;


            if (timer >= timecounter)
            {
                Shuffle(lineID);
                Shuffle(colID);

                DefaultEntity temp;

                Random            rndn           = new Random(DateTime.Now.Millisecond);
                int               acum           = 0;
                AbstractBehaviour levelBehaviour = GameModel.levelsModels.ElementAt(GameModel.currentLevelID).behaviour;
                for (int i = 0; i < 5; i++)
                {
                    float rnd = rndn.Next(0, 35);
                    acumSpecial--;
                    if (acumSpecial <= 0)
                    {
                        temp = null;
                        RufusModel tempModel = GameModel.getStarByFrequency();
                        if (tempModel != null)
                        {
                            if (tempModel.behaviour is SimpleStarBehaviour)
                            {
                                temp            = new Star(10);
                                temp.position.X = colID[acum] * 80;
                                temp.position.Y = lineID[acum] * 60;
                            }
                            else if (tempModel.behaviour is MagneticStarBehaviour || tempModel.behaviour is RainStarBehaviour || tempModel.behaviour is TimeStarBehaviour)
                            {
                                temp            = new DefaultMooshroom(0, tempModel.behaviour, false, rufus);
                                temp.position.X = colID[acum] * 80;
                                temp.position.Y = lineID[acum] * 60;
                            }
                        }
                        acumSpecial = (int)(10 + rndn.NextDouble() * 40);
                    }
                    else if (rnd < 4 + levelBehaviour.frequency)
                    {
                        LevelBehaviour tempBehaviour = levelBehaviour as LevelBehaviour;

                        if (tempBehaviour.enemy == 1)
                        {
                            temp = new Bomb1(colID[acum] * 80, (int)((float)rndn.NextDouble() * 30 - 30f));
                        }
                        else if (tempBehaviour.enemy == 2)
                        {
                            temp = new BerryBomb(colID[acum] * 80, (int)((float)rndn.NextDouble() * 30 - 30f));
                        }
                        else if (tempBehaviour.enemy == 3)
                        {
                            temp = new JackO(colID[acum] * 80, (int)((float)rndn.NextDouble() * 30 - 30f));
                        }
                        else if (tempBehaviour.enemy == 4)
                        {
                            temp = new Hells(colID[acum] * 80, (int)((float)rndn.NextDouble() * 30 - 30f));
                        }
                        else if (tempBehaviour.enemy == 5)
                        {
                            temp = new CloudEye(colID[acum] * 80, (int)((float)rndn.NextDouble() * 30 - 30f));
                        }
                        else if (tempBehaviour.enemy == 6)
                        {
                            temp = new Goomba(colID[acum] * 80, (int)((float)rndn.NextDouble() * 30 - 30f));
                        }
                        else
                        {
                            temp = new Bomb1(colID[acum] * 80, (int)((float)rndn.NextDouble() * 30 - 30f));
                        }

                        temp.position.Y = -60;
                    }
                    else if (rnd < 7 + levelBehaviour.frequency)
                    {
                        RufusModel tempModel = GameModel.getBolinhaByFrequency();
                        if (tempModel != null)
                        {
                            if (tempModel.behaviour is GreenBolinhaBehaviour)
                            {
                                temp            = new Bolinha(colID[acum] * 80);
                                temp.position.Y = -50;
                            }
                            else if (tempModel.behaviour is RedBolinhaBehaviour)
                            {
                                temp = new BolinhaVermelha(colID[acum] * 80);
                            }
                            else if (tempModel.behaviour is JumpBolinhaBehaviour)
                            {
                                temp = new BolinhaPulante(colID[acum] * 80);
                            }
                            else
                            {
                                temp            = new BolinhaQuicante(colID[acum] * 80);
                                temp.position.Y = -50;
                            }
                        }
                        else
                        {
                            temp = null;
                        }
                    }
                    //else if (rnd < 8 + levelBehaviour.frequency)
                    //{
                    //    temp = null;
                    //    RufusModel tempModel = GameModel.getStarByFrequency();
                    //    if (tempModel != null)
                    //    {
                    //        if (tempModel.behaviour is SimpleStarBehaviour)
                    //        {
                    //            temp = new Star(10);
                    //            temp.position.X = colID[acum] * 80;
                    //            temp.position.Y = lineID[acum] * 60;
                    //        }
                    //        else if (tempModel.behaviour is MagneticStarBehaviour || tempModel.behaviour is RainStarBehaviour || tempModel.behaviour is TimeStarBehaviour)
                    //        {
                    //            temp = new DefaultMooshroom(0, tempModel.behaviour, false, rufus);
                    //            temp.position.X = colID[acum] * 80;
                    //            temp.position.Y = lineID[acum] * 60;
                    //        }
                    //    }
                    //}
                    else
                    {
                        // temp = new DefaultMooshroom(0, GameModel.itensModels.ElementAt(1).behaviour);
                        temp = new DefaultMooshroom(0, GameModel.getMushroomByFrequency().behaviour, false, rufus);

                        temp.position.X = colID[acum] * 80;
                        temp.position.Y = lineID[acum] * 60;
                    }


                    if (temp != null)
                    {
                        entityLayer.add(temp);
                        entityLayer.init(content);
                    }

                    timer = 0f;

                    acum++;
                }
            }
        }