コード例 #1
0
        private void DrawWelcome(Rectangle bounds, SpriteBatch sb)
        {
            var num1 = logoRenderBase.Height / (float)logoRenderBase.Width;
            var num2 = 45;
            var dest = new Rectangle(bounds.X - num2 + 20, bounds.Y, bounds.Width + num2,
                                     (int)((bounds.Width + 2 * num2) * (double)num1));

            DrawLogo(dest, sb);
            var rectangle = new Rectangle(bounds.X, dest.Y + dest.Height, bounds.Width, 60);

            sb.Draw(scanlinesTextBackground, rectangle, Utils.AddativeWhite * 0.2f);
            for (var index = 0; index < Stars.Count; ++index)
            {
                DrawStar(rectangle, sb, Stars[index]);
            }
            rectangle.X     += 100;
            rectangle.Width  = bounds.Width - 200;
            rectangle.Y     += 13;
            rectangle.Height = 35;
            if (Button.doButton(98373721, rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height, "GO!",
                                Utils.AddativeWhite))
            {
                activeState = null;
                var str = os.defaultUser.name;
                for (var index = 0; index < savesFolder.files.Count; ++index)
                {
                    if (savesFolder.files[index].name.StartsWith(str))
                    {
                        userFilePath = savesFolder.files[index].name;
                        activeState  = PointClickerGameState.LoadFromString(savesFolder.files[index].data);
                        break;
                    }
                }
                if (activeState == null)
                {
                    activeState = new PointClickerGameState(upgradeNames.Count);
                    var fileEntry = new FileEntry(activeState.ToSaveString(), str + ".pcsav");
                    savesFolder.files.Add(fileEntry);
                    userFilePath = fileEntry.name;
                }
                state       = PointClickerScreenState.Main;
                currentRate = 0.0f;
                ActiveStory = "";
                UpdateRate();
                UpdateStory();
                UpdatePoints();
            }
            if (
                !Button.doButton(98373732, bounds.X + 2, bounds.Y + bounds.Height - 19, 180, 18, "Exit  :<",
                                 os.lockedColor))
            {
                return;
            }
            os.display.command = "connect";
        }
コード例 #2
0
            public static PointClickerGameState LoadFromString(string save)
            {
                var clickerGameState = new PointClickerGameState(0);
                var strArray         = save.Split(Utils.newlineDelim);

                clickerGameState.points = Convert.ToInt64(strArray[0]);
                clickerGameState.currentStoryElement = Convert.ToInt32(strArray[1]);
                foreach (var str in strArray[2].Split(Utils.commaDelim, StringSplitOptions.RemoveEmptyEntries))
                {
                    clickerGameState.upgradeCounts.Add(Convert.ToInt32(str));
                }
                return(clickerGameState);
            }
コード例 #3
0
        private void AddSaveForName(string name, bool isSuperHighScore = false)
        {
            var clickerGameState = new PointClickerGameState(upgradeValues.Count);

            for (var index = 0; index < clickerGameState.upgradeCounts.Count; ++index)
            {
                clickerGameState.upgradeCounts[index] =
                    (int)(10.0 * Utils.randm(1f) * (index / (double)clickerGameState.upgradeCounts.Count));
                if (isSuperHighScore)
                {
                    clickerGameState.upgradeCounts[index] = 900 + (int)(Utils.randm(1f) * 99.9000015258789);
                }
            }
            clickerGameState.points = Utils.random.Next();
            clickerGameState.currentStoryElement = Utils.random.Next(storyBeats.Count);
            savesFolder.files.Add(new FileEntry(clickerGameState.ToSaveString(), name + ".pcsav"));
        }
コード例 #4
0
 public static PointClickerGameState LoadFromString(string save)
 {
     var clickerGameState = new PointClickerGameState(0);
     var strArray = save.Split(Utils.newlineDelim);
     clickerGameState.points = Convert.ToInt64(strArray[0]);
     clickerGameState.currentStoryElement = Convert.ToInt32(strArray[1]);
     foreach (var str in strArray[2].Split(Utils.commaDelim, StringSplitOptions.RemoveEmptyEntries))
         clickerGameState.upgradeCounts.Add(Convert.ToInt32(str));
     return clickerGameState;
 }
コード例 #5
0
 private void DrawWelcome(Rectangle bounds, SpriteBatch sb)
 {
     var num1 = logoRenderBase.Height/(float) logoRenderBase.Width;
     var num2 = 45;
     var dest = new Rectangle(bounds.X - num2 + 20, bounds.Y, bounds.Width + num2,
         (int) ((bounds.Width + 2*num2)*(double) num1));
     DrawLogo(dest, sb);
     var rectangle = new Rectangle(bounds.X, dest.Y + dest.Height, bounds.Width, 60);
     sb.Draw(scanlinesTextBackground, rectangle, Utils.AddativeWhite*0.2f);
     for (var index = 0; index < Stars.Count; ++index)
         DrawStar(rectangle, sb, Stars[index]);
     rectangle.X += 100;
     rectangle.Width = bounds.Width - 200;
     rectangle.Y += 13;
     rectangle.Height = 35;
     if (Button.doButton(98373721, rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height, "GO!",
         Utils.AddativeWhite))
     {
         activeState = null;
         var str = os.defaultUser.name;
         for (var index = 0; index < savesFolder.files.Count; ++index)
         {
             if (savesFolder.files[index].name.StartsWith(str))
             {
                 userFilePath = savesFolder.files[index].name;
                 activeState = PointClickerGameState.LoadFromString(savesFolder.files[index].data);
                 break;
             }
         }
         if (activeState == null)
         {
             activeState = new PointClickerGameState(upgradeNames.Count);
             var fileEntry = new FileEntry(activeState.ToSaveString(), str + ".pcsav");
             savesFolder.files.Add(fileEntry);
             userFilePath = fileEntry.name;
         }
         state = PointClickerScreenState.Main;
         currentRate = 0.0f;
         ActiveStory = "";
         UpdateRate();
         UpdateStory();
         UpdatePoints();
     }
     if (
         !Button.doButton(98373732, bounds.X + 2, bounds.Y + bounds.Height - 19, 180, 18, "Exit  :<",
             os.lockedColor))
         return;
     os.display.command = "connect";
 }
コード例 #6
0
 private void AddSaveForName(string name, bool isSuperHighScore = false)
 {
     var clickerGameState = new PointClickerGameState(upgradeValues.Count);
     for (var index = 0; index < clickerGameState.upgradeCounts.Count; ++index)
     {
         clickerGameState.upgradeCounts[index] =
             (int) (10.0*Utils.randm(1f)*(index/(double) clickerGameState.upgradeCounts.Count));
         if (isSuperHighScore)
             clickerGameState.upgradeCounts[index] = 900 + (int) (Utils.randm(1f)*99.9000015258789);
     }
     clickerGameState.points = Utils.random.Next();
     clickerGameState.currentStoryElement = Utils.random.Next(storyBeats.Count);
     savesFolder.files.Add(new FileEntry(clickerGameState.ToSaveString(), name + ".pcsav"));
 }