public override void AddStandardControls(ControlSetup setup)
 {
     base.AddStandardControls(setup);
     action1 = (ButtonControl)setup.AddControl(CommonControls.Action1);
     supportedTags.Add(CommonDeviceTags.Left);
     supportedTags.Add(CommonDeviceTags.Right);
 }
Пример #2
0
        private ControlSetup NewControlSetup(string name)
        {
            ControlSetup newControl = new ControlSetup {
                name           = name,
                keyboardInputs = new List <KeyboardInputType>(),
                gamepadInputs  = new List <CommonGamepadInputs>(),
                mouseInputs    = new List <MouseInputType>(),
                virtualInputs  = new List <string>()
            };

            return(newControl);
        }
Пример #3
0
        //settings
        //public string name = "";
        //public bool exposeMouseSensitivityOption = true;
        //public bool mouseAndKeyboardAreDistinct = false;
        //public List<string>

        public ControlScheme()
        {
            //add all the default controls
            ControlSetup newControl = NewControlSetup("Left");

            newControl.keyboardInputs.Add(KeyboardInputType.A);
            newControl.keyboardInputs.Add(KeyboardInputType.LeftArrow);
            newControl.gamepadInputs.Add(CommonGamepadInputs.LSTICK_LEFT);
            newControl.gamepadInputs.Add(CommonGamepadInputs.DPAD_LEFT);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Right");
            newControl.keyboardInputs.Add(KeyboardInputType.D);
            newControl.keyboardInputs.Add(KeyboardInputType.RightArrow);
            newControl.gamepadInputs.Add(CommonGamepadInputs.LSTICK_RIGHT);
            newControl.gamepadInputs.Add(CommonGamepadInputs.DPAD_RIGHT);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Up");
            newControl.keyboardInputs.Add(KeyboardInputType.W);
            newControl.keyboardInputs.Add(KeyboardInputType.UpArrow);
            newControl.gamepadInputs.Add(CommonGamepadInputs.LSTICK_UP);
            newControl.gamepadInputs.Add(CommonGamepadInputs.DPAD_UP);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Down");
            newControl.keyboardInputs.Add(KeyboardInputType.S);
            newControl.keyboardInputs.Add(KeyboardInputType.DownArrow);
            newControl.gamepadInputs.Add(CommonGamepadInputs.LSTICK_DOWN);
            newControl.gamepadInputs.Add(CommonGamepadInputs.DPAD_DOWN);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Jump");
            newControl.keyboardInputs.Add(KeyboardInputType.Space);
            newControl.gamepadInputs.Add(CommonGamepadInputs.A);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Fire1");
            newControl.keyboardInputs.Add(KeyboardInputType.LeftControl);
            newControl.gamepadInputs.Add(CommonGamepadInputs.RT);
            newControl.mouseInputs.Add(MouseInputType.Mouse0);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Fire2");
            newControl.keyboardInputs.Add(KeyboardInputType.LeftAlt);
            newControl.gamepadInputs.Add(CommonGamepadInputs.RB);
            newControl.mouseInputs.Add(MouseInputType.Mouse1);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Fire3");
            newControl.keyboardInputs.Add(KeyboardInputType.LeftShift);
            newControl.gamepadInputs.Add(CommonGamepadInputs.LB);
            newControl.mouseInputs.Add(MouseInputType.Mouse2);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Look Left");
            newControl.gamepadInputs.Add(CommonGamepadInputs.RSTICK_LEFT);
            newControl.mouseInputs.Add(MouseInputType.MouseMoveLeft);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Look Right");
            newControl.gamepadInputs.Add(CommonGamepadInputs.RSTICK_RIGHT);
            newControl.mouseInputs.Add(MouseInputType.MouseMoveRight);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Look Up");
            newControl.gamepadInputs.Add(CommonGamepadInputs.RSTICK_UP);
            newControl.mouseInputs.Add(MouseInputType.MouseMoveUp);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Look Down");
            newControl.gamepadInputs.Add(CommonGamepadInputs.RSTICK_DOWN);
            newControl.mouseInputs.Add(MouseInputType.MouseMoveDown);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Submit");
            newControl.keyboardInputs.Add(KeyboardInputType.Space);
            newControl.gamepadInputs.Add(CommonGamepadInputs.A);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Cancel");
            newControl.keyboardInputs.Add(KeyboardInputType.Escape);
            newControl.gamepadInputs.Add(CommonGamepadInputs.B);
            this.controls.Add(newControl);

            newControl = NewControlSetup("Join");
            newControl.keyboardInputs.Add(KeyboardInputType.Return);
            newControl.gamepadInputs.Add(CommonGamepadInputs.START);
            this.controls.Add(newControl);

            //now we create the default smart controls
            SmartControlSetup newSmartControl = NewSmartControlSetup("Horizontal", "Left", "Right");

            this.smartControls.Add(newSmartControl);

            newSmartControl = NewSmartControlSetup("Vertical", "Down", "Up");
            this.smartControls.Add(newSmartControl);

            newSmartControl = NewSmartControlSetup("Look Horizontal", "Look Left", "Look Right");
            this.smartControls.Add(newSmartControl);

            newSmartControl = NewSmartControlSetup("Look Vertical", "Look Down", "Look Up");
            this.smartControls.Add(newSmartControl);
        }
 static public void changeToPickUpScreen(UIElement screen)
 {
     currentControls           = ControlSetup.LootPickUp;
     currentlyControlledScreen = screen;
 }
Пример #5
0
        void Update()
        {
            if (parentAtom == null)
            {
                return;
            }

            if (ui != null)
            {
                ui.Update();
            }

            if (SuperController.singleton.GetAtoms().Count != lastAtomsList.Count)
            {
                List <Atom> newAtoms = SuperController.singleton.GetAtoms().Where((atom) =>
                {
                    return(lastAtomsList.Contains(atom) == false);
                }).ToList();

                newAtoms.ForEach((atom) =>
                {
                    if (atom.mainController != null)
                    {
                        atom.mainController.interactableInPlayMode = false;
                    }
                });

                RefreshUI();
                lastAtomsList = SuperController.singleton.GetAtoms();
            }

            Atom selected = SuperController.singleton.GetSelectedAtom();

            if (selected != null)
            {
                if (atomNameToControlSetup.ContainsKey(selected))
                {
                    atomNameToControlSetup[selected].selectButton.buttonColor = atomSelectedColor;
                }
            }
            if (lastSelected != selected)
            {
                if (lastSelected != null && atomNameToControlSetup.ContainsKey(lastSelected))
                {
                    atomNameToControlSetup[lastSelected].selectButton.buttonColor = atomDeselectedColor;
                }
                lastSelected = selected;
            }

            if (lastEditMode != SuperController.singleton.editModeToggle.isOn)
            {
                lastEditMode = SuperController.singleton.editModeToggle.isOn;

                if (SuperController.singleton.editModeToggle.isOn)
                {
                    SuperController.singleton.GetAtoms().ForEach((atom) =>
                    {
                        if (atom.mainController == null)
                        {
                            return;
                        }

                        SetVisibility(atom, true);
                    });
                }
                else
                {
                    SuperController.singleton.GetAtoms().ForEach((atom) =>
                    {
                        if (atom.mainController == null)
                        {
                            return;
                        }

                        if (atomNameToControlSetup.ContainsKey(atom) == false)
                        {
                            return;
                        }

                        ControlSetup cs = atomNameToControlSetup[atom];
                        SetVisibility(atom, !cs.hideToggle.toggle.isOn);
                    });
                }
            }
        }
Пример #6
0
        void RefreshUI()
        {
            RefreshFilters();

            atomNameToControlSetup.Clear();

            List <Transform> children = new List <Transform>();

            for (int i = 0; i < group.childCount; i++)
            {
                children.Add(group.GetChild(i));
            }

            children.ForEach((child) =>
            {
                GameObject.Destroy(child.gameObject);
            });

            group.DetachChildren();

            SuperController.singleton.GetAtoms()
            .Where((atom) =>
            {
                if (filter == "All")
                {
                    return(true);
                }

                List <string> accepted = filters[filter];
                return(accepted.Contains(atom.type));
            })
            .ToList()
            .ForEach((atom) =>
            {
                if (atom.mainController == null)
                {
                    return;
                }

                if (atom == parentAtom)
                {
                    return;
                }

                Transform atomGroup = ui.CreateHorizontalLayout(1000, 60);
                atomGroup.SetParent(group, false);

                UIDynamicToggle onToggle = ui.CreateToggle("On", 120, 60);
                onToggle.transform.SetParent(atomGroup, false);

                onToggle.toggle.isOn = atom.on;
                onToggle.toggle.onValueChanged.AddListener((on) =>
                {
                    atom.SetOn(on);
                });

                UIDynamicToggle hideToggle = ui.CreateToggle("Hide Controls", 240, 60);
                hideToggle.transform.SetParent(atomGroup, false);

                hideToggle.toggle.isOn = atom.mainController.interactableInPlayMode;
                hideToggle.toggle.onValueChanged.AddListener((on) =>
                {
                    atom.mainController.interactableInPlayMode = on;
                    SetVisibility(atom, !hideToggle.toggle.isOn);
                });

                SetVisibility(atom, !hideToggle.toggle.isOn);

                UIDynamicButton selectButton = ui.CreateButton(atom.uid, 500, 60);
                selectButton.transform.SetParent(atomGroup, false);

                HorizontalLayoutGroup hlg = selectButton.button.gameObject.AddComponent <HorizontalLayoutGroup>();
                hlg.padding = new RectOffset(6, 6, 6, 6);
                //ContentSizeFitter csf = selectButton.button.gameObject.AddComponent<ContentSizeFitter>();
                //csf.horizontalFit = ContentSizeFitter.FitMode.PreferredSize;

                selectButton.buttonText.alignment = TextAnchor.MiddleLeft;

                selectButton.button.onClick.AddListener(() =>
                {
                    SuperController.singleton.SelectController(atom.mainController);
                });

                selectButton.textColor   = new Color(1, 1, 1);
                selectButton.buttonColor = atomDeselectedColor;

                UIDynamicButton deleteButton = ui.CreateButton("Delete", 120, 60);
                deleteButton.transform.SetParent(atomGroup, false);
                deleteButton.buttonColor = new Color(0.4f, 0, 0);
                deleteButton.textColor   = Color.white;
                deleteButton.button.onClick.AddListener(() =>
                {
                    SuperController.singleton.RemoveAtom(atom);
                });
                //hlg2 = deleteButton.button.gameObject.AddComponent<HorizontalLayoutGroup>();
                //hlg2.padding = new RectOffset(6, 6, 6, 6);

                atomNameToControlSetup[atom] = new ControlSetup()
                {
                    selectButton = selectButton,
                    hideToggle   = hideToggle,
                    onToggle     = onToggle
                };
            });
        }
Пример #7
0
        public static void SetupControl(Control ctrl)
        {
            Desktop.InvokeOnWorkerThread(() =>
            {
                if (!(ctrl is MenuStrip) && !(ctrl is ToolStrip) && !(ctrl is StatusStrip) && !(ctrl is ContextMenuStrip))
                {
                    string tag = "";

                    try
                    {
                        if (ctrl.Tag != null)
                        {
                            tag = ctrl.Tag.ToString();
                        }
                    }
                    catch { }

                    if (!tag.Contains("ignoreal"))
                    {
                        ctrl.Click += (o, a) =>
                        {
                            Desktop.HideAppLauncher();
                        };
                    }

                    if (!tag.Contains("keepbg"))
                    {
                        if (ctrl.BackColor != Control.DefaultBackColor)
                        {
                            ctrl.BackColor = SkinEngine.LoadedSkin.ControlColor;
                        }
                    }

                    if (!tag.Contains("keepfont"))
                    {
                        ctrl.ForeColor = SkinEngine.LoadedSkin.ControlTextColor;
                        ctrl.Font      = SkinEngine.LoadedSkin.MainFont;
                        if (tag.Contains("header1"))
                        {
                            Desktop.InvokeOnWorkerThread(() =>
                            {
                                ctrl.Font = SkinEngine.LoadedSkin.HeaderFont;
                            });
                        }

                        if (tag.Contains("header2"))
                        {
                            ctrl.Font = SkinEngine.LoadedSkin.Header2Font;
                        }

                        if (tag.Contains("header3"))
                        {
                            ctrl.Font = SkinEngine.LoadedSkin.Header3Font;
                        }
                    }
                    try
                    {
#if !SLOW_LOCALIZATION
                        if (!string.IsNullOrWhiteSpace(ctrl.Text))
                        {
                            string ctrlText = Localization.Parse(ctrl.Text);
                            ctrl.Text       = ctrlText;
                        }
#endif
                    }
                    catch
                    {
                    }

                    if (ctrl is Button)
                    {
                        if (!tag.ToLower().Contains("nobuttonskin"))
                        {
                            Button b = ctrl as Button;
                            if (!tag.Contains("keepbg"))
                            {
                                b.BackColor             = SkinEngine.LoadedSkin.ButtonBackgroundColor;
                                b.BackgroundImage       = SkinEngine.GetImage("buttonidle");
                                b.BackgroundImageLayout = SkinEngine.GetImageLayout("buttonidle");
                            }
                            b.FlatAppearance.BorderSize = SkinEngine.LoadedSkin.ButtonBorderWidth;
                            if (!tag.Contains("keepfg"))
                            {
                                b.FlatAppearance.BorderColor = SkinEngine.LoadedSkin.ButtonForegroundColor;
                                b.ForeColor = SkinEngine.LoadedSkin.ButtonForegroundColor;
                            }
                            if (!tag.Contains("keepfont"))
                            {
                                b.Font = SkinEngine.LoadedSkin.ButtonTextFont;
                            }

                            Color orig_bg = b.BackColor;

                            b.MouseEnter += (o, a) =>
                            {
                                b.BackColor             = SkinEngine.LoadedSkin.ButtonHoverColor;
                                b.BackgroundImage       = SkinEngine.GetImage("buttonhover");
                                b.BackgroundImageLayout = SkinEngine.GetImageLayout("buttonhover");
                            };
                            b.MouseLeave += (o, a) =>
                            {
                                b.BackColor             = orig_bg;
                                b.BackgroundImage       = SkinEngine.GetImage("buttonidle");
                                b.BackgroundImageLayout = SkinEngine.GetImageLayout("buttonidle");
                            };
                            b.MouseUp += (o, a) =>
                            {
                                b.BackColor             = orig_bg;
                                b.BackgroundImage       = SkinEngine.GetImage("buttonidle");
                                b.BackgroundImageLayout = SkinEngine.GetImageLayout("buttonidle");
                            };

                            b.MouseDown += (o, a) =>
                            {
                                b.BackColor             = SkinEngine.LoadedSkin.ButtonPressedColor;
                                b.BackgroundImage       = SkinEngine.GetImage("buttonpressed");
                                b.BackgroundImageLayout = SkinEngine.GetImageLayout("buttonpressed");
                            };
                        }
                    }
                }

                if (ctrl is TextBox)
                {
                    (ctrl as TextBox).BorderStyle = BorderStyle.FixedSingle;
                }

                ctrl.KeyDown += (o, a) =>
                {
                    if (a.Control && a.KeyCode == Keys.T)
                    {
                        a.SuppressKeyPress = true;


                        Engine.AppearanceManager.SetupWindow(new Applications.Terminal());
                    }

                    ShiftOS.Engine.Scripting.LuaInterpreter.RaiseEvent("on_key_down", a);
                    //a.Handled = true;
                };
                if (ctrl is Button)
                {
                    (ctrl as Button).FlatStyle = FlatStyle.Flat;
                }
                else if (ctrl is WindowBorder)
                {
                    (ctrl as WindowBorder).Setup();
                }


                MakeDoubleBuffered(ctrl);
                ControlSetup?.Invoke(ctrl);
            });
        }
Пример #8
0
        public void SetupControls(frmPackAssetTNodeTag tag)
        {
            string _namespace = MethodBase.GetCurrentMethod().ToLogFormatFullName();

            ResetControlsTextValues();

            ObjectAndIntCollection obj = null;

            if (tag.TagObjectType == frmPackAssetTNodeTag.TagType.Collection || tag.TagObjectType == frmPackAssetTNodeTag.TagType.RMSingleFile)
            {
                obj = ConstantSetup.ControlSetupList.FindObjectAndIntItemWithIntAndSub((int)tag.TagObjectType, (int)tag.CollectionType);
            }
            else
            {
                obj = ConstantSetup.ControlSetupList.FindObjectAndIntItemWithInt((int)tag.TagObjectType);
            }

            if (obj == null)
            {
                Helper.ShowMessageBox(MessageBoxStrings.GUI.frmPackageAssets.CORRUPTED_MAIN, MessageBoxStrings.MESSAGEBOX_NAME, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Logger.WriteErrorLog(LoggerMessages.GUI.frmPackageAssets.Error.FAILED_LOAD_ASSET_TYPE, _namespace, null, BasicDebugLogger.DebugErrorType.Error);
                return;
            }

            ControlSetup setup = obj.Object as ControlSetup;

            if (!ViewOnlyMode)
            {
                btnFileRevert.Enabled    = setup.FileInfoRevertEnabled;
                btnFileSave.Enabled      = setup.FileInfoSaveEnabled;
                btnGroupRevert.Enabled   = setup.GroupRevertEnabled;
                btnGroupSave.Enabled     = setup.GroupSaveEnabled;
                comboFileType1.Enabled   = setup.Type1Enabled;
                lblFileType1.Enabled     = setup.Type1Enabled;
                comboFileType2.Enabled   = setup.Type2Enabled;
                lblFileType2.Enabled     = setup.Type2Enabled;
                comboFileType3.Enabled   = setup.Type3Enabled;
                lblFileType3.Enabled     = setup.Type3Enabled;
                comboFileType4.Enabled   = setup.Type4Enabled;
                lblFileType4.Enabled     = setup.Type4Enabled;
                comboGroupGender.Enabled = setup.GenderEnabled;
                comboGroupType.Enabled   = setup.CollectionTypeEnabled;
                txtGroupName.ReadOnly    = setup.GroupNameReadOnly;
                btnRemoveFile.Enabled    = setup.btnRemoveFileEnabled;
                btnRemoveGroup.Enabled   = setup.btnRemoveGroupEnabled;
                btnAddFile.Enabled       = setup.btnAddFileEnabled;
            }
            openFileDialog.Filter = setup.openFileFilter;
            btnFileOpen.Enabled   = setup.btnOpenFileEnabled;
            comboGroupGender.Items.Clear();
            comboGroupGender.Items.AddRange(setup.GenderItems);
            comboGroupType.Items.Clear();
            comboGroupType.Items.AddRange(setup.CollectionTypeItems);
            comboFileType1.Items.Clear();
            comboFileType1.Items.AddRange(setup.Type1Items);
            lblFileType1.Text = setup.Type1Text;
            comboFileType2.Items.Clear();
            comboFileType2.Items.AddRange(setup.Type2Items);
            comboFileType2.DropDownStyle = setup.Type2Style;
            lblFileType2.Text            = setup.Type2Text;
            comboFileType3.Items.Clear();
            comboFileType3.Items.AddRange(setup.Type3Items);
            comboFileType3.DropDownStyle = setup.Type3Style;
            lblFileType3.Text            = setup.Type3Text;
            comboFileType4.Items.Clear();
            comboFileType4.Items.AddRange(setup.Type4Items);
            comboFileType4.DropDownStyle = setup.Type4Style;
            lblFileType4.Text            = setup.Type4Text;

            LoadAssetInfo(tag);
            changesMadeGroup = false;
            changesMadeFile  = false;
        }
Пример #9
0
        public static void PreloadAssetFormData()
        {
            ConstantSetup.CollectionTypeNormal = new ObjectAndIntCollection[]
            {
                new ObjectAndIntCollection("Audio - Background Music", 2),
                new ObjectAndIntCollection("Audio - Background Sound", 4),
                new ObjectAndIntCollection("Audio - Musical Effect", 8),
                new ObjectAndIntCollection("Audio - Sound Effect", 16),
                new ObjectAndIntCollection("System Data", 131072),
                new ObjectAndIntCollection("Image - Character", 256),
                new ObjectAndIntCollection("Image - Animations", 32),
                new ObjectAndIntCollection("Image - Battle Backgrounds Floor", 64),
                new ObjectAndIntCollection("Image - Battle Backgrounds Top", 128),
                new ObjectAndIntCollection("Image - Parallax", 512),
                new ObjectAndIntCollection("Image - Pictures", 1024),
                new ObjectAndIntCollection("Image - System", 2048),
                new ObjectAndIntCollection("Image - Title Background", 8192),
                new ObjectAndIntCollection("Image - Title Border", 16384),
                new ObjectAndIntCollection("Image - Tileset", 4096),
                new ObjectAndIntCollection("Video - Movie", 65536),
                new ObjectAndIntCollection("Plugins", 32768),
                new ObjectAndIntCollection("Generator Parts", 1),
            };

            ConstantSetup.CollectionTypeGenerator = new ObjectAndIntCollection[]
            {
                new ObjectAndIntCollection("Generator Part - Accessory A", 0),
                new ObjectAndIntCollection("Generator Part - Accessory B", 1),
                new ObjectAndIntCollection("Generator Part - Beast Ears", 2),
                new ObjectAndIntCollection("Generator Part - Beard", 3),
                new ObjectAndIntCollection("Generator Part - Body", 4),
                new ObjectAndIntCollection("Generator Part - Cloak", 5),
                new ObjectAndIntCollection("Generator Part - Clothing", 6),
                new ObjectAndIntCollection("Generator Part - Ears", 7),
                new ObjectAndIntCollection("Generator Part - Eyebrows", 8),
                new ObjectAndIntCollection("Generator Part - Eyes", 9),
                new ObjectAndIntCollection("Generator Part - Face", 10),
                new ObjectAndIntCollection("Generator Part - Facial Mark", 11),
                new ObjectAndIntCollection("Generator Part - Front Hair", 12),
                new ObjectAndIntCollection("Generator Part - Glasses", 13),
                new ObjectAndIntCollection("Generator Part - Mouth", 14),
                new ObjectAndIntCollection("Generator Part - Nose", 15),
                new ObjectAndIntCollection("Generator Part - Rear Hair", 16),
                new ObjectAndIntCollection("Generator Part - Tail", 17),
                new ObjectAndIntCollection("Generator Part - Wing", 18)
            };

            ConstantSetup.Gender = new ObjectAndIntCollection[]
            {
                new ObjectAndIntCollection("Male", 1),
                new ObjectAndIntCollection("Female", 2),
                new ObjectAndIntCollection("Kid", 4)
            };

            ConstantSetup.T1_AudioFileType = new ObjectAndIntCollection[]
            {
                new ObjectAndIntCollection("M4A File", 0),
                new ObjectAndIntCollection("OGG File", 1),
            };

            ConstantSetup.T1_CharacterFileType = new ObjectAndIntCollection[]
            {
                new ObjectAndIntCollection("Character", 0),
                new ObjectAndIntCollection("Enemy", 1),
                new ObjectAndIntCollection("Face", 2),
                new ObjectAndIntCollection("SV_Actor", 3),
                new ObjectAndIntCollection("SV_Enemy", 4)
            };

            ConstantSetup.T1_TilesetFileType = new ObjectAndIntCollection[]
            {
                new ObjectAndIntCollection("TXT File", 1),
                new ObjectAndIntCollection("PNG File", 2)
            };

            ConstantSetup.T2_AtlasType = new ObjectAndIntCollection[]
            {
                new ObjectAndIntCollection("A1 - Animation", 1),
                new ObjectAndIntCollection("A2 - Ground", 2),
                new ObjectAndIntCollection("A3 - Building", 3),
                new ObjectAndIntCollection("A4 - Walls", 4),
                new ObjectAndIntCollection("A5 - Normal", 5),
                new ObjectAndIntCollection("B", 6),
                new ObjectAndIntCollection("C", 7),
                new ObjectAndIntCollection("D", 8),
                new ObjectAndIntCollection("E", 9),
                new ObjectAndIntCollection("Not Specified", 0)
            };

            ConstantSetup.T1_MovieFileType = new ObjectAndIntCollection[]
            {
                new ObjectAndIntCollection("MP4 File", 0),
                new ObjectAndIntCollection("WEBM File", 1)
            };

            ConstantSetup.T1_GenFileType = new ObjectAndIntCollection[]
            {
                new ObjectAndIntCollection("Face", 1),
                new ObjectAndIntCollection("SV", 2),
                new ObjectAndIntCollection("SV (C File)", 3),
                new ObjectAndIntCollection("TV", 4),
                new ObjectAndIntCollection("TV (C File)", 5),
                new ObjectAndIntCollection("TVD", 6),
                new ObjectAndIntCollection("TVD (C File)", 7),
                new ObjectAndIntCollection("Var (Icon)", 8),
            };

            ConstantSetup.ControlSetupList = new List <ObjectAndIntCollection>();

            //Collection - Audio, Characters, Tileset, Movies and Gen Parts
            ControlSetup tSetup = new ControlSetup();

            tSetup.CollectionTypeItems = ConstantSetup.CollectionTypeNormal;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, new int[] { 2, 4, 8, 16, 256, 4096, 65536, 1 }, 0));

            //Collection - SingleFileCollections (image)
            tSetup = new ControlSetup();
            tSetup.CollectionTypeItems = ConstantSetup.CollectionTypeNormal;
            tSetup.btnAddFileEnabled   = true;
            tSetup.openFileFilter      = FileDialogFilters.IMAGE_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, new int[] { 32, 64, 128, 512, 1024, 2048, 8192, 16384 }, 0));

            //Collection - System Data
            tSetup = new ControlSetup();
            tSetup.CollectionTypeItems = ConstantSetup.CollectionTypeNormal;
            tSetup.btnAddFileEnabled   = true;
            tSetup.openFileFilter      = FileDialogFilters.SYSTEM_DATA_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, new int[] { 131072 }, 0));

            //Collection - Plugins
            tSetup = new ControlSetup();
            tSetup.CollectionTypeItems = ConstantSetup.CollectionTypeNormal;
            tSetup.btnAddFileEnabled   = true;
            tSetup.openFileFilter      = FileDialogFilters.PLUGIN_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, new int[] { 32768 }, 0));

            //GeneratorPartGroup
            tSetup = new ControlSetup();
            tSetup.CollectionTypeItems   = ConstantSetup.CollectionTypeGenerator;
            tSetup.CollectionTypeEnabled = true;
            tSetup.GenderEnabled         = true;
            tSetup.GenderItems           = ConstantSetup.Gender;
            tSetup.GroupNameReadOnly     = false;
            tSetup.GroupRevertEnabled    = true;
            tSetup.GroupSaveEnabled      = true;
            tSetup.btnRemoveGroupEnabled = true;
            tSetup.btnAddFileEnabled     = true;
            tSetup.openFileFilter        = FileDialogFilters.IMAGE_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, 1));


            // AudioGroup
            tSetup = new ControlSetup();
            tSetup.CollectionTypeEnabled = false;
            tSetup.GroupNameReadOnly     = false;
            tSetup.GroupRevertEnabled    = true;
            tSetup.GroupSaveEnabled      = true;
            tSetup.btnRemoveGroupEnabled = true;
            tSetup.btnAddFileEnabled     = true;
            tSetup.openFileFilter        = FileDialogFilters.AUDIO_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, 2));

            // CharacterGroup
            tSetup = new ControlSetup();
            tSetup.CollectionTypeEnabled = false;
            tSetup.GroupNameReadOnly     = false;
            tSetup.GroupRevertEnabled    = true;
            tSetup.GroupSaveEnabled      = true;
            tSetup.btnRemoveGroupEnabled = true;
            tSetup.btnAddFileEnabled     = true;
            tSetup.openFileFilter        = FileDialogFilters.IMAGE_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, 3));

            // MovieGroup
            tSetup = new ControlSetup();
            tSetup.CollectionTypeEnabled = false;
            tSetup.GroupNameReadOnly     = false;
            tSetup.GroupRevertEnabled    = true;
            tSetup.GroupSaveEnabled      = true;
            tSetup.btnRemoveGroupEnabled = true;
            tSetup.btnAddFileEnabled     = true;
            tSetup.openFileFilter        = FileDialogFilters.VIDEO_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, 4));

            // TilesetGroup
            tSetup = new ControlSetup();
            tSetup.CollectionTypeEnabled = false;
            tSetup.GroupNameReadOnly     = false;
            tSetup.GroupRevertEnabled    = true;
            tSetup.GroupSaveEnabled      = true;
            tSetup.btnRemoveGroupEnabled = true;
            tSetup.btnAddFileEnabled     = true;
            tSetup.openFileFilter        = FileDialogFilters.TILESET_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, 5));

            //RMAudioFile,
            tSetup = new ControlSetup();
            tSetup.FileInfoRevertEnabled = true;
            tSetup.FileInfoSaveEnabled   = true;
            tSetup.Type1Enabled          = true;
            tSetup.Type1Items            = ConstantSetup.T1_AudioFileType;
            tSetup.Type1Text             = "File Type:";
            tSetup.btnOpenFileEnabled    = true;
            tSetup.btnRemoveFileEnabled  = true;
            tSetup.btnAddFileEnabled     = true;
            tSetup.openFileFilter        = FileDialogFilters.AUDIO_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, 6));

            //RMGenFile
            tSetup = new ControlSetup();
            tSetup.FileInfoRevertEnabled = true;
            tSetup.FileInfoSaveEnabled   = true;
            tSetup.IsAGeneratorFile      = true;

            tSetup.Type1Enabled = true;
            tSetup.Type1Items   = ConstantSetup.T1_GenFileType;
            tSetup.Type1Text    = "Type:";

            tSetup.Type2Style   = ComboBoxStyle.Simple;
            tSetup.Type2Text    = "High Order:";
            tSetup.Type2Enabled = true;

            tSetup.Type3Style   = ComboBoxStyle.Simple;
            tSetup.Type3Text    = "Low Order:";
            tSetup.Type3Enabled = true;

            tSetup.Type4Style   = ComboBoxStyle.Simple;
            tSetup.Type4Text    = "Colour";
            tSetup.Type4Enabled = true;

            tSetup.btnOpenFileEnabled   = true;
            tSetup.btnRemoveFileEnabled = true;
            tSetup.btnAddFileEnabled    = true;
            tSetup.openFileFilter       = FileDialogFilters.IMAGE_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, 7));

            //RMCharImageFile,
            tSetup = new ControlSetup();
            tSetup.FileInfoRevertEnabled = true;
            tSetup.FileInfoSaveEnabled   = true;
            tSetup.Type1Enabled          = true;
            tSetup.Type1Items            = ConstantSetup.T1_CharacterFileType;
            tSetup.Type1Text             = "Type:";
            tSetup.btnOpenFileEnabled    = true;
            tSetup.btnRemoveFileEnabled  = true;
            tSetup.btnAddFileEnabled     = true;
            tSetup.openFileFilter        = FileDialogFilters.IMAGE_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, 8));

            //RMTilesetFile
            tSetup = new ControlSetup();
            tSetup.FileInfoRevertEnabled = true;
            tSetup.FileInfoSaveEnabled   = true;

            tSetup.Type1Enabled = true;
            tSetup.Type1Items   = ConstantSetup.T1_TilesetFileType;
            tSetup.Type1Text    = "File Type:";

            tSetup.Type2Enabled = true;
            tSetup.Type2Items   = ConstantSetup.T2_AtlasType;
            tSetup.Type2Text    = "Atlas Type:";

            tSetup.btnOpenFileEnabled   = true;
            tSetup.btnRemoveFileEnabled = true;
            tSetup.btnAddFileEnabled    = true;
            tSetup.openFileFilter       = FileDialogFilters.TILESET_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, 9));

            //RMMovieFile,
            tSetup = new ControlSetup();
            tSetup.FileInfoRevertEnabled = true;
            tSetup.FileInfoSaveEnabled   = true;
            tSetup.Type1Enabled          = true;
            tSetup.Type1Items            = ConstantSetup.T1_MovieFileType;
            tSetup.Type1Text             = "File Type:";
            tSetup.btnOpenFileEnabled    = true;
            tSetup.btnRemoveFileEnabled  = true;
            tSetup.btnAddFileEnabled     = true;
            tSetup.openFileFilter        = FileDialogFilters.VIDEO_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, 10));

            //RMSingleFile (image)
            tSetup = new ControlSetup();
            tSetup.btnOpenFileEnabled   = true;
            tSetup.btnRemoveFileEnabled = true;
            tSetup.btnAddFileEnabled    = true;
            tSetup.openFileFilter       = FileDialogFilters.IMAGE_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, new int[] { 32, 64, 128, 512, 1024, 2048, 8192, 16384 }, 11));

            //RMSingleFile (system data)
            tSetup = new ControlSetup();
            tSetup.btnOpenFileEnabled   = true;
            tSetup.btnRemoveFileEnabled = true;
            tSetup.btnAddFileEnabled    = true;
            tSetup.openFileFilter       = FileDialogFilters.SYSTEM_DATA_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, new int[] { 131072 }, 11));

            //RMSingleFile (plugin)
            tSetup = new ControlSetup();
            tSetup.btnOpenFileEnabled   = true;
            tSetup.btnRemoveFileEnabled = true;
            tSetup.btnAddFileEnabled    = true;
            tSetup.openFileFilter       = FileDialogFilters.PLUGIN_FORMAT;
            ConstantSetup.ControlSetupList.Add(new ObjectAndIntCollection(tSetup, new int[] { 32768 }, 11));
        }