示例#1
0
        public UICitySelector(List <ShardStatusItem> shards)
            : base(UIDialogStyle.Standard, true)
        {
            Opacity = 0.9f;


            CityListBoxBackground = new UIImage(UITextBox.StandardBackground);
            Add(CityListBoxBackground);
            CityDescriptionBackground = new UIImage(UITextBox.StandardBackground);
            Add(CityDescriptionBackground);

            var script = RenderScript("cityselector.uis");

            DialogSize = (Point)script.GetControlProperty("DialogSize");

            var cityThumbBG = new UIImage(thumbnailBackgroundImage)
            {
                Position = (Vector2)script.GetControlProperty("CityThumbnailBackgroundPosition")
            };

            Add(cityThumbBG);
            CityThumb = new UIImage
            {
                Position = (Vector2)script.GetControlProperty("CityThumbnailPosition")
            };
            Add(CityThumb);

            CityDescriptionSlider.AttachButtons(CityDescriptionScrollUpButton, CityDescriptionDownButton, 1);
            DescriptionText.AttachSlider(CityDescriptionSlider);

            OkButton.Disabled           = true;
            OkButton.OnButtonClick     += new ButtonClickDelegate(OkButton_OnButtonClick);
            CancelButton.OnButtonClick += new ButtonClickDelegate(CancelButton_OnButtonClick);

            Caption = (string)script["TitleString"];


            /** Parse the list styles **/
            var listStyleNormal   = script.Create <UIListBoxTextStyle>("CityListBoxColors", CityListBox.FontStyle);
            var listStyleBusy     = script.Create <UIListBoxTextStyle>("CityListBoxColorsBusy", CityListBox.FontStyle);
            var listStyleFull     = script.Create <UIListBoxTextStyle>("CityListBoxColorsFull", CityListBox.FontStyle);
            var listStyleReserved = script.Create <UIListBoxTextStyle>("CityListBoxColorsReserved", CityListBox.FontStyle);

            var statusToStyle = new Dictionary <ShardStatus, UIListBoxTextStyle>();

            statusToStyle.Add(ShardStatus.Up, listStyleNormal);
            statusToStyle.Add(ShardStatus.Busy, listStyleBusy);
            statusToStyle.Add(ShardStatus.Full, listStyleFull);
            statusToStyle.Add(ShardStatus.Down, listStyleFull);
            statusToStyle.Add(ShardStatus.Closed, listStyleFull);
            statusToStyle.Add(ShardStatus.Frontier, listStyleReserved);

            var statusToLabel = new Dictionary <ShardStatus, string>();

            statusToLabel.Add(ShardStatus.Up, StatusOk);
            statusToLabel.Add(ShardStatus.Busy, StatusBusy);
            statusToLabel.Add(ShardStatus.Full, StatusFull);
            statusToLabel.Add(ShardStatus.Down, StatusFull);
            statusToLabel.Add(ShardStatus.Closed, StatusFull);
            statusToLabel.Add(ShardStatus.Frontier, StatusOk);


            CityListSlider.AttachButtons(CityListScrollUpButton, CityScrollDownButton, 1);

            CityListBox.TextStyle = listStyleNormal;
            CityListBox.AttachSlider(CityListSlider);
            CityListBox.OnChange += new ChangeDelegate(CityListBox_OnChange);


            CityListBox.Items = shards.Select(x => new UIListBoxItem(x, CityIconImage, x.Name, x.Status == ShardStatus.Up ? OnlineStatusUp : OnlineStatusDown, statusToLabel[x.Status])
            {
                CustomStyle = statusToStyle[x.Status]
            }).ToList();

            if (shards.Count > 0)
            {
                CityListBox.SelectedIndex = 0;
            }

            GameThread.NextUpdate(x =>
            {
                FSOFacade.Hints.TriggerHint("screen:sascity");
            });
        }
示例#2
0
        private void saveBtn_Click(object sender, EventArgs e)
        {
            int cityID = 0;

            switch (CityListBox.FindString(CityListBox.SelectedItem.ToString()))
            {
            case 0:
                cityID = 1;
                break;

            case 1:
                cityID = 2;
                break;

            case 2:
                cityID = 3;
                break;

            case 3:
                cityID = 4;
                break;

            case 4:
                cityID = 5;
                break;

            case 5:
                cityID = 6;
                break;

            case 6:
                cityID = 7;
                break;

            case 7:
                cityID = 8;
                break;

            case 8:
                cityID = 9;
                break;

            case 9:
                cityID = 10;
                break;

            case 10:
                cityID = 11;
                break;

            case 11:
                cityID = 12;
                break;

            case 12:
                cityID = 13;
                break;
            }

            Data.addCustomer(nameText.Text, cityID, numText.Text, addText.Text, pCodeText.Text);
            this.Close();
        }
示例#3
0
        private void saveBtn_Click(object sender, EventArgs e)
        {
            int cityID = 0;

            switch (CityListBox.FindString(CityListBox.SelectedItem.ToString()))
            {
            case 0:
                cityID = 1;
                break;

            case 1:
                cityID = 2;
                break;

            case 2:
                cityID = 3;
                break;

            case 3:
                cityID = 4;
                break;

            case 4:
                cityID = 5;
                break;

            case 5:
                cityID = 6;
                break;

            case 6:
                cityID = 7;
                break;

            case 7:
                cityID = 8;
                break;

            case 8:
                cityID = 9;
                break;

            case 9:
                cityID = 10;
                break;

            case 10:
                cityID = 11;
                break;

            case 11:
                cityID = 12;
                break;

            case 12:
                cityID = 13;
                break;
            }
            Data.updateCus(
                Convert.ToInt32(currentCusID.Text),
                nameText.Text,
                Convert.ToInt32(currentAddressID.Text),
                numText.Text,
                addText.Text,
                pCodeText.Text,
                cityID
                );
            this.Close();
        }