示例#1
0
    public void ShowCampaigns()
    {
        HideCampaigns();
        CampaignData campaignData = Assets.Get(Assets.CampaignDataSets.Default);
        int          count        = 0;

        List <Button> buttons = new List <Button>();

        for (int i = 0; campaignData.campaignSets.Count > i; i++)
        {
            int iIndex = i;

            for (int j = 0; campaignData.campaignSets[i].campaignDefinitions.Count > j; j++)
            {
                int jIndex = j;

                buttons.Add(new Button("Campaign", 10, 3, container, "CampaignButton",
                                       Enter: (Button butt) => butt.SetColor(Color.green),
                                       Stay: (Button butt) =>
                {
                    if (Input.GetMouseButtonDown(0))
                    {
                        selectedCampaign      = campaignData.GetCampaignSet(iIndex).campaignDefinitions[jIndex];
                        selectedCampaignIndex = buttons.IndexOf(butt);
                    }
                },
                                       Exit: (Button butt) => butt.SetColor(Color.white)));

                count++;
            }
        }

        Add(_campaigns = new Layout("Campaigns", 20, (count > 1 ? count / 2 : 1) * 3, 0, 0.2f, count > 1 ? count / 2 : 1, container));

        _campaigns.Add(buttons, true);
        _campaigns.SetViewportPosition(new Vector2(0.5f, 0.25f));
        _campaigns.SetPosition(_campaigns.position + (Vector3.left * _campaigns.width * 0.5f) + (Vector3.forward * _campaigns.height * 0.5f));
    }