Beispiel #1
0
    private void SetControllerRadioButtons()
    {
        var controllerCount = XCI.GetNumPluggedCtrlrs();

        string[] controllerNames = new string[] { "1st", "2nd", "3rd", "4th" };
        controllerChoice = new RadioButtonSet(0, controllerNames.Take(controllerCount).ToArray());
    }
        Widget CreateStyleSelector(IUIStyle uiStyle)
        {
            RadioButtonSet <StyleDefinition> radioButtons = new RadioButtonSet <StyleDefinition>(uiStyle);

            foreach (var style in styles)
            {
                radioButtons.DataItems.Add(style);
            }
            radioButtons.SelectionChanged += (sender, args) =>
            {
                if (radioButtons.LookUpSelectedItem(out var d))
                {
                    Select(d);
                }
            };

            return(new BoxGroup(uiStyle, Orientation.Vertical, 0)
            {
                radioButtons
            });
        }

        void Select(StyleDefinition d)
        {
            UIManager.UIStyle.StyleResolver.StyleRules.Clear();
            UIManager.UIStyle.StyleResolver.StyleRules.AddRange(d.Rules);
            UIManager.UIStyle.StyleSystem.WhitePixel = d.WhitePixel;
            DrawingService.WhitePixel = d.WhitePixel;
        }
Beispiel #3
0
 public void Awake()
 {
     if (triggerMode == null)
     {
         triggerMode = new RadioButtonSet(0, "leadingEdge", "trailingEdge", "high", "low");
     }
 }
Beispiel #4
0
 private void Awake()
 {
     patternShader = Resources.Load <ComputeShader>("NodeShaders/TexMuxFade");
     fadeKernel    = patternShader.FindKernel("FadeKernel");
     if (mergeModeSelection == null || mergeModeSelection.names.Count == 0)
     {
         mergeModeSelection = new RadioButtonSet(0, "Simple", "Layers");
     }
 }
Beispiel #5
0
        private Form CreateFormTemplate(SubmissionService subSrv, string name, string description, string questionPrefix)
        {
            FormField field;
            Form      f = new Form();

            f.Name        = name;
            f.Description = description;

            List <FormField> fields = new List <FormField>();

            field = new TextField()
            {
                Name        = questionPrefix + " short text",
                Description = "This is a short text field"
            };
            fields.Add(field);

            field = new RadioButtonSet()
            {
                Name        = questionPrefix + " radio button set",
                Description = "This is a radio button field",
                Options     = new List <Option>
                {
                    new Option()
                    {
                        Guid = Guid.NewGuid().ToString(), Value = new List <TextValue> ()
                        {
                            new TextValue("en", "One", "One")
                        }
                    },
                    new Option()
                    {
                        Guid = Guid.NewGuid().ToString(), Value = new List <TextValue> ()
                        {
                            new TextValue("en", "Two", "Two")
                        }
                    },
                    new Option()
                    {
                        Guid = Guid.NewGuid().ToString(), Value = new List <TextValue> ()
                        {
                            new TextValue("en", "Three", "Three")
                        }
                    },
                }
            };
            fields.Add(field);

            f.Fields = fields;

            f.Serialize();
            subSrv.SaveForm(f);

            return(f);
        }
Beispiel #6
0
 private void Awake()
 {
     CropShader      = Resources.Load <ComputeShader>("NodeShaders/CropScaleTileFilter");
     tileKernel      = CropShader.FindKernel("TileKernel");
     mirrorKernel    = CropShader.FindKernel("MirrorKernel");
     cropScaleKernel = CropShader.FindKernel("CropScaleKernel");
     if (edgeWrapMode == null || edgeWrapMode.names.Count == 0)
     {
         edgeWrapMode = new RadioButtonSet("tile", "mirror", "scale");
     }
 }
Beispiel #7
0
 public void Awake()
 {
     if (scalingModeSelection == null || scalingModeSelection.names.Count == 0)
     {
         scalingModeSelection = new RadioButtonSet(1, "Sqrt", "Decibel", "Linear");
     }
     if (captureModeSelection == null || captureModeSelection.names.Count == 0)
     {
         captureModeSelection = new RadioButtonSet(0, "System", "Mic");
     }
     InitializeWasapiCapture();
     InitializeSmoother();
     if (capturing)
     {
         wasapiAudio.StartListen();
     }
 }
Beispiel #8
0
 private void Awake()
 {
     panShader            = Resources.Load <ComputeShader>("NodeShaders/PanFilter");
     bilinearMirrorKernel = panShader.FindKernel("BilinearMirror");
     bilinearRepeatKernel = panShader.FindKernel("BilinearRepeat");
     bilinearClampKernel  = panShader.FindKernel("BilinearClamp");
     pointMirrorKernel    = panShader.FindKernel("PointMirror");
     pointRepeatKernel    = panShader.FindKernel("PointRepeat");
     pointClampKernel     = panShader.FindKernel("PointClamp");
     if (offsetMode == null || offsetMode.names == null || offsetMode.names.Count == 0)
     {
         offsetMode = new RadioButtonSet(0, "X/Y position", "X/Y speed", "Speed/angle");
     }
     if (sampleMode == null || sampleMode.names == null || sampleMode.names.Count == 0)
     {
         sampleMode = new RadioButtonSet(0, "Mirror", "Repeat", "Clamp");
     }
 }
        public Form CreateForm(FormIngestionViewModel model)
        {
            try
            {
                model.ColumnHeadings = GetColumnHeadings(model.DataSheet);
                string lastColName = GetColumnName(model.ColumnHeadings.Count - 1);
                string dataRange   = string.Format("'{0}'!A2:{1}", model.DataSheet, lastColName);

                var request = SheetsService.Spreadsheets.Values.Get(Spreadsheet.SpreadsheetId, dataRange);
                var result  = request.Execute();

                if (string.IsNullOrEmpty(model.ListIdColumn))
                {
                    throw new Exception("Please identify the List ID column");
                }
                int listIdCol = model.ColumnHeadings.IndexOf(model.ListIdColumn);

                if (string.IsNullOrEmpty(model.BlockIdColumn))
                {
                    throw new Exception("Please identify the Block ID column");
                }
                int blockIdCol = model.ColumnHeadings.IndexOf(model.BlockIdColumn);

                List <int> preContextColIndicies = model.PreContextColumns.Select(s => model.ColumnHeadings.IndexOf(s)).ToList();

                if (string.IsNullOrEmpty(model.QuestionColumn))
                {
                    throw new Exception("Please idenfify the Question column");
                }
                int questionCol = model.ColumnHeadings.IndexOf(model.QuestionColumn);

                if (string.IsNullOrEmpty(model.AnswerTypeColumn))
                {
                    throw new Exception("Please idenfify the Answer Type column");
                }
                int answerTypeCol = model.ColumnHeadings.IndexOf(model.AnswerTypeColumn);

                if (string.IsNullOrEmpty(model.AnswerOptionsColumn))
                {
                    throw new Exception("Please idenfify the Answer Options column");
                }
                int answerOptionsCol = model.ColumnHeadings.IndexOf(model.AnswerOptionsColumn);

                if (string.IsNullOrEmpty(model.QuestionIdColumn))
                {
                    throw new Exception("Please idenfify the Question ID column");
                }
                int questionIdCol = model.ColumnHeadings.IndexOf(model.QuestionIdColumn);

                if (string.IsNullOrEmpty(model.IsRequiredIndicatorColumn))
                {
                    throw new Exception("Please idenfify the Required Question Indicator column");
                }
                int isRequiredCol = model.ColumnHeadings.IndexOf(model.IsRequiredIndicatorColumn);

                if (string.IsNullOrEmpty(model.AudioFileColumn))
                {
                    throw new Exception("Please idenfify the Audio File column");
                }
                int audioFileCol = model.ColumnHeadings.IndexOf(model.AudioFileColumn);

                string urlBase = string.IsNullOrEmpty(model.MediaFolderUrl) ? "/media/" : model.MediaFolderUrl.TrimEnd(new char[] { '/' }) + "/";

                //Iterating through all the data and creating numbered lists and list of blocks, list of headers and list of footers
                //The key of each dictionary element represents the list where each block, header or foter belongs to.
                List <CompositeFormField> listFields = new List <CompositeFormField>();
                Dictionary <int, List <CompositeFormField> > blockFieldSets = new Dictionary <int, List <CompositeFormField> >();
                Dictionary <int, CompositeFormField>         headers        = new Dictionary <int, CompositeFormField>();
                Dictionary <int, CompositeFormField>         footers        = new Dictionary <int, CompositeFormField>();

                var uniqueListIds = result.Values.Select(x => x[listIdCol] as string).Distinct().ToList();
                foreach (var listId in uniqueListIds.Where(x => x != "*").Select(x => int.Parse(x)))
                {
                    listFields.Add(new CompositeFormField()
                    {
                        Name = "Page " + listId, Page = listId
                    });
                    blockFieldSets.Add(listId, new List <CompositeFormField>());
                    headers.Add(listId, new CompositeFormField()
                    {
                        Name = "Footer"
                    });
                    footers.Add(listId, new CompositeFormField()
                    {
                        Name = "Header"
                    });
                }

                //Iterating through all the data and creating blocks, headers, footers and questions
                for (int index = 0; index < result.Values.Count; ++index)
                {
                    var           row    = result.Values[index];
                    List <string> values = row.Select(s => s.ToString().Trim()).ToList();

                    //Creating the question
                    List <string> preContexts   = preContextColIndicies.Select(i => values[i]).ToList();
                    string        questionText  = values[questionCol];
                    string        questionId    = values[questionIdCol];
                    string        answerType    = values[answerTypeCol];
                    string        answerOptions = answerOptionsCol < values.Count ? values[answerOptionsCol] : "";

                    if (string.IsNullOrEmpty(answerType))
                    {
                        if (string.IsNullOrEmpty(answerOptions))
                        {
                            answerType = "ShortText";
                        }
                        else
                        {
                            answerType = "RadioButtonSet";
                        }
                    }

                    ///
                    /// Each precontext and question are represented by a composite field inside the selected block.
                    ///
                    CompositeFormField surveyItem = new CompositeFormField()
                    {
                        Name = "Question " + questionId
                    };
                    foreach (string pc in preContexts)
                    {
                        if (!string.IsNullOrEmpty(pc.Trim()))
                        {
                            HtmlField html = new HtmlField()
                            {
                                Name = "Description"
                            };
                            html.SetDescription(pc);
                            surveyItem.InsertChildElement("./fields", html.Data);
                        }
                    }

                    //Adding the question text
                    HtmlField questionTextField = new HtmlField()
                    {
                        Name = "Text"
                    };
                    questionTextField.SetDescription(questionText);
                    surveyItem.InsertChildElement("./fields", questionTextField.Data);

                    //Adding the media file
                    string mediaFile = audioFileCol < values.Count ? values[audioFileCol].TrimStart(new char[] { '/' }) : null;
                    if (!string.IsNullOrEmpty(mediaFile))
                    {
                        ExternalMediaField mf = new ExternalMediaField()
                        {
                            Name       = "Media",
                            Source     = urlBase + mediaFile,
                            MediaType  = Models.Data.CFDataFile.MimeType.Audio,
                            PlayOnce   = true,
                            PlayOnShow = true
                        };
                        surveyItem.InsertChildElement("./fields", mf.Data);
                    }

                    FormField question = null;
                    if (answerType == "ShortText")
                    {
                        question = new TextField();
                    }
                    else if (answerType == "Number")
                    {
                        question = new NumberField();
                    }
                    else if (answerType == "Scale")
                    {
                        List <string> options = answerOptions.Split(new char[] { '|' }).Select(s => s.Trim()).ToList();
                        string[]      begin   = options[0].Split(new char[] { ':' });
                        string[]      end     = options[1].Split(new char[] { ':' });

                        question = new SliderField()
                        {
                            Min      = begin.Length > 0 ? int.Parse(begin[0]) : 0,
                            Max      = end.Length > 0 ? int.Parse(end[0]) : 1,
                            MinLabel = begin.Length > 1 ? begin[1] : "",
                            MaxLabel = end.Length > 1 ? end[1] : ""
                        };
                    }
                    else if (answerType == "RadioButtonSet" || answerType == "DropDown" || answerType == "CheckBoxSet")
                    {
                        List <string> optionStrings = answerOptions.Split(new char[] { '|' }).Select(s => s.Trim()).ToList();
                        List <Option> options       = new List <Option>();
                        foreach (var optVal in optionStrings)
                        {
                            Option opt = new Option();
                            opt.Value = new List <TextValue>()
                            {
                                new TextValue()
                                {
                                    Value = optVal, LanguageCode = "en"
                                }
                            };
                            options.Add(opt);
                        }

                        if (answerType == "RadioButtonSet")
                        {
                            question = new RadioButtonSet()
                            {
                                Options = options
                            }
                        }
                        ;
                        else if (answerType == "CheckBoxSet")
                        {
                            question = new CheckBoxSet()
                            {
                                Options = options
                            }
                        }
                        ;
                        else
                        {
                            question = new DropDownMenu()
                            {
                                Options = options
                            }
                        };
                    }
                    else if (answerType == "TextArea")
                    {
                        question = new TextArea();
                    }
                    else if (answerType == "Attachment")
                    {
                        question = new Attachment();
                    }
                    ////else if(answerType == "DropDown")
                    ////{
                    ////    List<string> optionStrings = answerOptions.Split(new char[] { '|' }).Select(s => s.Trim()).ToList();
                    ////    List<Option> options = new List<Option>();
                    ////    foreach (var optVal in optionStrings)
                    ////    {
                    ////        Option opt = new Option();
                    ////        opt.Value = new List<TextValue>() { new TextValue() { Value = optVal, LanguageCode = "en" } };
                    ////        options.Add(opt);
                    ////    }
                    ////    question = new DropDownMenu() { Options = options };
                    ////}
                    else
                    {
                        throw new Exception(string.Format("Answer type \"{0}\" is not implemented in survey form ingestion.", answerType));
                    }

                    question.Name           = "Answer";
                    question.ReferenceLabel = questionId;
                    question.IsRequired     = values[isRequiredCol] == "1";
                    question.SetAttribute("question-id", values[questionIdCol].ToString());
                    surveyItem.InsertChildElement("./fields", question.Data);

                    //Adding the question to the header, footer or the appropriate block of the
                    //selected list (or all the lists, if list number is *)
                    var    listIdStr       = values[listIdCol];
                    string blockIdStr      = values[blockIdCol].ToUpper();
                    var    applicableLists = listIdStr == "*" ? listFields : listFields.Where(x => x.Page == int.Parse(listIdStr));
                    foreach (var list in applicableLists)
                    {
                        if (blockIdStr == "H")
                        {
                            headers[list.Page].InsertChildElement("./fields", surveyItem.Data);
                        }
                        else if (blockIdStr == "F")
                        {
                            footers[list.Page].InsertChildElement("./fields", surveyItem.Data);
                        }
                        else
                        {
                            var blockSet = blockFieldSets[list.Page];
                            var block    = blockSet.Where(x => x.Page == int.Parse(blockIdStr)).FirstOrDefault();
                            if (block == null)
                            {
                                block = new CompositeFormField()
                                {
                                    Name = "Block " + blockIdStr, Page = int.Parse(blockIdStr)
                                };
                                blockSet.Add(block);
                            }
                            block.InsertChildElement("./fields", surveyItem.Data);
                        }
                    }
                }//END: foreach (var row in result.Values)

                ///
                /// By this point, we have all "lists" in the listFields array and all "blocks" corresponding to
                /// each of those lists in the blockFieldSets dictionary.
                ///

                //Inserting all blocks into each list entry
                foreach (var list in listFields)
                {
                    List <CompositeFormField> blocks = blockFieldSets[list.Page];
                    foreach (var block in blocks)
                    {
                        list.InsertChildElement("./fields", block.Data);
                    }

                    if (headers[list.Page].Fields.Any())
                    {
                        list.InsertChildElement("./header", headers[list.Page].Data);
                    }

                    if (footers[list.Page].Fields.Any())
                    {
                        list.InsertChildElement("./footer", footers[list.Page].Data);
                    }
                }

                Form form = new Form();
                form.SetName(model.FormName);
                form.SetDescription(model.FormDescription);

                foreach (var field in listFields)
                {
                    form.InsertChildElement("./fields", field.Data);
                }

                form.Serialize();
                return(form);



                //////    //If the block number is H or F, the question goes to the header or the footer section of a block.
                //////    if (blockIdCol.HasValue && values[blockIdCol.Value].ToUpper() == "H")
                //////    {
                //////        string lsitNum = listIdCol.HasValue ? values[listIdCol.Value] : "0";
                //////        if (!headers.ContainsKey(lsitNum))
                //////            headers.Add(lsitNum, new List<CompositeFormField>());

                //////    }
                //////    //Otherwise, this is a regular question.


                //////    string listNum = listIdCol.HasValue ? values[listIdCol.Value] : "0";
                //////    string blockNum = blockIdCol.HasValue ? values[blockIdCol.Value] : "0";
                //////    List<string> preContexts = preContextColIndicies.Select(i => values[i]).ToList();
                //////    string questionText = values[questionCol];

                //////    string answerType = answerOptionsCol.HasValue ? values[answerOptionsCol.Value] : "";
                //////    string answerOptions = answerOptionsCol.HasValue ? values[answerOptionsCol.Value] : "";

                //////    if (string.IsNullOrEmpty(answerType))
                //////    {
                //////        if (string.IsNullOrEmpty(answerOptions))
                //////            answerType = "TextField";
                //////        else
                //////            answerType = "RadioButtonSet";
                //////    }

                //////    ///
                //////    /// Each list is represented by a composite field at the top level of the form.
                //////    ///The list number is stored in the "page" property of the field.
                //////    ///Get the composite field representing the given list number, or create a new one if it doesn't exist
                //////    ///
                //////    CompositeFormField list = listFields.Where(field => field.Page == int.Parse(listNum)).FirstOrDefault();
                //////    if(list == null)
                //////    {
                //////        list = new CompositeFormField() { Page = int.Parse(listNum) };
                //////        listFields.Add(list);
                //////        blockFieldSets.Add(listNum, new List<CompositeFormField>()); //Placehoder for blocks of this list.
                //////    }

                //////    ///
                //////    /// Each block is represented by a composite field in the "list".
                //////    ///The block number is stored in the "page" propoerty of this composite field.
                //////    ///Get the composite field representinhg the give block number from the selected list. pr create a new one if it doesn't exist
                //////    ///
                //////    List<CompositeFormField> blocks = blockFieldSets[listNum];
                //////    CompositeFormField block = blocks.Where(field => field.Page == int.Parse(blockNum)).FirstOrDefault();
                //////    if(block == null)
                //////    {
                //////        block = new CompositeFormField() { Page = int.Parse(blockNum) };
                //////        blocks.Add(block);
                //////    }

                //////    ///
                //////    /// Each precontext and question are represented by a composite field inside the selected block.
                //////    ///
                //////    CompositeFormField surveyItem = new CompositeFormField();
                //////    foreach(string pc in preContexts)
                //////    {
                //////        if(!string.IsNullOrEmpty(pc.Trim()))
                //////        {
                //////            HtmlField html = new HtmlField();
                //////            html.SetDescription(pc);
                //////            surveyItem.InsertChildElement("./fields", html.Data);
                //////        }
                //////    }

                //////    FormField question = null;
                //////    if (answerType == "TextField")
                //////        question = new TextField();
                //////    else if (answerOptions == "RadioButtonSet")
                //////    {
                //////        List<string> optionStrings = answerOptions.Split(new char[] { '\n' }).Select(s => s.Trim()).ToList();
                //////        List<Option> options = new List<Option>();
                //////        foreach (var optVal in optionStrings)
                //////        {
                //////            Option opt = new Option();
                //////            opt.Value = new List<TextValue>() { new TextValue() { Value = optVal } };
                //////            options.Add(opt);
                //////        }

                //////        question = new RadioButtonSet()
                //////        {
                //////            Options = options
                //////        };
                //////    }
                //////    else
                //////        throw new Exception(string.Format("Answer type \"{0}\" is not implemented in survey form ingestion."));

                //////    question.SetName(questionText);
                //////    surveyItem.InsertChildElement("./fields", question.Data);

                //////    block.InsertChildElement("./fields", surveyItem.Data);
                //////}

                ////////    ///
                ////////    /// By this point, we have all "lists" in the listFields array and all "blocks" corresponding to
                ////////    /// each of those lists in the blockFieldSets dictionary.
                ////////    ///

                ////////    //Inserting all blocks into each list entry
                ////////    foreach(var list in listFields)
                ////////    {
                ////////        List<CompositeFormField> blocks = blockFieldSets[list.Page.ToString()];
                ////////        foreach (var block in blocks)
                ////////            list.InsertChildElement("./fields", block.Data);
                ////////    }

                ////////    Form form = new Form();
                ////////    form.SetName(model.FormName);
                ////////    form.SetDescription(model.FormDescription);

                ////////    foreach (var field in listFields)
                ////////        form.InsertChildElement("./fields", field.Data);

                ////////    form.Serialize();
                ////////    return form;
            }
            catch (Exception ex)
            {
                model.Error = ex.Message;
            }

            return(null);
        }
Beispiel #10
0
        /*
         * Gameplay
         * - Aiming Type (radio button) Drag / Splice
         * - Scroll Speed (slider bar)
         * - Mouse Speed (slider bar)
         * Sound
         * - BGM (slider Bar)
         * - SFX (slider bar)
         * Misc
         * - Background (radio button) On / Off
         * - Interface  (radio button) Classic / TH Blue / TH Pink / OpenBound
         */

        public PopupGameOptions(Vector2 position) : base(true)
        {
            positionOffset = position;

            sliderBarList      = new List <SliderBar>();
            radioButtonSetList = new List <RadioButtonSet>();

            Background = new Sprite("Interface/Popup/Blue/Options/Background", layerDepth: DepthParameter.InterfacePopupBackground);
            background.PositionOffset = position;

            //SpriteText Session
            //Gameplay
            SpriteText sp = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsGameplay, Parameter.TextColorPopupIngameOptionsCategory, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(-120, -120)
            };

            spriteTextList.Add(sp);

            //Gameplay / Shooting Mode
            sp = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsGameplayAimingMode, Parameter.TextColorPopupIngameOptionsSubCategory, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(-110, -100)
            };
            spriteTextList.Add(sp);

            //Gameplay / Shooting Mode / Drag
            SpriteText spDrag = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsGameplayAimingModeDrag, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText);

            //Gameplay / Shooting Mode / Slice
            SpriteText spSlice = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsGameplayAimingModeSlice, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText);

            //Gameplay / Scroll Speed
            sp = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsGameplayScrollSpeed, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(-110, -80)
            };
            spriteTextList.Add(sp);

            //Gameplay / Mouse Speed
            sp = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsGameplayMouseSpeed, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(-110, -60)
            };
            spriteTextList.Add(sp);

            //Sound
            sp = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsSound, Parameter.TextColorPopupIngameOptionsCategory, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(-120, -40)
            };
            spriteTextList.Add(sp);

            //Sound / BGM
            sp = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsSoundBGM, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(-110, -20)
            };
            spriteTextList.Add(sp);

            //Sound / SFX
            sp = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsSoundSFX, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(-110, 0)
            };
            spriteTextList.Add(sp);

            //Misc
            sp = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsMisc, Parameter.TextColorPopupIngameOptionsCategory, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(-120, 20)
            };
            spriteTextList.Add(sp);

            //Misc / Background
            sp = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsMiscBackground, Parameter.TextColorPopupIngameOptionsSubCategory, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(-110, 40)
            };
            spriteTextList.Add(sp);

            //Misc / Background / On
            SpriteText spOn = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsMiscBackgroundOn, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(20, 40)
            };

            //Misc / Background / Off
            SpriteText spOff = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsMiscBackgroundOff, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(90, 40)
            };

            //Misc / Interface
            sp = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsMiscInterface, Parameter.TextColorPopupIngameOptionsSubCategory, Alignment.Left, DepthParameter.InterfacePopupText)
            {
                PositionOffset = position + new Vector2(-110, 60)
            };
            spriteTextList.Add(sp);

            //Misc / Interface / Classic
            SpriteText spClassic = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsMiscInterfaceClassic, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText);

            //Misc / Interface / TH Blue
            SpriteText spTHBlue = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsMiscInterfaceTHBlue, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText);

            //Misc / Interface / TH White
            SpriteText spTHWhite = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsMiscInterfaceTHWhite, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText);

            //Misc / Interface / OpenBound
            SpriteText spOpenBound = new SpriteText(FontTextType.Consolas10, Language.PopupGameOptionsMiscInterfaceOpenBound, Parameter.TextColorPopupIngameOptionsElement, Alignment.Left, DepthParameter.InterfacePopupText);

            //Radio Button Sections
            aimingRadioSet = new RadioButtonSet(RadioButtonType.InterfaceRadioButton, position + new Vector2(10, -94), new Vector2(70, 0), new List <SpriteText>()
            {
                spDrag, spSlice
            }, new Vector2(5, 1), 1, DepthParameter.InterfacePopupButtons);
            #warning Pre-release deactivation
            //radioButtonSetList.Add(aimingRadioSet);

            RadioButtonSet rbSet2 = new RadioButtonSet(RadioButtonType.InterfaceRadioButton, position + new Vector2(10, 46), new Vector2(70, 0), new List <SpriteText>()
            {
                spOn, spOff
            }, new Vector2(5, 1), 0, DepthParameter.InterfacePopupButtons);
            #warning Pre-release deactivation
            //radioButtonSetList.Add(rbSet2);

            RadioButtonSet rbSet3 = new RadioButtonSet(RadioButtonType.InterfaceRadioButton, position + new Vector2(-90, 86), new Vector2(120, 0), new List <SpriteText>()
            {
                spClassic, spTHBlue, spTHWhite, spOpenBound
            }, new Vector2(5, 1), 1, DepthParameter.InterfacePopupButtons);
            rbSet3.UpdateButtonPosition(2, position + new Vector2(-90, 106));
            rbSet3.UpdateButtonPosition(3, position + new Vector2(30, 106));
            #warning Pre-release deactivation
            //radioButtonSetList.Add(rbSet3);

            //Sliding Bar Section
            //Gameplay / Scroll Speed
            SliderBar sbSensitivity1 = new SliderBar(position + new Vector2(60, -73), 50);
#warning Pre-release deactivation
            //sliderBarList.Add(sbSensitivity1);

            //Gameplay / Mouse Speed
#warning Pre-release deactivation
            SliderBar sbSensitivity2 = new SliderBar(position + new Vector2(60, -53), 50);
            //sliderBarList.Add(sbSensitivity2);

            //Sound / BGM
            SliderBar sbSound1 = new SliderBar(position + new Vector2(60, -13), (int)(AudioHandler.BGMVolume * 100));
            sliderBarList.Add(sbSound1);
            sbSound1.OnBeingDragged += (pgBar) => AudioHandler.ChangeBGMVolume((int)((ProgressBar)pgBar).Intensity);

            //Sound / SFX
            SliderBar sbSound2 = new SliderBar(position + new Vector2(60, 7), (int)(AudioHandler.SFXVolume * 100));
            sliderBarList.Add(sbSound2);
            sbSound2.OnBeingDragged += (pgBar) => AudioHandler.ChangeSFXVolume((int)((ProgressBar)pgBar).Intensity);

            //Accept / Cancel Popup
            buttonList.Add(new Button(ButtonType.Accept, DepthParameter.InterfacePopupButtons, CloseAction, buttonOffset: position + new Vector2(130, 144)));
            //buttonList.Add(new Button(ButtonType.Cancel, 1, CloseAction, buttonOffset: new Vector2(130, 144)));
        }