예제 #1
0
    private void ItemCreationSDKColorMenu_Load(object sender, EventArgs e)
    {
        if (GlobalFuncs.HasColorsChanged())
        {
            GlobalVars.ColorsLoaded = GlobalFuncs.InitColors();
            closeOnLaunch           = !GlobalVars.ColorsLoaded;
        }

        if (closeOnLaunch)
        {
            MessageBox.Show("The part colors cannot be loaded. The part colors menu will now close.", "Novetus - Cannot load part colors.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            Close();
            return;
        }

        PartColorLoader.AddPartColorsToListView(GlobalVars.PartColorList, colorMenu, 48, true);
        CenterToScreen();
    }
    public void InitForm()
    {
        if (GlobalFuncs.HasColorsChanged())
        {
            GlobalVars.ColorsLoaded = GlobalFuncs.InitColors();
            closeOnLaunch           = !GlobalVars.ColorsLoaded;
        }

        if (closeOnLaunch)
        {
            MessageBox.Show("The part colors cannot be loaded. The character customization will now close.", "Novetus - Cannot load part colors.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            Parent.Close();
            return;
        }

        if (File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ContentProviderXMLName))
        {
            contentProviders = OnlineClothing.GetContentProviders();

            for (int i = 0; i < contentProviders.Length; i++)
            {
                FaceTypeBox.Items.Add(contentProviders[i].Name);
                TShirtsTypeBox.Items.Add(contentProviders[i].Name);
                ShirtsTypeBox.Items.Add(contentProviders[i].Name);
                PantsTypeBox.Items.Add(contentProviders[i].Name);
            }

            //face
            if (GlobalVars.UserCustomization.Face.Contains("http://") || GlobalVars.UserCustomization.Face.Contains("https://"))
            {
                Provider faceProvider = OnlineClothing.FindContentProviderByURL(contentProviders, GlobalVars.UserCustomization.Face);
                FaceIDBox.Text           = GlobalVars.UserCustomization.Face.Replace(faceProvider.URL, "");
                FaceTypeBox.SelectedItem = faceProvider.Name;
            }

            //clothing
            if (GlobalVars.UserCustomization.TShirt.Contains("http://") || GlobalVars.UserCustomization.TShirt.Contains("https://"))
            {
                Provider tShirtProvider = OnlineClothing.FindContentProviderByURL(contentProviders, GlobalVars.UserCustomization.TShirt);
                TShirtsIDBox.Text           = GlobalVars.UserCustomization.TShirt.Replace(tShirtProvider.URL, "");
                TShirtsTypeBox.SelectedItem = tShirtProvider.Name;
            }

            if (GlobalVars.UserCustomization.Shirt.Contains("http://") || GlobalVars.UserCustomization.Shirt.Contains("https://"))
            {
                Provider shirtProvider = OnlineClothing.FindContentProviderByURL(contentProviders, GlobalVars.UserCustomization.Shirt);
                ShirtsIDBox.Text           = GlobalVars.UserCustomization.Shirt.Replace(shirtProvider.URL, "");
                ShirtsTypeBox.SelectedItem = shirtProvider.Name;
            }

            if (GlobalVars.UserCustomization.Pants.Contains("http://") || GlobalVars.UserCustomization.Pants.Contains("https://"))
            {
                Provider pantsProvider = OnlineClothing.FindContentProviderByURL(contentProviders, GlobalVars.UserCustomization.Pants);
                PantsIDBox.Text           = GlobalVars.UserCustomization.Pants.Replace(pantsProvider.URL, "");
                PantsTypeBox.SelectedItem = pantsProvider.Name;
            }
        }
        else
        {
            FaceTypeBox.Enabled    = false;
            TShirtsTypeBox.Enabled = false;
            ShirtsTypeBox.Enabled  = false;
            PantsTypeBox.Enabled   = false;
            FaceIDBox.Enabled      = false;
            TShirtsIDBox.Enabled   = false;
            ShirtsIDBox.Enabled    = false;
            PantsIDBox.Enabled     = false;
        }

        int imgsize = (FormStyle == Settings.Style.Extended) ? 28 : 18;

        PartColorLoader.AddPartColorsToListView(GlobalVars.PartColorList, ColorView, imgsize);

        //body
        SelectedPartLabel.Text = SelectedPart;
        ReloadColors();

        //icon
        if (GlobalVars.UserCustomization.Icon.Contains("http://") || GlobalVars.UserCustomization.Icon.Contains("https://"))
        {
            IconLabel.Text = "NBC";
        }
        else
        {
            IconLabel.Text = GlobalVars.UserCustomization.Icon;
        }

        //charid
        CharacterIDBox.Text = GlobalVars.UserCustomization.CharacterID;

        ShowHatsInExtraBox.Checked = GlobalVars.UserCustomization.ShowHatsInExtra;

        if (GlobalVars.UserConfiguration.LauncherStyle == Settings.Style.Stylish)
        {
            Color robBlue = Color.FromArgb(110, 152, 200);
            if (FormStyle == Settings.Style.Extended)
            {
                AestheticPanel1.BorderStyle = BorderStyle.None;
                AestheticPanel1.BackColor   = robBlue;

                foreach (Control C in AestheticPanel1.Controls)
                {
                    if (C is Button)
                    {
                        Button button = (Button)C;
                        button.FlatStyle = FlatStyle.Flat;
                        button.FlatAppearance.BorderColor = Color.White;
                        button.ForeColor = Color.White;
                        button.Font      = new Font("Comic Sans MS", 7.8f, FontStyle.Bold);
                        button.BackColor = robBlue;
                        button.Location  = new Point(button.Location.X + 1, button.Location.Y);
                    }
                }

                AestheticPanel2.BorderStyle  = BorderStyle.FixedSingle;
                AestheticDivider.BorderStyle = BorderStyle.None;
                AestheticDivider.Size        = new Size(AestheticDivider.Size.Width + 3, AestheticDivider.Size.Height);
            }

            string backgroundImage = GlobalPaths.DataDir + @"\\CharacterBackdrop.png";

            if (File.Exists(backgroundImage))
            {
                Image im = GlobalFuncs.LoadImage(backgroundImage);
                CharBackground.Image = im;
            }
        }

        //discord
        GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InCustomization);

        GlobalFuncs.ReloadLoadoutValue();
    }
예제 #3
0
    private void LoadXML(XMLContentType type)
    {
        loaderList.Clear();

        switch (type)
        {
        case XMLContentType.ContentProviders:
            if (File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ContentProviderXMLName))
            {
                contentProviders = OnlineClothing.GetContentProviders();
            }
            else
            {
                MessageBox.Show("Cannot load the Content Provider list because the Content Provider XML file does not exist.", "XML Content Editor - Content Provider Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            loaderList.AddRange(contentProviders);
            break;

        case XMLContentType.PartColors:
            if (File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.PartColorXMLName))
            {
                XMLPartColorList = PartColorLoader.GetPartColors();
            }
            else
            {
                MessageBox.Show("Cannot load the Part Color list because the Part Color XML file does not exist.", "XML Content Editor - Part Color Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            loaderList.AddRange(XMLPartColorList);
            break;

        default:
            break;
        }

        XMLView.Rows.Clear();
        XMLView.Columns.Clear();

        if (loaderList.Count > 0)
        {
            if (loaderList.OfType <Provider>().Any())
            {
                XMLView.ColumnCount         = 3;
                XMLView.Columns[0].Name     = "Name";
                XMLView.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
                XMLView.Columns[1].Name     = "URL";
                XMLView.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable;
                XMLView.Columns[2].Name     = "Icon File";
                XMLView.Columns[2].SortMode = DataGridViewColumnSortMode.NotSortable;
                ListType = XMLContentType.ContentProviders;
            }
            else if (loaderList.OfType <PartColor>().Any())
            {
                XMLView.ColumnCount         = 3;
                XMLView.Columns[0].Name     = "Name";
                XMLView.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
                XMLView.Columns[1].Name     = "ID";
                XMLView.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable;
                XMLView.Columns[2].Name     = "RGB Value";
                XMLView.Columns[2].SortMode = DataGridViewColumnSortMode.NotSortable;
                ListType = XMLContentType.PartColors;
            }

            foreach (var obj in loaderList)
            {
                if (obj is Provider)
                {
                    Provider pro         = obj as Provider;
                    string[] providerRow = new string[] { pro.Name, pro.URL, pro.Icon };
                    XMLView.Rows.Add(providerRow);
                }
                else if (obj is PartColor)
                {
                    PartColor pc           = obj as PartColor;
                    string[]  partColorRow = new string[] { pc.ColorRawName, pc.ColorID.ToString(), pc.ColorRGB };
                    XMLView.Rows.Add(partColorRow);
                }
            }
        }
        else
        {
            MessageBox.Show("Unable to load XML file information because no information exists in the XML file.", "XML Content Editor - File Read Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }