public SoundSettingsScreen(Game i_Game) : base(i_Game, 150f, 15f) { int index = 0; this.m_Background = new Background(this, @"Sprites\BG_Space01_1024x768", 1); this.m_MenuHeader = new MenuHeader(this, @"Screens\Settings\SoundSettingsLogo"); this.m_SoundSettingManager = i_Game.Services.GetService(typeof(ISoundSettingsManager)) as ISoundSettingsManager; ToggleItem toggleGameSound = new ToggleItem(@"Screens\Settings\ToggleSound", @"Screens\Settings\OnOff_53x52", this, index++); VolumeItem bgMusicVolume = new VolumeItem(@"Screens\Settings\BgMusic", this, index++); VolumeItem soundEffectsVolume = new VolumeItem(@"Screens\Settings\SoundEffects", this, index++); ClickItem doneItem = new ClickItem("Done", @"Screens\Settings\Done", this, index++); toggleGameSound.ToggleValueChanched += new EventHandler <EventArgs>(this.m_SoundSettingManager.ToggleGameSound_Click); bgMusicVolume.IncreaseVolumeButtonClicked += new EventHandler <EventArgs>(this.m_SoundSettingManager.IncreaseBackgroundMusic_Click); bgMusicVolume.DecreaseVolumeButtonClicked += new EventHandler <EventArgs>(this.m_SoundSettingManager.DecreaseBackgroundMusic_Click); soundEffectsVolume.IncreaseVolumeButtonClicked += new EventHandler <EventArgs>(this.m_SoundSettingManager.IncreaseSoundEffects_Click); soundEffectsVolume.DecreaseVolumeButtonClicked += new EventHandler <EventArgs>(this.m_SoundSettingManager.DecreaseSoundEffects_Click); doneItem.ItemClicked += this.menuItem_Click; this.AddMenuItem(toggleGameSound); this.AddMenuItem(bgMusicVolume); this.AddMenuItem(soundEffectsVolume); this.AddMenuItem(doneItem); }
public SplitPaymentVM(OrderVM order, PaymentSection section, Payment parent) { _order = order; _prevsection = section; _parent = parent; _remainedAmount = order.AllTotal; _paymentType = SplitPaymentType.Card; //default 3 split var split = SelectableSplits[1]; split.IsSelected = true; _selectedSplit = split; //default evenly split var splittype = SelectableSplitTypes[0]; splittype.IsSelected = true; _selectedSplitType = splittype; PrepareReceipts(order.AllTotal, (int)SelectedSplit.Value, (SplitType)SelectedSplitType.Value); }
public void ToggleClick_Result() { // Debug.Log("토글버튼 클릭됨"); GameObject obj = EventSystem.current.currentSelectedGameObject; ToggleItem toggleItem = obj.GetComponent <ToggleItem>(); // 클릭된 이름의 효과음 재생하여 사용자가 어떤 소리인지 알수있게해줌 // 재생할 파일명은 PlayerInformation의 SoundFileNameList임. if (toggleItem.item.isOn) { AudioSource audioSource = GetComponent <AudioSource>(); // 리소스에서 오디오 파일을 불러온다. AudioClip audioClip = Resources.Load <AudioClip>("EffectSounds/" + toggleItem.soundFileName.text); audioSource.clip = audioClip; if (drumType == 0) { // 선택된 소리를 기본 소리로 셋팅한다 PlayerInformation.leftDrumSound = audioClip; } else { // 선택된 소리를 기본 소리로 셋팅한다 PlayerInformation.rightDrumSound = audioClip; } // 재생 audioSource.Play(); } }
public override HostedLayoutItemViewModel Clone() { var oldContent = ModelAs <ToggleItem>(); var newContent = new ToggleItem() { Height = oldContent.Height, Name = oldContent.Name, Shape = oldContent.Shape.ToList(), Width = oldContent.Width, X = oldContent.X, Y = oldContent.Y, Action = oldContent.Action, ContentAreaTarget = null, HighlightColor = oldContent.HighlightColor, IsNonStandardHitArea = oldContent.IsNonStandardHitArea, ItemTarget = oldContent.ItemTarget, PageTarget = oldContent.PageTarget, DefaultState = oldContent.DefaultState, DisabledState = oldContent.DisabledState, NormalState = oldContent.NormalState, PressedState = oldContent.PressedState, SelectedState = oldContent.SelectedState, ToggleGroup = oldContent.ToggleGroup }; var newVm = new ToggleItemViewModel(newContent); return(newVm); }
private void CreateItem(config_item_base itemInfo, FightLayerType type, int rotate = 0) { GameObject item = list.NewItem(); item.name = "item_" + itemInfo.id; ToggleItem toggleItem = item.GetComponent <ToggleItem>(); toggleItem.itemInfo = itemInfo; toggleItem.type = type; toggleItem.id = itemInfo.id; toggleItem.icon = itemInfo.icon; toggleItem.zrotate = rotate * FightConst.ROTATE_BASE; if (toggleItem.type == FightLayerType.map) { toggleItem.toggle.group = list.GetComponent <ToggleGroup>(); } else { toggleItem.toggle.group = transform.parent.GetComponent <ToggleGroup>(); } toggleItem.toggle.onValueChanged.AddListener(toggleItem.OnSelectChange); }
public MainMenuScreen(Game i_Game) : base(i_Game) { this.IsUsingKeyboard = true; this.m_Background = new Background(this, @"Sprites\BG_Space01_1024x768", 1); this.m_MenuHeader = new MenuHeader(this, @"Screens\MainMenu\MainMenuLogo"); this.m_MenuHeader.OffsetX = 20; int index = 0; ToggleItem playersItem = new ToggleItem(@"Screens\MainMenu\PlayersWhite", @"Screens\MainMenu\PlayersOptions_70x50", this, index++); playersItem.ToggleValueChanched += new EventHandler <EventArgs>(this.numOfPlayers_Changed); this.AddMenuItem(playersItem); ClickItem SettingsScreenItem = new ClickItem("ScreenSettingsScreen", @"Screens\MainMenu\ScreenSettings", this, index++); ClickItem SoundSettingsItem = new ClickItem("SoundSettingsScreen", @"Screens\MainMenu\SoundSettings", this, index++); ClickItem playItem = new ClickItem("PlayScreen", @"Screens\MainMenu\PlayGameWhite", this, index++); ClickItem QuitItem = new ClickItem("Quit", @"Screens\Wellcome\QuitGame", this, index++); SettingsScreenItem.ItemClicked += new EventHandler <ScreenEventArgs>(this.menuItem_Click); SoundSettingsItem.ItemClicked += new EventHandler <ScreenEventArgs>(this.menuItem_Click); playItem.ItemClicked += new EventHandler <ScreenEventArgs>(this.menuItem_Click); QuitItem.ItemClicked += new EventHandler <ScreenEventArgs>(this.buttonQuit_click); this.AddMenuItem(SettingsScreenItem); this.AddMenuItem(SoundSettingsItem); this.AddMenuItem(playItem); this.AddMenuItem(QuitItem); }
public void DynamicCustom() { DivisorItem divisorItem = new DivisorItem(1); TextItem textItem = new TextItem("Dynamic Test!", Color.blue); SwitchItem switchItem1 = new SwitchItem("Switch item1", "switch1", true); SwitchItem switchItem2 = new SwitchItem("Switch item2", "switch2", false); SliderItem sliderItem1 = new SliderItem("Slider item1", "slider1", 50, 0, 100, 0, 0, ""); SliderItem sliderItem2 = new SliderItem("Slider item2", "slider2", 0.5f, 0, 1, 2, 0, ""); ToggleItem toggleItem = new ToggleItem( new String[] { "Toggle1", "Toggle2" }, "toggles", new String[] { "toggle value1", "toggle value2" }, "value2"); DialogItem[] items = new DialogItem[] { divisorItem, textItem, switchItem1, switchItem2, sliderItem1, sliderItem2, toggleItem }; if (customControl != null) { customControl.SetItem(items); customControl.Show(); XDebug.Log("CurrentValue : " + customControl.CurrentValue.Select(e => e.Key + "=" + e.Value).Aggregate((s, a) => s + ", " + a)); } }
public bool StartGame() { //sets player choices for xbox //windows will always defalut to 1 ToggleItem playerToggle = (ToggleItem)submenus[1].items[1]; ToggleItem LengthToggle = (ToggleItem)submenus[1].items[2]; ToggleItem DiffToggle = (ToggleItem)submenus[1].items[3]; GameLayer temp = new GameLayer(playerToggle.current + 1, LengthToggle.current + 1, DiffToggle.current + 1); Globals.screenManager.Push(new IntroStory(temp)); return(true); }
public void TestToggle() { var toggleObj = new ToggleItem(); var numSquares = 0; var numListPtr = new int[1]; Assert.AreEqual(-1, toggleObj.GetNumSquares()); toggleObj.SetNumSquares(3); Assert.AreEqual(3, toggleObj.GetNumSquares()); toggleObj = new ToggleItem(); toggleObj.GetList(ref numSquares, ref numListPtr); Assert.AreEqual(-1, numSquares); }
private static void RunToggleTest(int P_idx) { var expectedTogglePattern = new int[Grid.MaxSquares]; int cnt, toggleTotalCnt = 0; var afterToggledPattern = new int[Grid.MaxSquares]; var toggleItemPtr = new int[1]; var gridObj = new Grid(); gridObj.InitGrid(); gridObj.RandomizeStartingGrid(); Square[] currGridPtr = gridObj.GetGrid(); for (cnt = 0; cnt < Grid.MaxSquares; cnt++) { expectedTogglePattern[cnt] = currGridPtr[cnt].GetState(); } // // We will toggle the changed suqares so that the // comparision will be easy. // ToggleItem toggleListPtr = gridObj.GetToggleList(P_idx); toggleListPtr.GetList(ref toggleTotalCnt, ref toggleItemPtr); for (cnt = 0; cnt < toggleTotalCnt; cnt++) { int currIdx = toggleItemPtr[cnt]; expectedTogglePattern[currIdx] ^= 1; } gridObj.ToggleGrid(P_idx); currGridPtr = gridObj.GetGrid(); for (cnt = 0; cnt < Grid.MaxSquares; cnt++) { afterToggledPattern[cnt] = currGridPtr[cnt].GetState(); } for (cnt = 0; cnt < Grid.MaxSquares; cnt++) { Assert.AreEqual(afterToggledPattern[cnt], expectedTogglePattern[cnt]); } }
public void TestToggleSetList() { int numSquares = 0, cnt; var numListPtr = new int[1]; int[] testList = { 1, 2, 3 }; var toggleObj = new ToggleItem(); toggleObj.SetList(0, ref numListPtr); toggleObj.GetList(ref numSquares, ref numListPtr); Assert.AreEqual(0, numSquares); toggleObj.SetList(3, ref testList); toggleObj.GetList(ref numSquares, ref numListPtr); Assert.AreEqual(3, numSquares); for (cnt = 0; cnt < 3; cnt++) { Assert.AreEqual(numListPtr[cnt], testList[cnt]); } }
public ScreenSettingsScreen(Game i_Game) : base(i_Game, 150f, 15f) { int index = 0; this.m_Background = new Background(this, @"Sprites\BG_Space01_1024x768", 1); this.m_MenuHeader = new MenuHeader(this, @"Screens\Settings\ScreenSettingsLogo"); this.m_ScreenSettingMng = i_Game.Services.GetService(typeof(IScreenSettingsManager)) as IScreenSettingsManager; ToggleItem mouseVisability = new ToggleItem(@"Screens\Settings\MouseVisability", @"Screens\Settings\VisibleInvisible_128x50", this, index++); ToggleItem windowResizing = new ToggleItem(@"Screens\Settings\AllowResizing", @"Screens\Settings\OnOff_53x52", this, index++, 1); ToggleItem fullScreen = new ToggleItem(@"Screens\Settings\FullScreenMode", @"Screens\Settings\OnOff_53x52", this, index++, 1); ClickItem doneItem = new ClickItem("Done", @"Screens\Settings\Done", this, index++); mouseVisability.ToggleValueChanched += new EventHandler <EventArgs>(this.mouseVisability_Changed); windowResizing.ToggleValueChanched += new EventHandler <EventArgs>(this.m_ScreenSettingMng.AllowWindowResizingConfigToggle_Click); fullScreen.ToggleValueChanched += new EventHandler <EventArgs>(this.m_ScreenSettingMng.FullScreenModeConfigToggle_Click); doneItem.ItemClicked += new EventHandler <ScreenEventArgs>(this.menuItem_Click); this.AddMenuItem(mouseVisability); this.AddMenuItem(windowResizing); this.AddMenuItem(fullScreen); this.AddMenuItem(doneItem); }
const string JSON_PREF = "_json"; //For save JSON parameters //Call Android Custom Dialog //http://fantom1x.blog130.fc2.com/blog-entry-282.html#fantomPlugin_CustomDialogItems public void OpenDialog() { if (toggleJson != null && toggleJson.isOn) //JSON format { #if UNITY_ANDROID Data data = new Data(); XPlayerPrefs.GetObjectOverwrite(gameObject.name + JSON_PREF, ref data); //Default value when there is no saved data. //(*) Activate the "DebugConsole" in the hierarchy to see its parameters. XDebug.Clear(); XDebug.Log("(PlayerPrefs or init)"); XDebug.Log(data, 3); DivisorItem divisorItem = new DivisorItem(1); TextItem textItem = new TextItem("You can make various settings."); TextItem textItem1 = new TextItem("Switch the Party Character"); SwitchItem switchItem = new SwitchItem("UnityChan", "utc", data.utc); SwitchItem switchItem2 = new SwitchItem("PronamaChan", "pronama", data.pronama); SwitchItem switchItem3 = new SwitchItem("QueryChan", "query", data.query); TextItem textItem2 = new TextItem("Select a Servant"); ToggleItem toggleItem = new ToggleItem( new String[] { "Saber", "Rancer", "Caster" }, "servant", new String[] { "saber", "rancer", "caster" }, data.servant); TextItem textItem3 = new TextItem("Sound Setting"); Dictionary <string, int> vols; if (volumeController != null) { vols = volumeController.GetVolumes(); } else { vols = new Dictionary <string, int>() { { "master", 100 }, { "bgm", 50 }, { "voice", 50 }, { "se", 50 } } }; SliderItem sliderItem = new SliderItem("Master", "master", vols["master"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem1 = new SliderItem("Music", "bgm", vols["bgm"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem2 = new SliderItem("Voice", "voice", vols["voice"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem3 = new SliderItem("Effect", "se", vols["se"], 0, 100, 0, 0, "PreviewVolume"); TextItem textItem4 = new TextItem("All saved settings will be deleted when Reset.", Color.red); SwitchItem switchItem4 = new SwitchItem("Reset Setting", "reset", false, Color.blue); DialogItem[] items = new DialogItem[] { textItem, divisorItem, textItem1, switchItem, switchItem2, switchItem3, divisorItem, textItem2, toggleItem, divisorItem, textItem3, sliderItem, sliderItem1, sliderItem2, sliderItem3, divisorItem, switchItem4, textItem4, divisorItem, }; #endif #if UNITY_ANDROID && !UNITY_EDITOR AndroidPlugin.ShowCustomDialog("This is Custom Dialog Demo", "", items, gameObject.name, "OnReceiveResult", true, "Apply", "Cancel"); #endif } else //"key=value" format { #if UNITY_ANDROID //'Param' class is basically the same as Dictionary prepared for easy handling of value type conversion and default value. Param pref = Param.GetPlayerPrefs(gameObject.name, new Param()); //When there is no saved data, it is newly generated (elements are empty). //(*) Activate the "DebugConsole" in the hierarchy to see its parameters. XDebug.Clear(); XDebug.Log("(PlayerPrefs or init)"); XDebug.Log(pref, 3); DivisorItem divisorItem = new DivisorItem(1); TextItem textItem = new TextItem("You can make various settings."); TextItem textItem1 = new TextItem("Switch the Party Character", AndroidColor.WHITE, XColor.ToIntARGB("#ff1493"), "center"); //(*) All color formats are the same (only trying on various tests) SwitchItem switchItem = new SwitchItem("UnityChan", "utc", pref.GetBool("utc", false)); SwitchItem switchItem2 = new SwitchItem("PronamaChan", "pronama", pref.GetBool("pronama", false)); SwitchItem switchItem3 = new SwitchItem("QueryChan", "query", pref.GetBool("query", false)); TextItem textItem2 = new TextItem("Select a Servant", XColor.ToColor("#fff"), XColor.ToColor("0x1e90ff"), "center"); //(*) All color formats are the same (only trying on various tests) ToggleItem toggleItem = new ToggleItem( new String[] { "Saber", "Rancer", "Caster" }, "servant", new String[] { "saber", "rancer", "caster" }, pref.GetString("servant", "saber")); TextItem textItem3 = new TextItem("Sound Setting", XColor.ToIntARGB(Color.white), XColor.ToIntARGB(0x3c, 0xb3, 0x71), "center");//"#3cb371" (*) All color formats are the same (only trying on various tests) Dictionary <string, int> vols; if (volumeController != null) { vols = volumeController.GetVolumes(); } else { vols = new Dictionary <string, int>() { { "master", 100 }, { "bgm", 50 }, { "voice", 50 }, { "se", 50 } } }; SliderItem sliderItem = new SliderItem("Master", "master", vols["master"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem1 = new SliderItem("Music", "bgm", vols["bgm"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem2 = new SliderItem("Voice", "voice", vols["voice"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem3 = new SliderItem("Effect", "se", vols["se"], 0, 100, 0, 0, "PreviewVolume"); TextItem textItem4 = new TextItem("All saved settings will be deleted when Reset.", Color.red); SwitchItem switchItem4 = new SwitchItem("Reset Setting", "reset", false, Color.blue); DialogItem[] items = new DialogItem[] { textItem, divisorItem, textItem1, switchItem, switchItem2, switchItem3, divisorItem, textItem2, toggleItem, divisorItem, textItem3, sliderItem, sliderItem1, sliderItem2, sliderItem3, divisorItem, switchItem4, textItem4, divisorItem, }; #endif #if UNITY_ANDROID && !UNITY_EDITOR AndroidPlugin.ShowCustomDialog("This is Custom Dialog Demo", "", items, gameObject.name, "OnReceiveResult", false, "Apply", "Cancel"); #endif } }
public TapTask() { tap = GameObject.FindGameObjectWithTag("Tap").GetComponent <ToggleItem>(); }
void GenerateUI() { var settings = GetComponent <DriveAdminUISettings>(); var driverCam = settings.driverCam; adminCategories = new AdminCategory[6]; //Admin var admin = new AdminCategory("OBSTACLES", "WAYPOINTS", "TRAFFIC", "AUTOPLAY"); admin.col0.Add(new ButtonItem() { label = "OBSTACLE ONE", callback = TrackController.Instance.TriggerObstacle1 }); admin.col0.Add(new ButtonItem() { label = "OBSTACLE TWO", callback = TrackController.Instance.TriggerObstacle2 }); if (TrackController.Instance.obstacles.Count > 2) { admin.col0.Add(new ButtonItem() { label = "OBSTACLE THREE", callback = TrackController.Instance.TriggerObstacle3 }); } if (TrackController.Instance.obstacles.Count > 3) { admin.col0.Add(new ButtonItem() { label = "OBSTACLE FOUR", callback = TrackController.Instance.TriggerObstacle4 }); } if (TrackController.Instance.obstacles.Count > 4) { admin.col0.Add(new ButtonItem() { label = "OBSTACLE FIVE", callback = TrackController.Instance.TriggerObstacle5 }); } admin.col0.Add(new ButtonItem() { label = "DESTROY OBSTACLES", callback = TrackController.Instance.KillObstacles }); admin.col1.Add(new ButtonItem() { label = "WAYPOINT ONE", callback = TrackController.Instance.RepositionWaypoint1 }); admin.col1.Add(new ButtonItem() { label = "WAYPOINT TWO", callback = TrackController.Instance.RepositionWaypoint2 }); admin.col1.Add(new ButtonItem() { label = "WAYPOINT THREE", callback = TrackController.Instance.RepositionWaypoint3 }); admin.col1.Add(new ButtonItem() { label = "WAYPOINT FOUR", callback = TrackController.Instance.RepositionWaypoint4 }); admin.col1.Add(new SeperatorItem()); if (TrackController.Instance.predefinedPaths != null && TrackController.Instance.predefinedPaths.Length > 0) { admin.col1.Add(new ButtonItem() { label = "PREDEFINED PATH ONE", callback = () => TrackController.Instance.StartPredefined(0) }); } if (TrackController.Instance.predefinedPaths != null && TrackController.Instance.predefinedPaths.Length > 1) { admin.col1.Add(new ButtonItem() { label = "PREDEFINED PATH TWO", callback = () => TrackController.Instance.StartPredefined(1) }); } if (TrackController.Instance.predefinedPaths != null && TrackController.Instance.predefinedPaths.Length > 2) { admin.col1.Add(new ButtonItem() { label = "PREDEFINED PATH THREE", callback = () => TrackController.Instance.StartPredefined(2) }); } if (TrackController.Instance.predefinedPaths != null && TrackController.Instance.predefinedPaths.Length > 3) { admin.col1.Add(new ButtonItem() { label = "PREDEFINED PATH FOUR", callback = () => TrackController.Instance.StartPredefined(3) }); } var trafEnable = new ToggleItem() { label = "Enable/Disable", value = false, get = () => { if (settings.traffic == null) { return(false); } else { return(settings.traffic.GetState()); } }, set = (b) => { if (settings.traffic != null) { settings.traffic.SetTraffic(b); } } }; admin.col2.Add(trafEnable); settings.updateEachFrame.Add(trafEnable); var auto = new ToggleItem() { label = "Autoplay", value = TrackController.Instance.IsInAutoPath(), get = () => TrackController.Instance.IsInAutoPath(), set = (b) => { TrackController.Instance.AutoPath(); } }; admin.col3.Add(auto); settings.updateEachFrame.Add(auto); //Weather + cam var weatherCam = new AdminCategory("TIME", "WEATHER", "DISPLAY CONFIGURATION", "CAMERA CONFIGURATION"); /* * var tod = new SliderItemTime() * { * label = "Time of Day", * min = 0f, * max = 24f, * value = AdminSettings.Instance.timeOfDay, * get = () => timeOfDay.Cycle.Hour, * set = (f) => settings.SetTimeOfDay(f) * }; * weatherCam.col0.Add(tod); * settings.updateEachFrame.Add(tod); * weatherCam.col0.Add(new ToggleItem() * { * label = "Progess Time", * value = AdminSettings.Instance.progressTime, * get = () => timeOfDay.Components.Time.enabled, * set = (b) => timeOfDay.Components.Time.enabled = b * }); * var weather = new RadioItem() * { * label = "Weather", * labels = new string[] {"Clear", "Storm", "Overcast"}, * selected = 0, * get = () => AdminSettings.Instance.weather, * set = (i) => * { * // AdminSettings.Instance.weather = i; * // var newWeather = AdminSettings.Instance.GetWeather(); * // settings.weather.currentWeather = newWeather; * // settings.weather.ChangeWeather(newWeather); * } * }; * * weatherCam.col1.Add(weather); * settings.updateEachFrame.Add(weather); * var wetRoad = new ToggleItem() * { * label = "Wet Road", * value = false, * get = () => WetRoads.instance.IsWet(), * set = (t) => WetRoads.instance.ToggleWet(t) * }; * weatherCam.col1.Add(wetRoad); * settings.updateEachFrame.Add(wetRoad); * weatherCam.col1.Add(new ToggleItem() * { * label = "Sun Shafts", * value = false, * get = () => AdminSettings.Instance.sunshafts, * set = (b) => * { * AdminSettings.Instance.sunshafts = b; * TrackController.Instance.driverCam.center.GetComponent<TOD_SunShafts>().enabled = b; * } * }); * * weatherCam.col1.Add(new ToggleItem() * { * label = "Enable Fog", * value = false, * get = () => AdminSettings.Instance.fog, * set = (b) => AdminSettings.Instance.fog = b * }); */ weatherCam.col2.Add(new ButtonItem() { label = "PARABOLIC PROJECTION", callback = () => { AdminSettings.Instance.displayType = AdminScreen.DisplayType.PARABOLIC; settings.SetDisplay(); } }); weatherCam.col2.Add(new ButtonItem() { label = "24\" MONITOR CONFIGURATION", callback = () => { AdminSettings.Instance.displayType = AdminScreen.DisplayType.TENTYFOURINCH; settings.SetDisplay(); } }); weatherCam.col2.Add(new ButtonItem() { label = "55\" MONITOR CONFIGURATION", callback = () => { AdminSettings.Instance.displayType = AdminScreen.DisplayType.FIFTYFIVEINCH; settings.SetDisplay(); } }); weatherCam.col2.Add(new ButtonItem() { label = "FLAT PLANE", callback = () => { AdminSettings.Instance.displayType = AdminScreen.DisplayType.FLAT; settings.SetDisplay(); } }); weatherCam.col2.Add(new SeperatorItem()); weatherCam.col2.Add(new ButtonItem() { label = "LOAD DEFAULTS", callback = LoadMisc }); weatherCam.col2.Add(new ButtonItem() { label = "SAVE CURRENT SETTINGS AS DEFAULT", callback = SaveMisc }); weatherCam.col2.Add(new SeperatorItem()); weatherCam.col2.Add(new ToggleItem() { label = "Display System Stats", value = false }); weatherCam.col3.Add(new SliderItem() { label = "Field of View", min = 10f, max = 125f, value = AdminSettings.Instance.fov, get = () => AdminSettings.Instance.fov, set = (f) => { driverCam.SetFoV(f); AdminSettings.Instance.fov = f; } }); weatherCam.col3.Add(new SliderItem() { label = "Camera Clipping", min = 1f, max = 15000f, value = AdminSettings.Instance.camFarClip, get = () => AdminSettings.Instance.camFarClip, set = (f) => settings.SetFarClip(f) }); //Audio var audio = new AdminCategory("AUDIO", "", "", ""); audio.col0.Add(new AudioSliderItem() { label = "Music", min = 0f, max = 1f, value = AdminSettings.Instance.musicVol, get = () => AudioController.Instance.MusicVolume, set = (f) => AudioController.Instance.MusicVolume = f }); audio.col0.Add(new AudioSliderItem() { label = "Foley", min = 0f, max = 1f, value = AdminSettings.Instance.foleyVol, get = () => AudioController.Instance.FoleyVolume, set = (f) => AudioController.Instance.FoleyVolume = f }); audio.col0.Add(new AudioSliderItem() { label = "Vehicle", min = 0f, max = 1f, value = AdminSettings.Instance.vehicleVol, get = () => AudioController.Instance.VehicleVolume, set = (f) => AudioController.Instance.VehicleVolume = f }); //Vehicle settings var vehicle = new AdminCategory("VEHICLE CONFIGURATION", "", "", "", new float[] { 0f, -97f, -97f, -97f }); /* vehicle.col0.Add(new SliderItem() * { * label = "Car Mass", * min = 100f, * max = 5000f, * value = configurator.Mass, * get = () => configurator.Mass, * set = (f) => configurator.Mass = f * }); * vehicle.col0.Add(new SliderItem() * { * label = "Forward Grip", * min = 100f, * max = 3000f, * value = configurator.ForwardGrip, * get = () => configurator.ForwardGrip, * set = (f) => configurator.ForwardGrip = f * }); * vehicle.col0.Add(new SliderItem() * { * label = "Forward GripRange", * min = 0.5f, * max = 20f, * value = configurator.ForwardGripRange, * get = () => configurator.ForwardGripRange, * set = (f) => configurator.ForwardGripRange = f * }); * vehicle.col0.Add(new SliderItem() * { * label = "Forward Drift", * min = 10f, * max = 1500f, * value = configurator.ForwardDrift, * get = () => configurator.ForwardDrift, * set = (f) => configurator.ForwardDrift = f * }); * vehicle.col0.Add(new SliderItem() * { * label = "Forward Drift Slope", * min = 0f, * max = 1f, * value = configurator.ForwardDriftSlope, * get = () => configurator.ForwardDriftSlope, * set = (f) => configurator.ForwardDriftSlope = f * }); * vehicle.col0.Add(new SliderItem() * { * label = "Sideways Drift", * min = 10f, * max = 1000f, * value = configurator.SidewaysDrift, * get = () => configurator.SidewaysDrift, * set = (f) => configurator.SidewaysDrift= f * }); * vehicle.col0.Add(new SliderItem() * { * label = "Sideways Grip", * min = 50f, * max = 1500f, * value = configurator.SidewaysGrip, * get = () => configurator.SidewaysGrip, * set = (f) => configurator.SidewaysGrip = f * }); * vehicle.col0.Add(new SliderItem() * { * label = "Sideways Grip Range", * min = 0.5f, * max = 20f, * value = configurator.SidewaysGripRange, * get = () => configurator.SidewaysGripRange, * set = (f) => configurator.SidewaysGripRange = f * }); * vehicle.col0.Add(new SliderItem() * { * label = "Brake Balance", * min = 0f, * max = 1f, * value = configurator.BrakeBalance, * get = () => configurator.BrakeBalance, * set = (f) => configurator.BrakeBalance = f * }); * * * vehicle.col1.Add(new SliderItem() * { * label = "Motor Max", * min = 0.5f, * max = 8f, * value = configurator.MotorMax, * get = () => configurator.MotorMax, * set = (f) => configurator.MotorMax = f * }); * vehicle.col1.Add(new SliderItem() * { * label = "Brake Max", * min = 0.5f, * max = 8f, * value = configurator.BrakeMax, * get = () => configurator.BrakeMax, * set = (f) => configurator.BrakeMax = f * }); * vehicle.col1.Add(new SliderItem() * { * label = "Motor Perf. Peak", * min = 1f, * max = 20f, * value = configurator.MotorPerformancePeak, * get = () => configurator.MotorPerformancePeak, * set = (f) => configurator.MotorPerformancePeak = f * }); * vehicle.col1.Add(new SliderItem() * { * label = "Motor Force Factor", * min = 0.1f, * max = 5f, * value = configurator.MotorForceFactor, * get = () => configurator.MotorForceFactor, * set = (f) => configurator.MotorForceFactor = f * }); * vehicle.col1.Add(new SliderItem() * { * label = "Motor Balance", * min = 0f, * max = 1f, * value = configurator.MotorBalance, * get = () => configurator.MotorBalance, * set = (f) => configurator.MotorBalance = f * }); * vehicle.col1.Add(new SliderItem() * { * label = "Sdwys Drift Friction", * min = 0.01f, * max = 1f, * value = configurator.SidewaysDriftFriction, * get = () => configurator.SidewaysDriftFriction, * set = (f) => configurator.SidewaysDriftFriction = f * }); * vehicle.col1.Add(new SliderItem() * { * label = "Static Friction Max", * min = 100f, * max = 4000f, * value = configurator.StaticFrictionMax, * get = () => configurator.StaticFrictionMax, * set = (f) => configurator.StaticFrictionMax = f * }); * vehicle.col1.Add(new SliderItem() * { * label = "Max Steer Angle", * min = 10f, * max = 80f, * value = configurator.MaxSteerAngle, * get = () => configurator.MaxSteerAngle, * set = (f) => configurator.MaxSteerAngle = f * }); * vehicle.col1.Add(new SliderItem() * { * label = "Front Sideways Grip", * min = 0.2f, * max = 3f, * value = configurator.FrontSidewaysGrip, * get = () => configurator.FrontSidewaysGrip, * set = (f) => configurator.FrontSidewaysGrip = f * }); * vehicle.col1.Add(new SliderItem() * { * label = "Sideways Drift Slope", * min = 0f, * max = 3f, * value = configurator.SidewaysDriftSlope, * get = () => configurator.SidewaysDriftSlope, * set = (f) => configurator.SidewaysDriftSlope = f * }); * * * vehicle.col2.Add(new SliderItem() * { * label = "Air Drag", * min = 0.1f, * max = 30f, * value = configurator.AirDrag, * get = () => configurator.AirDrag, * set = (f) => configurator.AirDrag = f * }); * vehicle.col2.Add(new SliderItem() * { * label = "Friction Drag", * min = 0.1f, * max = 50f, * value = configurator.FrictionDrag, * get = () => configurator.FrictionDrag, * set = (f) => configurator.FrictionDrag = f * }); * vehicle.col2.Add(new SliderItem() * { * label = "Rolling Friction Slip", * min = 0.01f, * max = 1f, * value = configurator.RollingFrictionSlip, * get = () => configurator.RollingFrictionSlip, * set = (f) => configurator.RollingFrictionSlip = f * }); * vehicle.col2.Add(new SliderItem() * { * label = "Anti Roll Bias", * min = 0.01f, * max = 1f, * value = configurator.AntiRollBias, * get = () => configurator.AntiRollBias, * set = (f) => configurator.AntiRollBias = f * * }); * vehicle.col2.Add(new SliderItem() * { * label = "Anti Roll Factor", * min = 0.01f, * max = 2f, * value = configurator.AntiRollFactor, * get = () => configurator.AntiRollFactor, * set = (f) => configurator.AntiRollFactor = f * }); * vehicle.col2.Add(new SliderItem() * { * label = "Anti Roll Front", * min = 100f, * max = 20000f, * value = configurator.AntiRollFront, * get = () => configurator.AntiRollFront, * set = (f) => configurator.AntiRollFront = f * }); * vehicle.col2.Add(new SliderItem() * { * label = "Anti Roll Back", * min = 100f, * max = 20000f, * value = configurator.AntiRollBack, * get = () => configurator.AntiRollBack, * set = (f) => configurator.AntiRollBack = f * }); * vehicle.col2.Add(new SliderItem() * { * label = "Rear Sideways Grip", * min = 0.2f, * max = 3f, * value = configurator.RearSidewaysGrip, * get = () => configurator.RearSidewaysGrip, * set = (f) => configurator.RearSidewaysGrip = f * }); * vehicle.col2.Add(new SliderItem() * { * label = "Brake Force Factor", * min = 0.1f, * max = 5f, * value = configurator.BrakeForceFactor, * get = () => configurator.BrakeForceFactor, * set = (f) => configurator.BrakeForceFactor = f * }); * vehicle.col2.Add(new SliderItem() * { * label = "AutoSteer Level", * min = 0f, * max = 2f, * value = configurator.AutoSteerLevel, * get = () => configurator.AutoSteerLevel, * set = (f) => configurator.AutoSteerLevel = f * }); * * * * vehicle.col3.Add(new SliderItem() * { * label = "Headlight Angle", * min = -20f, * max = 10f, * value = configurator.HeadlightAngle, * get = () => configurator.HeadlightAngle, * set = (f) => configurator.HeadlightAngle = f * }); * vehicle.col3.Add(new SliderItem() * { * label = "Force Feedback mult.", * min = 0f, * max = 4f, * value = configurator.ForceFeedbackMultiplier, * get = () => configurator.ForceFeedbackMultiplier, * set = (f) => configurator.ForceFeedbackMultiplier = f * }); * vehicle.col3.Add(new SliderItem() * { * label = "Force Feedback slip coeff.", * min = 0.1f, * max = 20f, * value = configurator.ForceFeedbackSlipCoefficient, * get = () => configurator.ForceFeedbackSlipCoefficient, * set = (f) => configurator.ForceFeedbackSlipCoefficient = f * }); * vehicle.col3.Add(new SliderItem() * { * label = "FFB Damper Max Speed", * min = 0.1f, * max = 50f, * value = configurator.ForceFeedbackDamperMaxSpeed, * get = () => configurator.ForceFeedbackDamperMaxSpeed, * set = (f) => configurator.ForceFeedbackDamperMaxSpeed = f * }); * vehicle.col3.Add(new SliderItem() * { * label = "FFB Damper Strength", * min = 0f, * max = 100f, * value = configurator.ForceFeedbackDamperStrength, * get = () => configurator.ForceFeedbackDamperStrength, * set = (f) => configurator.ForceFeedbackDamperStrength = f * }); * * vehicle.col3.Add(new ToggleItem() * { * label = "Enable Headlights", * value = false, * get = () => configurator.EnableHeadlights, * set = (b) => configurator.EnableHeadlights = b * }); */ vehicle.col3.Add(new ButtonItem() { label = "LOAD DRY DEFAULTS", callback = () => LoadCar(false) }); vehicle.col3.Add(new ButtonItem() { label = "SAVE CURRENT SETTINGS AS DRY DEFAULT", callback = () => SaveCar(false) }); vehicle.col3.Add(new ButtonItem() { label = "LOAD WET DEFAULTS", callback = () => LoadCar(true) }); vehicle.col3.Add(new ButtonItem() { label = "SAVE CURRENT SETTINGS AS WET DEFAULT", callback = () => SaveCar(true) }); var endScene = new AdminCategory("END SCENE", "", "", ""); endScene.col0.Add(new ButtonItem() { label = "CONFIRM END SCENE", callback = TrackController.Instance.ConfirmEndScene }); endScene.col0.Add(new ButtonItem() { label = "CANCEL END SCENE", callback = () => currentCategory = 0 }); var map = new AdminCategory("MAP", "", "", ""); var mapItem = new MapItem() { environment = AppController.Instance.currentSessionSettings.selectedEnvironment == Environment.NONE ? settings.mapEnvironment : AppController.Instance.currentSessionSettings.selectedEnvironment }; map.col0.Add(mapItem); settings.updateEachFrame.Add(mapItem); // var infractions = new InfractionsItem(); // map.col0.Add(infractions); // settings.updateEachFrame.Add(infractions); adminCategories[0] = admin; adminCategories[1] = weatherCam; adminCategories[2] = map; adminCategories[3] = audio; adminCategories[4] = vehicle; adminCategories[5] = endScene; // LoadCar(false); --old configurator - disable for now LoadMisc(); }
const string JSON_PREF = "_json"; //JSON とは保存データを分ける public void OpenDialog() { if (toggleJson != null && toggleJson.isOn) //JSON 形式 { #if UNITY_ANDROID Data data = new Data(); XPlayerPrefs.GetObjectOverwrite(gameObject.name + JSON_PREF, ref data); //保存されたデータがないときはデフォ値となる XDebug.Clear(); //※ヒエラルキーにある「DebugConsole」をオンにすると内容が見れます。 XDebug.Log("(PlayerPrefs or init)"); XDebug.Log(data, 3); DivisorItem divisorItem = new DivisorItem(1); TextItem textItem = new TextItem("あんなことやこんなことを設定できます。"); TextItem textItem1 = new TextItem("嫁のブレンド・S"); SwitchItem switchItem = new SwitchItem("ユニティちゃん", "utc", data.utc); SwitchItem switchItem2 = new SwitchItem("プロ生ちゃん", "pronama", data.pronama); SwitchItem switchItem3 = new SwitchItem("クエリちゃん", "query", data.query); TextItem textItem2 = new TextItem("あなたの属性"); ToggleItem toggleItem = new ToggleItem( new String[] { "ツンデレ", "ヤンデレ", "しょびっち" }, "zokusei", new String[] { "tsundere", "yandere", "syobicchi" }, data.zokusei); TextItem textItem3 = new TextItem("サウンド設定"); Dictionary <string, int> vols; if (volumeController != null) { vols = volumeController.GetVolumes(); } else { vols = new Dictionary <string, int>() { { "master", 100 }, { "bgm", 50 }, { "voice", 50 }, { "se", 50 } } }; SliderItem sliderItem = new SliderItem("マスター", "master", vols["master"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem1 = new SliderItem("音楽", "bgm", vols["bgm"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem2 = new SliderItem("ボイス", "voice", vols["voice"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem3 = new SliderItem("効果音", "se", vols["se"], 0, 100, 0, 0, "PreviewVolume"); TextItem textItem4 = new TextItem("リセットすると保存された設定が全て消去されます", Color.red); SwitchItem switchItem4 = new SwitchItem("設定のリセット", "reset", false, Color.blue); DialogItem[] items = new DialogItem[] { textItem, divisorItem, textItem1, switchItem, switchItem2, switchItem3, divisorItem, textItem2, toggleItem, divisorItem, textItem3, sliderItem, sliderItem1, sliderItem2, sliderItem3, divisorItem, switchItem4, textItem4, divisorItem, }; #endif #if UNITY_ANDROID && !UNITY_EDITOR AndroidPlugin.ShowCustomDialog("設定いろいろ", "", items, gameObject.name, "OnReceiveResult", true, "決定", "キャンセル"); #endif } else //キーと値ペアの形式 { #if UNITY_ANDROID //Param は基本的に Dictionary と同じもので、値の型変換とデフォルト値を簡単に扱うために用意したラッパー的なクラスと考えて良い Param pref = Param.GetPlayerPrefs(gameObject.name, new Param()); //保存されたデータがないときは新規に生成(中身は空) XDebug.Clear(); //※ヒエラルキーにある「DebugConsole」をオンにすると内容が見れます。 XDebug.Log("(PlayerPrefs or init)"); XDebug.Log(pref, 3); DivisorItem divisorItem = new DivisorItem(1); TextItem textItem = new TextItem("あんなことやこんなことを設定できます。"); TextItem textItem1 = new TextItem("嫁のブレンド・S", AndroidColor.WHITE, XColor.ToIntARGB("#ff1493"), "center"); //※色の形式はどれでも同じです(テストで色々試してるだけ) SwitchItem switchItem = new SwitchItem("ユニティちゃん", "utc", pref.GetBool("utc", false)); SwitchItem switchItem2 = new SwitchItem("プロ生ちゃん", "pronama", pref.GetBool("pronama", false)); SwitchItem switchItem3 = new SwitchItem("クエリちゃん", "query", pref.GetBool("query", false)); TextItem textItem2 = new TextItem("あなたの属性", XColor.ToColor("#fff"), XColor.ToColor("0x1e90ff"), "center"); //※色の形式はどれでも同じです(テストで色々試してるだけ) ToggleItem toggleItem = new ToggleItem( new String[] { "ツンデレ", "ヤンデレ", "しょびっち" }, "zokusei", new String[] { "tsundere", "yandere", "syobicchi" }, pref.GetString("zokusei", "tsundere")); TextItem textItem3 = new TextItem("サウンド設定", XColor.ToIntARGB(Color.white), XColor.ToIntARGB(0x3c, 0xb3, 0x71), "center");//"#3cb371" ※色の形式はどれでも同じです(テストで色々試してるだけ) Dictionary <string, int> vols; if (volumeController != null) { vols = volumeController.GetVolumes(); } else { vols = new Dictionary <string, int>() { { "master", 100 }, { "bgm", 50 }, { "voice", 50 }, { "se", 50 } } }; SliderItem sliderItem = new SliderItem("マスター", "master", vols["master"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem1 = new SliderItem("音楽", "bgm", vols["bgm"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem2 = new SliderItem("ボイス", "voice", vols["voice"], 0, 100, 0, 0, "PreviewVolume"); SliderItem sliderItem3 = new SliderItem("効果音", "se", vols["se"], 0, 100, 0, 0, "PreviewVolume"); TextItem textItem4 = new TextItem("リセットすると保存された設定が全て消去されます", Color.red); SwitchItem switchItem4 = new SwitchItem("設定のリセット", "reset", false, Color.blue); DialogItem[] items = new DialogItem[] { textItem, divisorItem, textItem1, switchItem, switchItem2, switchItem3, divisorItem, textItem2, toggleItem, divisorItem, textItem3, sliderItem, sliderItem1, sliderItem2, sliderItem3, divisorItem, switchItem4, textItem4, divisorItem, }; #endif #if UNITY_ANDROID && !UNITY_EDITOR AndroidPlugin.ShowCustomDialog("設定いろいろ", "", items, gameObject.name, "OnReceiveResult", false, "決定", "キャンセル"); #endif } }
//Inspecter value (DialogItemParameter) -> Local value (DialogItem). //(*) When internal processing, it is used dialogItems. //・Make 'key -> index' table //・Store the values of the inspector (initValue). //・Check for key exist. private void ConvertToDialogItem() { if (items == null || items.Length == 0) //from inspector { return; } dialogItems = new DialogItem[items.Length]; initValue = new DialogItem[items.Length]; keyToIndex.Clear(); int keyCount = 0; for (int i = 0; i < items.Length; i++) { var item = items[i]; if (item == null) { continue; } switch (item.type) { case DialogItemType.Divisor: dialogItems[i] = new DivisorItem(item.lineHeight, item.lineColor); initValue[i] = ((DivisorItem)dialogItems[i]).Clone(); break; case DialogItemType.Text: string align = item.align.ToString().ToLower(); dialogItems[i] = new TextItem(item.Text, item.textColor, item.backgroundColor, align == "none" ? "" : align); initValue[i] = ((TextItem)dialogItems[i]).Clone(); break; case DialogItemType.Switch: dialogItems[i] = new SwitchItem(item.Text, item.key, item.defaultChecked, item.textColor, "ReceiveChanged"); initValue[i] = ((SwitchItem)dialogItems[i]).Clone(); if (!string.IsNullOrEmpty(item.key)) { keyToIndex[item.key] = i; } keyCount++; break; case DialogItemType.Slider: dialogItems[i] = new SliderItem(item.Text, item.key, item.value, item.minValue, item.maxValue, item.digit, item.textColor, "ReceiveChanged"); initValue[i] = ((SliderItem)dialogItems[i]).Clone(); if (!string.IsNullOrEmpty(item.key)) { keyToIndex[item.key] = i; } keyCount++; break; case DialogItemType.Toggle: dialogItems[i] = new ToggleItem(item.TogglesTexts, item.key, item.TogglesValues, item.toggleItems[item.checkedIndex].value, item.textColor, "ReceiveChanged"); initValue[i] = ((ToggleItem)dialogItems[i]).Clone(); if (!string.IsNullOrEmpty(item.key)) { keyToIndex[item.key] = i; } keyCount++; break; case DialogItemType.Check: dialogItems[i] = new CheckItem(item.Text, item.key, item.defaultChecked, item.textColor, "ReceiveChanged"); initValue[i] = ((CheckItem)dialogItems[i]).Clone(); if (!string.IsNullOrEmpty(item.key)) { keyToIndex[item.key] = i; } keyCount++; break; } } #if UNITY_EDITOR //Check for errors (Editor only). if (keyCount != keyToIndex.Count) { Debug.LogError("[" + gameObject.name + "] There is empty or duplicate 'Key'."); } #endif }
private void CheckControls() { //back button if (Globals.inputController.isButtonPressed(Buttons.B, null)) { this.fadeOutCompleteCallback = backToGame; this.StartTransitionOff(); } //select (enter) else if (Globals.inputController.isButtonPressed(Buttons.A, null)) { //Globals.audioManager.PlayMenuSound("menu_select"); /* */ if (submenus[currentSubMenuIndex].items[submenus[currentSubMenuIndex].selected] is TransitionItem) { TransitionItem current = (TransitionItem)submenus[currentSubMenuIndex].items[submenus[currentSubMenuIndex].selected]; int destination = current.destination; if (destination == -1) { this.StartTransitionOff(); } else { currentSubMenuIndex = destination; } } else if (submenus[currentSubMenuIndex].items[submenus[currentSubMenuIndex].selected] is DelegateItem) { DelegateItem current = (DelegateItem)submenus[currentSubMenuIndex].items[submenus[currentSubMenuIndex].selected]; this.fadeOutCompleteCallback = current.function; this.StartTransitionOff(); } } //GOING UP IN MENUS else if (Globals.inputController.isButtonPressed(Buttons.DPadUp, null) || Globals.inputController.isButtonPressed(Buttons.LeftThumbstickUp, null)) { int selectedIndex = submenus[currentSubMenuIndex].selected; int size = submenus[currentSubMenuIndex].items.Count(); int newIndex = selectedIndex - 1; if (newIndex < 0) { newIndex = size - 1; } submenus[currentSubMenuIndex].selected = newIndex; } //GOING DOWN IN MENUS else if (Globals.inputController.isButtonPressed(Buttons.DPadDown, null) || Globals.inputController.isButtonPressed(Buttons.LeftThumbstickDown, null)) { int selectedIndex = submenus[currentSubMenuIndex].selected; int size = submenus[currentSubMenuIndex].items.Count(); int newIndex = ++selectedIndex; if (newIndex == size) { newIndex = 0; } submenus[currentSubMenuIndex].selected = newIndex; } //GOING LEFT IN MENUS (TOGGLE) else if (Globals.inputController.isButtonPressed(Buttons.DPadLeft, null) || Globals.inputController.isButtonPressed(Buttons.LeftThumbstickLeft, null)) { if (submenus[currentSubMenuIndex].items[submenus[currentSubMenuIndex].selected] is ToggleItem) { ToggleItem currentToggle = (ToggleItem)submenus[currentSubMenuIndex].items[submenus[currentSubMenuIndex].selected]; int selectedIndex = currentToggle.current; int size = currentToggle.values.Count(); int newIndex = selectedIndex - 1; if (newIndex < 0) { newIndex = size - 1; } currentToggle.current = newIndex; } } //GOING RIGHT IN MENUS (TOGGLE) else if (Globals.inputController.isButtonPressed(Buttons.DPadRight, null) || Globals.inputController.isButtonPressed(Buttons.LeftThumbstickRight, null)) { if (submenus[currentSubMenuIndex].items[submenus[currentSubMenuIndex].selected] is ToggleItem) { ToggleItem currentToggle = (ToggleItem)submenus[currentSubMenuIndex].items[submenus[currentSubMenuIndex].selected]; int selectedIndex = currentToggle.current; int size = currentToggle.values.Count(); int newIndex = ++selectedIndex; if (newIndex == size) { newIndex = 0; } currentToggle.current = newIndex; } } }
public LightSwitchTask(ToggleItem lightSwitch, TaskTypes whichSwitch) { this.lightSwitch = lightSwitch; this.whichSwitch = whichSwitch; }