示例#1
0
        public void OnlineError()
        {
            if (FrameworkCore.isTrialMode())
            {
                return;
            }

            SysPopup signPrompt = new SysPopup(FrameworkCore.sysMenuManager,
                                               Resource.MenuHighScoreSendError);

            signPrompt.transitionOnTime  = 200;
            signPrompt.transitionOffTime = 200;
            signPrompt.darkenScreen      = true;
            signPrompt.hideChildren      = false;
            signPrompt.sideIconRect      = sprite.windowIcon.error;

            MenuItem item = new MenuItem(Resource.MenuOK);

            item.Selected += CloseMenu;
            signPrompt.AddItem(item);

            FrameworkCore.sysMenuManager.AddMenu(signPrompt);

            FrameworkCore.PlayCue(sounds.click.error);
        }
        /// <summary>
        /// Remove the "unlock full game" option if it's still on the screen.
        /// </summary>
        private void TrialCheck()
        {
            if (!trialMenu)
            {
                return;
            }

            if (FrameworkCore.isTrialMode())
            {
                return;
            }

            for (int x = menuItems.Count - 1; x >= 0; x--)
            {
                if (menuItems[x].text == Resource.MenuUnlockFullGame)
                {
                    menuItems.RemoveAt(x);
                }
            }

            //default the cursor to the first item.
            selectedItem = menuItems[0];

            trialMenu = false;
        }
        private void CheckNewestVersion()
        {
            //demo doesn't auto update.
            if (FrameworkCore.isTrialMode())
            {
                return;
            }

            //OPEN THE TXT FILE THAT HAS THE NEWEST FLOTILLA VERSION.
            string url    = "http://www.blendogames.com/flotilla/version.txt";
            string result = null;

            try
            {
                WebClient client = new WebClient();
                result = client.DownloadString(url);

                HandlePatchCheck(result);
            }
            catch //(Exception ex)
            {
                //handle error
                //Console.WriteLine(ex.Message);
            }
        }
示例#4
0
        private void PopulateEvents()
        {
            //register the base events into the pool.
            eventPool.Add(new evSpaceHulk());
            eventPool.Add(new evAurora());
            eventPool.Add(new evHitchhikers());
            eventPool.Add(new evRuins());
            eventPool.Add(new evProfessors());
            eventPool.Add(new evMurder());
            eventPool.Add(new evKatanaShip());
            eventPool.Add(new evCrocodile());
            eventPool.Add(new evBandits());
            eventPool.Add(new evPigs());
            eventPool.Add(new evDeer());
            eventPool.Add(new evAssassin());
            eventPool.Add(new evKaraoke());


            //events reserved for the full game.
            if (!FrameworkCore.isTrialMode())
            {
                eventPool.Add(new evCasino());
                eventPool.Add(new evStowaway());
                eventPool.Add(new evAbandoned());
                eventPool.Add(new evBabyYetis());
            }



            //eventPool.Add(new evDebug());
        }
        public void StartLoad()
        {
            if (FrameworkCore.isTrialMode() && FrameworkCore.isHardcoreMode)
            {
                FrameworkCore.isHardcoreMode = false;
            }

            isLoading = true;
            FrameworkCore.PlayCue(sounds.Music.none);
        }
 private void OnSelectExit(object sender, EventArgs e)
 {
     //quit.
     if (FrameworkCore.isTrialMode())
     {
         Owner.AddMenu(new SellScreen());
     }
     else
     {
         FrameworkCore.Game.Exit();
     }
 }
        private void ToggleHardcore()
        {
            if (FrameworkCore.isTrialMode())
            {
                if (FrameworkCore.isHardcoreMode)
                {
                    FrameworkCore.isHardcoreMode = false;
                }

                FrameworkCore.PlayCue(sounds.click.error);


                hardcoreHover = false;

                SysPopup signPrompt = new SysPopup(Owner, Resource.HardcoreTrial);
                signPrompt.transitionOnTime  = 200;
                signPrompt.transitionOffTime = 200;
                signPrompt.darkenScreen      = true;
                signPrompt.hideChildren      = false;
                signPrompt.sideIconRect      = sprite.windowIcon.error;

                MenuItem item = new MenuItem(Resource.MenuOK);
                item.Selected += CloseMenu;
                signPrompt.AddItem(item);

                Owner.AddMenu(signPrompt);



                return;
            }

            if (!FrameworkCore.isHardcoreMode)
            {
                FrameworkCore.PlayCue(sounds.Fanfare.ready);
            }
            else
            {
                FrameworkCore.PlayCue(sounds.click.activate);
            }

            FrameworkCore.isHardcoreMode = !FrameworkCore.isHardcoreMode;
        }
        public MainMenu()
        {
            canBeExited = false;

            MenuItem item = new MenuItem(string.Format(Resource.MenuCampaign, FrameworkCore.adventureNumber));

            item.Selected += OnSelectCampaign;
            base.AddItem(item);

            item           = new MenuItem(Resource.MenuHighScoresTitle);
            item.Selected += OnSelectHighScores;
            base.AddItem(item);

            item           = new MenuItem(Resource.MenuSkirmish);
            item.Selected += OnSelectSkirmish;
            base.AddItem(item);

            item           = new MenuItem(Resource.HelpAndOptions);
            item.Selected += OnSelectOptions;
            base.AddItem(item);

            if (FrameworkCore.isTrialMode())
            {
                trialMenu = true;

                item           = new MenuItem(Resource.MenuUnlockFullGame);
                item.Selected += OnBuyGame;
                base.AddItem(item);
            }

#if WINDOWS && !ONLIVE
            item           = new MenuItem(Resource.MenuBugReport);
            item.Selected += OnBugReport;
            base.AddItem(item);
#endif

            item           = new MenuItem(Resource.MenuQuit);
            item.Selected += OnSelectExit;
            base.AddItem(item);

            UpdateItemPositions();
        }
        public PauseMenu()
        {
            darkenScreen = true;

            MenuItem item = new MenuItem(Resource.MenuResumeGame);

            item.Selected += OnSelectReturn;
            base.AddItem(item);


            item           = new MenuItem(Resource.HelpAndOptions);
            item.Selected += OnSelectOptions;
            base.AddItem(item);

            if (FrameworkCore.isTrialMode())
            {
                item           = new MenuItem(Resource.MenuUnlockFullGame);
                item.Selected += OnBuyGame;
                base.AddItem(item);

                trialMenu = true;
            }

#if WINDOWS && !ONLIVE
            item           = new MenuItem(Resource.MenuBugReport);
            item.Selected += OnBugReport;
            base.AddItem(item);
#endif
            if (FrameworkCore.isCampaign && DestructAvailable())
            {
                item           = new MenuItem(Resource.MenuSelfDestruct);
                item.Selected += OnSelectSelfDestruct;
                base.AddItem(item);
            }

            item           = new MenuItem(Resource.MenuQuit);
            item.Selected += OnSelectMainMenu;
            base.AddItem(item);

            SetupItemPositions();
        }
        public static void DrawTrialMode(GameTime gameTime)
        {
            if (!FrameworkCore.isTrialMode())
            {
                return;
            }

            float   trialSize = 0.6f;
            Vector2 trialVec  = FrameworkCore.Gothic.MeasureString(Resource.MenuTrialMode);

            trialVec.X *= trialSize;
            trialVec.Y *= trialSize;

            Vector2 trialPos = new Vector2(
                FrameworkCore.Graphics.GraphicsDevice.Viewport.Width - 140 - trialVec.X / 2,
                90 + trialVec.Y);

            trialSize += Helpers.Pulse(gameTime, 0.02f, 4);
            Helpers.DrawOutline(FrameworkCore.Gothic, Resource.MenuTrialMode, trialPos,
                                new Color(255, 160, 0), new Color(0, 0, 0, 128), 0.1f,
                                new Vector2(trialVec.X / 2, trialVec.Y), trialSize);
        }
示例#11
0
        public override void Draw(GameTime gameTime)
        {
            Vector2 screenSize = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width,
                                             FrameworkCore.Graphics.GraphicsDevice.Viewport.Height);


            Vector2 titleVec = FrameworkCore.Gothic.MeasureString(Resource.MenuTitle);

            titleVec.X /= 2;
            Vector2 titlePos  = new Vector2(screenSize.X / 2, 110 + titleVec.Y);
            float   titleSize = MathHelper.Lerp(1.2f, 1.4f, Transition);

            Color whiteColor = Color.Lerp(OldXNAColor.TransparentWhite, Color.White, Transition);
            Color shadeColor = Color.Lerp(OldXNAColor.TransparentBlack, new Color(0, 0, 0, 128), Transition);

            Helpers.DrawOutline(FrameworkCore.Gothic, Resource.MenuTitle, titlePos,
                                whiteColor, shadeColor,
                                0, titleVec, titleSize);

            float   subtitleSize = MathHelper.Lerp(0.8f, 1.1f, Transition);
            Vector2 subtitleVec  = FrameworkCore.Serif.MeasureString(Resource.MenuSubtitle);

            subtitleVec.X /= 2;
            subtitleVec.Y  = 0;
            Vector2 subtitlePos = titlePos + new Vector2(0, -15);

            Helpers.DrawOutline(FrameworkCore.Serif, Resource.MenuSubtitle, subtitlePos,
                                whiteColor, shadeColor,
                                0, subtitleVec, subtitleSize);

            if (FrameworkCore.isTrialMode())
            {
                Color   trialColor = Color.Lerp(Helpers.transColor(Color.Orange), Color.Orange, Transition);
                Vector2 trialPos   = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width / 2,
                                                 subtitlePos.Y + subtitleVec.Y + 64);
                trialPos.Y += MathHelper.Lerp(-40, 0, Transition);
                float trialSize = MathHelper.Lerp(0.3f, 0.6f, Transition);
                Helpers.stringCenterOutline(FrameworkCore.SpriteBatch, FrameworkCore.Gothic,
                                            Resource.MenuTrialMode, trialPos, trialColor, shadeColor, trialSize, 0);
            }



            Vector2 startPos = new Vector2(screenSize.X / 2, screenSize.Y - (screenSize.Y * 0.15f));

            startPos.Y += Helpers.Pulse(gameTime, 3, 4);

            startPos.Y += MathHelper.Lerp(90, 0, Transition);

            float presentsSize = MathHelper.Lerp(1.1f, 1, 0.5f + Helpers.Pulse(gameTime, 0.49f, 4));

            if (Helpers.GuideVisible)
            {
                return;
            }

            string startText =
#if XBOX
                Resource.MenuTitlePressStart;
#else
                Resource.MenuClickToStart;
#endif

            Vector2 startVec = Helpers.stringCenter(FrameworkCore.Serif, startText);

            Helpers.DrawOutline(FrameworkCore.Serif, startText,
                                startPos,
                                whiteColor, shadeColor,
                                0, startVec, presentsSize);
        }
        public override void Draw(GameTime gameTime)
        {
            Color textColor = Color.Lerp(OldXNAColor.TransparentWhite, Color.White, Transition);
            Color bgColor   = Color.Lerp(OldXNAColor.TransparentBlack, new Color(0, 0, 0, 64), Transition);


            Vector2 promptPos = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width / 2,
                                            FrameworkCore.Graphics.GraphicsDevice.Viewport.Height / 2 - LINEHEIGHT / 2);

            promptPos.Y -= 64 + 8;
            promptPos.Y += Helpers.PopLerp(Transition, -100, 30, 0);
            Helpers.stringCenterOutline(FrameworkCore.SpriteBatch, FrameworkCore.SerifBig,
                                        Resource.MenuNamePrompt, promptPos, textColor, bgColor, 1, 0);



            Vector2 namePos = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width / 2,
                                          FrameworkCore.Graphics.GraphicsDevice.Viewport.Height / 2 + GOTHICHEIGHT / 2);

            namePos.Y += Helpers.PopLerp(Transition, 100, -30, 0);
            namePos.Y -= 64;
            Color boxColor = Color.Lerp(Helpers.transColor(Faction.Blue.teamColor),
                                        Faction.Blue.teamColor, Transition);
            Rectangle nameBox = new Rectangle(
                (int)namePos.X - 384,
                (int)namePos.Y - GOTHICHEIGHT / 2,
                768,
                GOTHICHEIGHT);

            FrameworkCore.SpriteBatch.Draw(FrameworkCore.hudSheet, nameBox, sprite.vistaBox,
                                           boxColor);

            Helpers.stringCenterOutline(FrameworkCore.SpriteBatch, FrameworkCore.Gothic,
                                        FrameworkCore.players[0].commanderName, namePos, textColor, bgColor, 1, 0);



            if (!FrameworkCore.isTrialMode())
            {
                Color goldColor = Color.Lerp(Helpers.transColor(Color.Gold), Color.Gold, Transition);

                Vector2 thankyouPos = new Vector2(promptPos.X,
                                                  FrameworkCore.Graphics.GraphicsDevice.Viewport.Height * 0.23f);
                thankyouPos.Y += Helpers.Pulse(gameTime, 5, 4);
                thankyouPos.Y += Helpers.PopLerp(Transition, -200, 40, 0);
                Helpers.stringCenterOutline(FrameworkCore.SpriteBatch, FrameworkCore.SerifBig,
                                            Resource.ThankYou, thankyouPos, goldColor, bgColor, 1.2f, 0);
            }



            if (blinkTimer > 300)
            {
                int     nameVec       = (int)FrameworkCore.Gothic.MeasureString(FrameworkCore.players[0].commanderName).X;
                Vector2 underScorePos = namePos;
                underScorePos.X += nameVec / 2;
                underScorePos.Y -= GOTHICHEIGHT / 2;
                FrameworkCore.SpriteBatch.DrawString(FrameworkCore.Gothic, "_", underScorePos, textColor);
            }


            Helpers.DrawClickMessage(gameTime, Transition);
        }
        private void AddShip(object sender, InputArgs e)
        {
            if (sender.GetType() != typeof(MenuItem))
            {
                return;
            }

            int index = ((MenuItem)sender).GenericInt1;

            ShipData ship = ((MenuItem)sender).shipArray[0];

            if (FrameworkCore.isTrialMode() && ship != null)
            {
                if (Helpers.getShipByType(ship) > 1)
                {
#if WINDOWS
                    string errorString = string.Format(Resource.MenuSkirmishTrialSelection, ship.name);

                    SysPopup signPrompt = new SysPopup(Owner, errorString);
                    signPrompt.transitionOnTime  = 200;
                    signPrompt.transitionOffTime = 200;
                    signPrompt.darkenScreen      = true;
                    signPrompt.hideChildren      = false;
                    signPrompt.sideIconRect      = sprite.windowIcon.error;

                    MenuItem item = new MenuItem(Resource.MenuUnlockFullGame);
                    item.Selected   += OnBuyGame;
                    item.GenericInt1 = index;
                    signPrompt.AddItem(item);

                    item           = new MenuItem(Resource.MenuDemoPlanetMaybeLater);
                    item.Selected += CloseMenu;
                    signPrompt.AddItem(item);

                    Owner.AddMenu(signPrompt);

                    FrameworkCore.PlayCue(sounds.click.error);
                    return;
#else
                    SignedInGamer gamer = SignedInGamer.SignedInGamers[(PlayerIndex)index];

                    //found signed in player. do stuff..
                    if (gamer != null && gamer.Privileges.AllowPurchaseContent)
                    {
                        string errorString = string.Format(Resource.MenuSkirmishTrialSelection, ship.name);

                        SysPopup signPrompt = new SysPopup(Owner, errorString);
                        signPrompt.transitionOnTime  = 200;
                        signPrompt.transitionOffTime = 200;
                        signPrompt.darkenScreen      = true;
                        signPrompt.hideChildren      = false;
                        signPrompt.sideIconRect      = sprite.windowIcon.error;

                        MenuItem item = new MenuItem(Resource.MenuUnlockFullGame);
                        item.Selected   += OnBuyGame;
                        item.GenericInt1 = index;
                        signPrompt.AddItem(item);

                        item           = new MenuItem(Resource.MenuDemoPlanetMaybeLater);
                        item.Selected += CloseMenu;
                        signPrompt.AddItem(item);

                        Owner.AddMenu(signPrompt);
                    }
                    else
                    {
                        //player has no purchasing privileges
                        string errorString = string.Format(Resource.MenuSkirmishTrialSelectionNoSignin, ship.name);

                        SysPopup signPrompt = new SysPopup(Owner, errorString);
                        signPrompt.transitionOnTime  = 200;
                        signPrompt.transitionOffTime = 200;
                        signPrompt.darkenScreen      = true;
                        signPrompt.hideChildren      = false;
                        signPrompt.sideIconRect      = sprite.windowIcon.error;

                        MenuItem item = new MenuItem(Resource.MenuOK);
                        item.Selected += CloseMenu;
                        signPrompt.AddItem(item);

                        Owner.AddMenu(signPrompt);
                    }

                    FrameworkCore.PlayCue(sounds.click.error);
                    return;
#endif
                }
            }

            if (((MenuItem)sender).owner != null)
            {
                ((MenuItem)sender).owner.Deactivate();
            }


            int slotNumber = selectedItem.shipArraySelection;

            if (slotNumber < 0)
            {
                return;
            }


            selectedItem.shipArray[slotNumber] = ship;
        }
        private void OnSelectStart(object sender, EventArgs e)
        {
            bool faction1HasCommander = false;
            bool faction2HasCommander = false;

            //check if both sides have at least 1 commander.
            for (int i = 0; i < menuItems.Count; i++)
            {
                if (menuItems[i].commander != null && i <= 1)
                {
                    faction1HasCommander = true;
                }
                else if (menuItems[i].commander != null && (i == 2 || i == 3))
                {
                    faction2HasCommander = true;
                }
            }

            if (!faction1HasCommander || !faction2HasCommander)
            {
                SysPopup signPrompt = new SysPopup(Owner, Resource.MenuSkirmishMissingPlayer);
                signPrompt.transitionOnTime  = 200;
                signPrompt.transitionOffTime = 200;
                signPrompt.darkenScreen      = true;
                signPrompt.hideChildren      = false;
                signPrompt.sideIconRect      = sprite.windowIcon.error;

                MenuItem item = new MenuItem(Resource.MenuOK);
                item.Selected += CloseMenu;
                signPrompt.AddItem(item);

                Owner.AddMenu(signPrompt);

                FrameworkCore.PlayCue(sounds.click.error);
                return;
            }



            if (FrameworkCore.isTrialMode())
            {
                bool hasInvalidShip = false;

                //check if user has any non-trial ships in the ship array.
                foreach (MenuItem mItem in menuItems)
                {
                    if (menuItems.IndexOf(mItem) > 3)
                    {
                        continue;
                    }

                    for (int i = 0; i < mItem.shipArray.Length; i++)
                    {
                        if (Helpers.getShipByType(mItem.shipArray[i]) > 1)
                        {
                            hasInvalidShip = true;

                            mItem.shipArray[i] = null;
                        }
                    }
                }

                if (hasInvalidShip)
                {
                    SysPopup signPrompt = new SysPopup(Owner, Resource.MenuSkirmishTrialShipError);
                    signPrompt.transitionOnTime  = 200;
                    signPrompt.transitionOffTime = 200;
                    signPrompt.darkenScreen      = true;
                    signPrompt.hideChildren      = false;
                    signPrompt.sideIconRect      = sprite.windowIcon.error;

                    MenuItem item = new MenuItem(Resource.MenuOK);
                    item.Selected += CloseMenuStartSkirmish;
                    signPrompt.AddItem(item);

                    Owner.AddMenu(signPrompt);

                    return;
                }
            }


            //check if all slots have at least one ship.
            bool   showNoShipError       = false;
            string missingShipPlayerName = "";

            foreach (MenuItem mItem in menuItems)
            {
                //only check player slots.
                if (menuItems.IndexOf(mItem) > 3)
                {
                    continue;
                }

                if (mItem.commander == null)
                {
                    continue;
                }

                bool PlayerHasNoShip = true;

                for (int i = 0; i < mItem.shipArray.Length; i++)
                {
                    if (Helpers.getShipByType(mItem.shipArray[i]) >= 0)
                    {
                        PlayerHasNoShip = false;
                    }
                }

                if (PlayerHasNoShip)
                {
                    showNoShipError = true;

                    if (mItem.commander.commanderName != null)
                    {
                        missingShipPlayerName = mItem.commander.commanderName;
                    }

                    break;
                }
            }

            if (showNoShipError)
            {
                String   errorString = string.Format(Resource.MenuSkirmishNoShips, missingShipPlayerName);
                SysPopup signPrompt  = new SysPopup(Owner, errorString);
                signPrompt.transitionOnTime  = 200;
                signPrompt.transitionOffTime = 200;
                signPrompt.darkenScreen      = true;
                signPrompt.hideChildren      = false;
                signPrompt.sideIconRect      = sprite.windowIcon.error;

                MenuItem item = new MenuItem(Resource.MenuOK);
                item.Selected += CloseMenu;
                signPrompt.AddItem(item);

                Owner.AddMenu(signPrompt);

                FrameworkCore.PlayCue(sounds.click.error);
                return;
            }



            IsLoading = true;

            //player wants to start the skirmish.
        }
示例#15
0
        public override void Activate()
        {
            //save the data.
            FrameworkCore.adventureNumber++;

            SaveInfo save = FrameworkCore.storagemanager.GetDefaultSaveData();

            FrameworkCore.storagemanager.SaveData(save);

            finalScore = Helpers.GenerateFinalScore();

            //add high score to the high score table.
            string playerName = "";

            if (FrameworkCore.players.Count > 1)
            {
                playerName = FrameworkCore.players[0].commanderName + " " + Resource.MenuHighScoresPlus +
                             " " + FrameworkCore.players[1].commanderName;
            }
            else
            {
                playerName = FrameworkCore.players[0].commanderName;
            }


            //disable high score recording in trial mode.
            if (FrameworkCore.isTrialMode())
            {
                addedIndex = -1;
            }
            else
            {
                addedIndex = Helpers.AddHighScore(playerName, finalScore, out newGlobalHighScore);
            }


#if WINDOWS
            Helpers.HighScoreType type = Helpers.HighScoreType.Normal;

            if (FrameworkCore.isHardcoreMode)
            {
                type = Helpers.HighScoreType.Hardcore;
            }
            else
            {
                type = Helpers.HighScoreType.Normal;
            }


            //base.GotoGlobalScores(type);
#else
            //base.GotoLocalScores();
#endif

            //BC2019 Go to local scoreboard only.
            base.GotoLocalScores();


            onlineButtonText = Resource.MenuHighscoresLocal;


            base.Activate();
        }
示例#16
0
        public void DrawEntries(GameTime gameTime, Vector2 entryPos, int addedIndex)
        {
            Color numberColor = Color.Lerp(Helpers.transColor(Color.Gray), Color.Gray, Transition);
            Color titleColor  = Color.Lerp(OldXNAColor.TransparentWhite, Color.White, Transition);

            int nameMargin = (int)FrameworkCore.Serif.MeasureString("000").X;

            bool drawDownArrow = false;

            if (menuHighscoreName.Length > 0)
            {
                if (menuHighscoreName[0].Length <= 0 || FrameworkCore.isTrialMode())
                {
                    string txt = Resource.MenuHighScoresEmpty;

                    if (FrameworkCore.isTrialMode())
                    {
                        txt = Resource.MenuHighScoresTrial;
                    }

                    DrawErrorMessage(gameTime, txt);
                }
                else
                {
                    Color darkColor = Color.Black;
                    darkColor = Color.Lerp(Helpers.transColor(darkColor), darkColor, Transition);

                    for (int i = 0; i < menuHighscoreName.Length; i++)
                    {
                        if (menuHighscoreName[i].Length <= 0)
                        {
                            continue;
                        }



                        string playerName      = Helpers.StripOutAmpersands(FrameworkCore.players[0].commanderName);
                        bool   isCurrentPlayer = ((System.String.Compare(menuHighscoreName[i], playerName, true, CultureInfo.InvariantCulture) == 0) && showOnlineScores) ||
                                                 (!showOnlineScores && i == addedIndex);

                        if (isCurrentPlayer)
                        {
                            titleColor = Color.Lerp(Helpers.transColor(Color.Orange), Color.Orange, Transition);

                            DrawBouncyArrow(gameTime, entryPos, titleColor);
                        }
#if (WINDOWS && STEAM)
                        else if (showOnlineScores && isSteamFriend[i])
                        {
                            titleColor = Color.Lerp(Helpers.transColor(Color.Lime), Color.Lime, Transition);

                            DrawBouncyArrow(gameTime, entryPos, titleColor);
                        }
#endif
                        else
                        {
                            titleColor = Color.Lerp(OldXNAColor.TransparentWhite, Color.White, Transition);
                        }



#if (WINDOWS && STEAM)
                        if (steamFilterFriends)
                        {
                            if (!isSteamFriend[i] && !isCurrentPlayer)
                            {
                                continue;
                            }
                        }
#endif



                        FrameworkCore.SpriteBatch.DrawString(FrameworkCore.Serif,
                                                             (i + 1).ToString(), entryPos + new Vector2(-20, 0), numberColor);

                        Helpers.DrawOutline(FrameworkCore.Serif, menuHighscoreName[i],
                                            entryPos + new Vector2(nameMargin, 0), titleColor, darkColor);


                        string  scoreString = menuHighscoreScore[i].ToString();
                        Vector2 scoreVec    = FrameworkCore.Serif.MeasureString(scoreString);
                        Vector2 scorePos    = entryPos;
                        scorePos.X += WINDOWWIDTH;
                        scorePos.X -= scoreVec.X;
                        Helpers.DrawOutline(FrameworkCore.Serif, scoreString,
                                            scorePos, titleColor, darkColor);


                        if (entryPos.Y > FrameworkCore.Graphics.GraphicsDevice.Viewport.Height - 50)
                        {
                            drawDownArrow = true;
                        }

                        entryPos.Y += LINESIZE;
                    }
                }
            }
            else
            {
                string txt = Resource.MenuHighScoreOnlineEmpty;

                if (FrameworkCore.isTrialMode())
                {
                    txt = Resource.MenuHighScoresTrial;
                }

                DrawErrorMessage(gameTime, txt);
            }

            if (drawDownArrow)
            {
                Vector2 arrowPos = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width / 2,
                                               FrameworkCore.Graphics.GraphicsDevice.Viewport.Height - 96);

                arrowPos.Y += Helpers.Pulse(gameTime, 7, 5);

                FrameworkCore.SpriteBatch.Draw(FrameworkCore.hudSheet, arrowPos,
                                               sprite.arrow, new Color(255, 255, 255, 64),
                                               -1.57f,
                                               Helpers.SpriteCenter(sprite.arrow), 1.5f, SpriteEffects.None, 0);
            }
        }
示例#17
0
        private void CommitReport()
        {
            if (isSending)
            {
                return;
            }

            if (descriptionText.Length <= 0)
            {
                //error message.
                SysPopup signPrompt = new SysPopup(Owner, Resource.MenuBugReportEmptyDescription);
                signPrompt.transitionOnTime  = 200;
                signPrompt.transitionOffTime = 200;
                signPrompt.darkenScreen      = true;
                signPrompt.hideChildren      = false;
                signPrompt.canBeExited       = false;
                signPrompt.sideIconRect      = sprite.windowIcon.error;

                MenuItem item = new MenuItem(Resource.MenuOK);
                item.Selected += ClosePopup;
                signPrompt.AddItem(item);

                Owner.AddMenu(signPrompt);
                return;
            }

            FrameworkCore.PlayCue(sounds.click.activate);

            isSending = true;

            try
            {
                System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();

                message.From = new System.Net.Mail.MailAddress("*****@*****.**");
                message.To.Add(new System.Net.Mail.MailAddress("*****@*****.**"));

                message.Subject = "[FLOTILLA] " + subjectText;



                string registered = string.Empty;
                if (FrameworkCore.isTrialMode())
                {
                    registered = "Demo";
                }
                else
                {
                    registered = "Registered";
                }

                string finalString = registered + " version " + FrameworkCore.VERSION + "\n\n" + descriptionText;

                message.Body = finalString;


                System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
                client.Host        = "smtp.gmail.com"; //smtp server
                client.Port        = 587;              //Port for TLS/STARTTLS
                client.EnableSsl   = true;
                client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "");


                client.SendCompleted += new System.Net.Mail.SendCompletedEventHandler(client_SendCompleted);
                client.SendAsync(message, null);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }