Exemple #1
0
        private static void TechnicolourSubMenuCreated(string name)
        {
            if (name == "CTT")
            {
                //We have technicolour

                List <Tuple <float, string> > technicolourOptions = new List <Tuple <float, string> > {
                    { 0f, "OFF" },
                    { 1f, "WARM/COLD" },
                    { 2f, "EITHER" },
                    { 3f, "TRUE RANDOM" }
                };

                MultiSelectOption techniParticles = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsRight, "Tech. Particles", "CTT", "Technicolour style of the particles.");
                for (int i = 0; i < technicolourOptions.Count; i++)
                {
                    techniParticles.AddOption(i, technicolourOptions[i].Item2);
                }
                techniParticles.GetValue += delegate {
                    return((int)ChromaSparksConfig.TechnicolourSparksStyle);
                };
                techniParticles.OnChange += delegate(float value) {
                    ColourManager.TechnicolourStyle style = ColourManager.GetTechnicolourStyleFromFloat(value);
                    ChromaSparksConfig.TechnicolourSparksStyle = style;
                };
            }
        }
        public IEnumerable <Questionaires> GetContractQuestionaries(string resourceType, string Action, Guid ContractGuid)
        {
            var questionniareMaster = _contractQuestionariesRepository.GetContractQuestionaries(resourceType, Action, ContractGuid);
            List <Questionaires> listQuestionaire = new List <Questionaires>();

            foreach (var data in questionniareMaster)
            {
                Questionaires questionaire = new Questionaires();
                questionaire.Question     = data.Questions;
                questionaire.QuestionType = data.QuestionType;
                questionaire.Textanswer   = data.Textanswer;
                questionaire.Id           = data.Id;
                List <string>            multiSelectOptions = data.MultiSelectoption?.Split('|').ToList();
                List <string>            checkboxAnswer     = data.CheckBoxAnswer?.Split('|').ToList();
                List <MultiSelectOption> option             = new List <MultiSelectOption>();

                if (multiSelectOptions != null)
                {
                    foreach (var resource in multiSelectOptions)
                    {
                        MultiSelectOption opt = new MultiSelectOption();
                        opt.Name = resource;
                        if (checkboxAnswer != null)
                        {
                            if (checkboxAnswer.Contains(resource))
                            {
                                opt.IsSelected = true;
                            }
                            else
                            {
                                opt.IsSelected = false;
                            }
                            opt.Id = Guid.NewGuid();
                        }
                        else
                        {
                            opt.IsSelected = false;
                        }

                        option.Add(opt);
                    }
                }
                questionaire.MultiSelectAnswer    = option;
                questionaire.YesNoAnswer          = data.Answer;
                questionaire.QuestionGuid         = data.QuestionaireMasterGuid;
                questionaire.ReportLastReportDate = data.DateOfLastReport;
                questionaire.ReportNextReportDate = data.DateOfNextReport;
                questionaire.ControlClass         = data.Class;
                questionaire.ChildId          = data.ChildId;
                questionaire.ChildYesNoAnswer = data.ChildYesNoAnswer;
                questionaire.CheckBoxAnswer   = data.CheckBoxAnswer;
                questionaire.Updatedon        = data.UpdatedOn;
                questionaire.UpdatedBy        = _userService.GetUserByUserGuid(data.UpdatedBy)?.DisplayName;
                // questionaire.Checkedoption = data.CheckBoxAnswer;
                listQuestionaire.Add(questionaire);
            }
            return(listQuestionaire);
        }
Exemple #3
0
        public static void InitializeGameplayMenu()
        {
            blindingOptionsEnabled = false;//ModPrefs.GetBool("SpinSaber", "BlindMe", false);

            Console.WriteLine("[SpinSaber] Initializing GameplayMenu Options...");

            GameplaySettingsUI.CreateSubmenuOption(GameplaySettingsPanels.PlayerSettingsLeft, "SpinSaber", "MainMenu", "SSM", "Select SpinSaber settings");

            /*ToggleOption spinSaberEnabledToggle = GameplaySettingsUI.CreateToggleOption(GameplaySettingsPanels.PlayerSettingsLeft, "Spin Enabled", "SSM", "Enable/Disable SpinSaber.");
             * spinSaberEnabledToggle.GetValue = Plugin.spinSaberEnabled;
             * spinSaberEnabledToggle.OnToggle += SpinSaberEnabledToggled;*/

            GameplaySettingsUI.CreateSubmenuOption(GameplaySettingsPanels.PlayerSettingsLeft, "Profile", "SSM", "SSMPROFILE", "Select SpinSaber profile");

            MultiSelectOption spinSaberConfigSelect = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsLeft, "SpinConfig", "SSMPROFILE", "Select your preferred spin config.");

            spinSaberConfigSelect.AddOption(-1, "Disabled");
            if (Plugin.loadedConfigs.Count <= 0)
            {
                //spinSaberConfigSelect.AddOption(0, "No Configs Found");
            }
            else
            {
                for (int i = 0; i < Plugin.loadedConfigs.Count; i++)
                {
                    spinSaberConfigSelect.AddOption(i, Plugin.loadedConfigs[i].name);
                }
            }
            spinSaberConfigSelect.OnChange += SpinSaberConfigSelected;
            spinSaberConfigSelect.GetValue  = () => lastOptionSelected;

            GameplaySettingsUI.CreateSubmenuOption(GameplaySettingsPanels.PlayerSettingsLeft, "Time", "SSM", "SSMTIME", "Select Time Scale");

            MultiSelectOption spinSaberTimeMult = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsLeft, "Time Rate", "SSMTIME", "Multiply the speed of your selected config.");

            for (int i = 1; i <= 9; i++)
            {
                spinSaberTimeMult.AddOption(i / 10f, "0." + i + "x");
            }
            spinSaberTimeMult.AddOption(1, "Default");
            for (int i = 1; i <= 9; i++)
            {
                spinSaberTimeMult.AddOption(1 + (i / 10f), "1." + i + "x");
            }
            spinSaberTimeMult.OnChange += SpinSaberTimeSelected;
            spinSaberTimeMult.GetValue  = () => timeMult;

            if (blindingOptionsEnabled)
            {
                MultiSelectOption blindTimeMult = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsLeft, "Blind Time", "SSM", "Duration of being blinded.");
                blindTimeMult.AddOption(-1f, "Disabled");
                for (int i = 0; i <= 9; i++)
                {
                    for (int j = 0; j <= 9; j++)
                    {
                        if (i == 0 && j == 0)
                        {
                            continue;
                        }
                        blindTimeMult.AddOption(i + (j / 10f), i + "." + j + "s");
                    }
                }
                blindTimeMult.AddOption(10, "10.0s");
                blindTimeMult.OnChange += BlindTimeSelected;
                blindTimeMult.GetValue  = () => blindTime;

                MultiSelectOption visibleTimeMult = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsLeft, "Visible Time", "SSM", "Duration of visibility.");
                visibleTimeMult.AddOption(-1f, "Disabled");
                for (int i = 0; i <= 9; i++)
                {
                    for (int j = 0; j <= 9; j++)
                    {
                        if (i == 0 && j == 0)
                        {
                            continue;
                        }
                        visibleTimeMult.AddOption(i + (j / 10f), i + "." + j + "s");
                    }
                }
                visibleTimeMult.AddOption(10, "10.0s");
                visibleTimeMult.OnChange += VisibleTimeSelected;
                visibleTimeMult.GetValue  = () => visibleTime;
            }
        }
Exemple #4
0
        private static void GameplaySettingsUISetup()
        {
            /*
             * MODIFIERS
             */

            Sprite sprite = Base64Sprites.Base64ToSprite("iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA3WAAAN1gGQb3mcAAAAB3RJTUUH4wINFyAWrJdsNwAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAAKSSURBVEhL3dbLq05RHMbxEzEhuQ0OBi4DDDAxcSlDE1ISCgMGDAgTt8iACRMlyW0kKSZMKIRcBsQAfwGRiUK5RLm9vs9u/XbrXefZ+30z9KvP6V3Puuxz9nv2Wnug0+n8q4d4UGR9s2GffuBnkfXNhn36fy68Cd+xIcuc9/hQZCWtobU2Zlmlq5GswR/8QtvF5ySuTzRXa2it1SmrdTUyOxAX1y9S9o9FXFify/61iItqrbK/9TuOi99I7WFYj8f4jSh9foR10BiNvYXGi4oNMwswCRNwD1Gf8CTR56i70FjN0Vy3ZsWGhdF4AdUr6PsagegfCX0d6lM9xyjkawxhw8JZqLTgRLgxor74BU/BjanZMDMDela/YVrK2mi8Hh/NmZ4yy4aZPVCdget3zkG1C66/oh/jsRN7k92I5/MyVCvRNbHFKqguQe250Jqxvq41Th0HUFacOneqVqezCLFwLxqr0ly1dYqVtV8d+tc/jKPJEcSjcBWq5YiFe1kB1RWovRBaM9Y/hMFyUukgVMfh+p0TUOlOuv6KDTOzoR1Im8SUlLXRmM/QbjYzZZYNCxehuo984yipL3a3C3BjajYsaAt8CdVJuDESt1hjNceNqdkwo1sdJ9EXqNxppdNI9RXzoDmzUI6r2TCJ8/RaautkUr3GcMQ43eK3UMX5fR2t57kNkR/im1Mmz6BagsiWKqCeIrIt0NzGiw8JoGe26RCP7VC7UuxEel5V5SOXv0wsS1mtq5Fsgx4Hd4gfQ1NpEyrHaw2ttTXLKl2NzBiTyVTorz5fOI1BuDl2rSFBD/vQVNvh5lg2bLEYep+6XbiJ+XBzLBv2oBeCN/iYaMPQQePGNrJhD3rL0It81DtMhhvboDPwF6eIOFNA61CjAAAAAElFTkSuQmCC");

            ToggleOption lightshowModifier = GameplaySettingsUI.CreateToggleOption(GameplaySettingsPanels.ModifiersLeft, "Lightshow Only", hintText: "Disables all notes and sabers, allowing you to view the lightshow!", optionIcon: sprite);

            lightshowModifier.GetValue  = ChromaConfig.LightshowModifier;
            lightshowModifier.OnToggle += LightshowToggled;

            /*
             * COLOURS
             */
            GameplaySettingsUI.CreateSubmenuOption(GameplaySettingsPanels.PlayerSettingsRight, "Chroma Colours", "MainMenu", "CTC", "Choose your Colour Scheme and more!");

            ToggleOption technicolourToggle = GameplaySettingsUI.CreateToggleOption(GameplaySettingsPanels.PlayerSettingsRight, "Technicolour", "CTC", "Enable/Disable Technicolour.  See Technicolour options below.");

            technicolourToggle.GetValue  = ChromaConfig.TechnicolourEnabled;
            technicolourToggle.OnToggle += TechnicolourToggled;
            technicolourToggle.AddConflict("RNG PLights");

            /*
             * EVENTS
             */
            GameplaySettingsUI.CreateSubmenuOption(GameplaySettingsPanels.PlayerSettingsRight, "Chroma Events", "MainMenu", "CTE", "Toggle RGB lighting and special events");

            ToggleOption rgbLightsToggle = GameplaySettingsUI.CreateToggleOption(GameplaySettingsPanels.PlayerSettingsRight, "RGB Lights", "CTE", "Enable/Disable RGB lighting events.");

            rgbLightsToggle.GetValue  = ChromaConfig.CustomColourEventsEnabled;
            rgbLightsToggle.OnToggle += RGBEventsToggled;
            rgbLightsToggle.AddConflict("Darth Maul");

            ToggleOption specialEventsToggle = GameplaySettingsUI.CreateToggleOption(GameplaySettingsPanels.PlayerSettingsRight, "Special Events", "CTE", "Enable/Disable Special Events, such as note size changing, player heal/harm events, and rotation events.");

            specialEventsToggle.GetValue  = ChromaConfig.CustomSpecialEventsEnabled;
            specialEventsToggle.OnToggle += SpecialEventsToggled;
            specialEventsToggle.AddConflict("Darth Maul");



            GameplaySettingsUI.CreateSubmenuOption(GameplaySettingsPanels.PlayerSettingsRight, "Techni. Options", "CTC", "CTT", "Adjust Technicolour Settings.");

            List <Tuple <float, string> > technicolourOptions = new List <Tuple <float, string> > {
                { 0f, "OFF" },
                { 1f, "WARM/COLD" },
                { 2f, "EITHER" },
                { 3f, "TRUE RANDOM" }
            };

            //float[] techniOptions = new float[technicolourOptions.Count];
            //for (int i = 0; i < technicolourOptions.Count; i++) techniOptions[i] = i;

            MultiSelectOption techniLights = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsRight, "Tech. Lights", "CTT", "Technicolour style of the lights.");

            for (int i = 0; i < technicolourOptions.Count; i++)
            {
                techniLights.AddOption(i, technicolourOptions[i].Item2);
            }
            techniLights.GetValue += delegate {
                return((int)ChromaConfig.TechnicolourLightsStyle);
            };
            techniLights.OnChange += delegate(float value) {
                ColourManager.TechnicolourStyle style = ColourManager.GetTechnicolourStyleFromFloat(value);
                ChromaConfig.TechnicolourLightsStyle = style;
            };

            MultiSelectOption techniLightsGrouping = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsRight, "Lights Grouping", "CTT", ChromaConfig.WaiverRead ? "The more isolated, the more intense.  Isolated Event has the best performance.\n  <color=red>Mayhem prevents fades and flashes from working properly</color>." : "Isolated Event for better performance, but more chaotic lighting");

            techniLightsGrouping.AddOption(0f, "Standard");
            techniLightsGrouping.AddOption(1f, "Isolated Event");
            if (ChromaConfig.WaiverRead)
            {
                techniLightsGrouping.AddOption(2f, "Isolated (Mayhem)");
            }
            techniLightsGrouping.GetValue += delegate {
                return((int)ChromaConfig.TechnicolourLightsGrouping);
            };
            techniLightsGrouping.OnChange += delegate(float value) {
                ChromaConfig.TechnicolourLightsGrouping = ColourManager.GetTechnicolourLightsGroupingFromFloat(value);
            };

            MultiSelectOption techniFrequency = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsRight, "Lights Freq", "CTT", "The higher the frequency, the more colour changes.  10% is default.");

            for (int i = 1; i <= 20; i++)
            {
                techniFrequency.AddOption(0.05f * i, i == 2 ? "10% (Def)" : (5f * i) + "%");
            }
            techniFrequency.GetValue += delegate {
                return(ChromaConfig.TechnicolourLightsFrequency);
            };
            techniFrequency.OnChange += delegate(float value) {
                ChromaConfig.TechnicolourLightsFrequency = value;
            };

            /*ToggleOption techniIndividualLights = GameplaySettingsUI.CreateToggleOption(GameplaySettingsPanels.PlayerSettingsRight, "Isolated Lights", "CTT", "If enabled, Technicolour will only affect one light source at a time.  This results in much, much more colour variety being possible, but also can look excessively chaotic.");
             * techniIndividualLights.GetValue = ChromaConfig.TechnicolourLightsIndividual;
             * techniIndividualLights.OnToggle += delegate (bool value) {
             *  ChromaConfig.TechnicolourLightsIndividual = value;
             * };*/

            /*MultiSelectOption techniBarriers = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsRight, "Tech. Walls", "CTT", "Technicolour style of the walls/barriers.");
             * for (int i = 0; i < technicolourOptions.Count; i++) techniBarriers.AddOption(i, technicolourOptions[i].Item2);
             * techniBarriers.GetValue += delegate {
             *  return (int)ChromaConfig.TechnicolourWallsStyle;
             * };
             * techniBarriers.OnChange += delegate (float value) {
             *  ColourManager.TechnicolourStyle style = ColourManager.GetTechnicolourStyleFromFloat(value);
             *  ChromaConfig.TechnicolourWallsStyle = style;
             * };*/

            //Walls don't need to have other options since they only work nicely with Either
            ToggleOption techniWalls = GameplaySettingsUI.CreateToggleOption(GameplaySettingsPanels.PlayerSettingsRight, "Tech. Barriers", "CTT", "If enabled, Barriers will rainbowify!");

            techniWalls.GetValue  = ChromaConfig.TechnicolourWallsStyle == ColourManager.TechnicolourStyle.ANY_PALETTE;
            techniWalls.OnToggle += delegate(bool value) {
                ChromaConfig.TechnicolourWallsStyle = value ? ColourManager.TechnicolourStyle.ANY_PALETTE : ColourManager.TechnicolourStyle.OFF;
            };


            MultiSelectOption techniBlocks = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsRight, "Tech. Blocks", "CTT", "Technicolour style of the blocks.");

            for (int i = 0; i < technicolourOptions.Count; i++)
            {
                techniBlocks.AddOption(i, technicolourOptions[i].Item2);
            }
            techniBlocks.GetValue += delegate {
                return((int)ChromaConfig.TechnicolourBlocksStyle);
            };
            techniBlocks.OnChange += delegate(float value) {
                ColourManager.TechnicolourStyle style = ColourManager.GetTechnicolourStyleFromFloat(value);
                ChromaConfig.TechnicolourBlocksStyle = style;
            };

            MultiSelectOption techniSsabers = GameplaySettingsUI.CreateListOption(GameplaySettingsPanels.PlayerSettingsRight, "Tech. Sabers", "CTT", "Technicolour style of the sabers.");

            for (int i = 0; i < technicolourOptions.Count; i++)
            {
                techniSsabers.AddOption(i, technicolourOptions[i].Item2);
            }
            techniSsabers.GetValue += delegate {
                return((int)ChromaConfig.TechnicolourSabersStyle);
            };
            techniSsabers.OnChange += delegate(float value) {
                ColourManager.TechnicolourStyle style = ColourManager.GetTechnicolourStyleFromFloat(value);
                ChromaConfig.TechnicolourSabersStyle = style;
            };

            ToggleOption techniSabersMismatch = GameplaySettingsUI.CreateToggleOption(GameplaySettingsPanels.PlayerSettingsRight, "Desync Sabers", "CTT", "If true, technicolour sabers will have their \"time\" start and progress differently, resulting in their colours not matching so often.");

            techniSabersMismatch.GetValue  = !ChromaConfig.MatchTechnicolourSabers;
            techniSabersMismatch.OnToggle += TechnicolourSaberMismatchToggled;

            GameplaySubMenuCreatedEvent?.Invoke("CTC");
            GameplaySubMenuCreatedEvent?.Invoke("CTE");
            GameplaySubMenuCreatedEvent?.Invoke("CTT");

            ExtensionGameplayMenusEvent?.Invoke();
        }