コード例 #1
0
    override protected void StartInner()
    {
        BackButton = delegate() {
            gameObject.AddComponent <ScreenAdvModeStart> ();
            Destroy(this);
        };

        Prepare(BackButton);
        Mission = Mission.SearchMissionForPlayer(Game.Me.Player);
    }
コード例 #2
0
    public static void DrawBackground(AfterButton afterButton, bool showSettings = false)
    {
        GuiHelper.DrawElement("Images/popupWindow", 0.02, 0.1, 1, 0.94);
        GuiHelper.ButtonWithText(0.9, 0.92, 0.4, 0.2, "", SpriteManager.GetBackButton(), GuiHelper.CustomButton, afterButton);

        if (showSettings && GUI.Button(new Rect(GuiHelper.PercentW(0.8), GuiHelper.PercentH(0.70), GuiHelper.PercentW(0.2), GuiHelper.PercentH(0.2)), SpriteManager.GetSettingsIcon(), GuiHelper.CustomButton))
        {
            ScreenOptions so = Camera.main.gameObject.AddComponent <ScreenOptions>();
            so.Prepare(delegate(){
                Destroy(so);
            });
        }
    }
コード例 #3
0
    override protected void OnGUIInner()
    {
        PlayerState state = Game.Me.Player;

        GuiHelper.DrawAtTop("Adventure mode");
        GuiHelper.DrawBeneathLine("Available coins: " + state.Coins);         //, GuiHelper.SmallFontTop, 0.1, 0.2, 0.8, 0.1);

        float y = 0.38f;

        foreach (KeyValuePair <CarStatisticType, CarStatistic> kvp in state.CarConfig.CarStatistics)
        {
            CarStatistic cs = kvp.Value;
            if (cs.IsUnlockedFor(state))
            {
                AfterButton upgrade = delegate() {
                    ScreenUpgrade su = gameObject.AddComponent <ScreenUpgrade>();
                    su.PrepareWith(cs);
                    Destroy(this);
                };

                string inBrackets = "";
                if (!cs.Type.AboveMinimum(cs.Type.ValueForLevel(cs.Level + 1)))
                {
                    inBrackets = "(Best)";
                }
                else if (cs.CanUpgrade(state.Coins))
                {
                    inBrackets = "(Upg for " + cs.UpgradeCost() + ")";
                }
                string text = cs.Type.Name() + ": " + cs.ValueFormatted + " " + inBrackets;
                GuiHelper.ButtonWithText(0.5, y, 1, 0.15, text, SpriteManager.GetRectangleButton(), GuiHelper.MicroFont, upgrade);


                //this has to be drawn after button with text because of overlay
                if (cs.CanUpgrade(state.Coins))
                {
                    GuiHelper.ButtonWithText(0.9, y, 0.15, 0.15, "", SpriteManager.GetUpArrow(), GuiHelper.MicroFont, upgrade);
                }
                y += 0.093f;
            }
        }


        GuiHelper.YesButton(delegate() {
            ScreenStartingMission ssm = gameObject.AddComponent <ScreenStartingMission>();
            Destroy(this);
        }, "Race");
    }
コード例 #4
0
        /// <summary>
        /// Adds the "more" button to bottom of UI
        /// </summary>
        /// <param name="after"></param>
        private void AddAfterButtonToUI(string after)
        {
            AfterButton after_but = new AfterButton(after);

            after_but.Content = "More";
            after_but.Click  += new RoutedEventHandler(after_but_Click);
            Grid.SetRow(after_but, num_links);
            after_but.HorizontalAlignment = HorizontalAlignment.Center;

            RowDefinition row = new RowDefinition();

            row.Height = GridLength.Auto;

            LinkPanel.RowDefinitions.Add(row);
            LinkPanel.Children.Add(after_but);
        }
コード例 #5
0
        /// <summary>
        /// Handler for the "more" button
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void after_but_Click(object sender, RoutedEventArgs e)
        {
            AfterButton after_but = (AfterButton)sender;

            LinkPanel.Children.Remove(after_but);
            LinkPanel.RowDefinitions.Remove(LinkPanel.RowDefinitions.Last());
            Tuple <List <Link>, string> result;

            if (current_state.current_subreddit.title == null || current_state.current_subreddit.title.Equals(""))
            {
                result = await requester.GetHot("after=" + after_but.after + "&count=" + max_count);
            }
            else
            {
                result = await requester.GetHot(current_state.current_subreddit, "after=" + after_but.after + "&count=" + max_count);
            }

            List <Link> links = result.Item1;
            string      after = result.Item2;

            await AddLinksToUI(links, after);
        }
コード例 #6
0
 public void PrepareMe(AfterYesM afterYes, AfterButton afterNo)
 {
     AfterYes = afterYes;
     Prepare(afterNo);
 }
コード例 #7
0
    public static void DrawMissionLabel(int slot, string name, string detail, string reward, AfterButton afterButton)
    {
        double y = 0.1 + slot * 0.15;

        GuiHelper.DrawText(name, MicroFontLeft, 0.1, y, 0.3, 0.15);
        GuiHelper.DrawText(detail, MicroFontLeft, 0.37, y - 0.02, 0.5, 0.15);
        GuiHelper.DrawText(reward, MicroFontLeft, 0.37, y + 0.02, 0.5, 0.15);
        GuiHelper.ButtonWithText(0.82, y + 0.02, 0.15, 0.15, "Race", SpriteManager.GetRoundButton(), SmallFont, afterButton);
    }
コード例 #8
0
    public static void ButtonWithText(double x, double y, double w, double h, string text, Texture background, GUIStyle font, AfterButton afterButton)
    {
        int _x = PercentW(x);
        int _y = PercentH(y);
        int _w = PercentW(w);
        int _h = PercentW(h);

        if (background != null)
        {
            if (GUI.Button(new Rect(_x - _w / 2, _y - _h / 2, _w, _h), background, font))
            {
                afterButton();
            }
            GUI.Label(new Rect(_x - _w / 2, _y - _h / 2, _w, _h), text, font);
        }
        else
        {
            if (GUI.Button(new Rect(_x - _w / 2, _y - _h / 2, _w, _h), text, font))
            {
                afterButton();
            }
        }
    }
コード例 #9
0
    public static void DrawButton(string text, GUIStyle font, double x, double y, double w, double h, AfterButton afterButton)
    {
        int tmpX = PercentW(x);
        int tmpY = PercentH(y);
        int tmpW = w == -1?Screen.width:PercentW(w);
        int tmpH = w == -1 ? Screen.height : PercentH(h);

        if (GUI.Button(new Rect(tmpX, tmpY, tmpW, tmpH), text, font))
        {
            afterButton();
        }
    }
コード例 #10
0
 public void Prepare(AfterButton afterButton, string top, string middle)
 {
     base.Prepare(afterButton, true);
     Top    = top;
     Middle = middle;
 }
コード例 #11
0
 public void Prepare(AfterButton afterButton, bool showBackground = true)
 {
     AfterButton    = afterButton;
     ShowBackground = showBackground;
 }