| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732 | 
							- using System;
 
- using System.Collections;
 
- using System.Collections.Generic;
 
- using System.Text.RegularExpressions;
 
- using UnityEngine;
 
- public class ConfigManager : MonoBehaviour
 
- {
 
- 	public UIPopupList subtitleTypePopupList
 
- 	{
 
- 		get
 
- 		{
 
- 			return this.subtitleType;
 
- 		}
 
- 	}
 
- 	public void Init(ConfigCblManager cblConfigMgr)
 
- 	{
 
- 		this.cblConfigMgr = cblConfigMgr;
 
- 		ConfigManager.CategoryButton[] array = this.categoryTabButtons;
 
- 		for (int i = 0; i < array.Length; i++)
 
- 		{
 
- 			ConfigManager.CategoryButton categoryData = array[i];
 
- 			if (categoryData.type == ConfigManager.CategoryButton.Type.System)
 
- 			{
 
- 				this.OnClickCategoryTabButton(categoryData);
 
- 			}
 
- 			EventDelegate.Add(categoryData.tab.onClick, delegate()
 
- 			{
 
- 				this.OnClickCategoryTabButton(categoryData);
 
- 			});
 
- 			if (categoryData.type == ConfigManager.CategoryButton.Type.ChuBLip)
 
- 			{
 
- 				categoryData.tab.gameObject.SetActive(false);
 
- 			}
 
- 		}
 
- 		KeyValuePair<UIGrid, GameObject> rootItem = this.GetRootItem<UIGrid>(this.deviceSelect.gameObject);
 
- 		UIGrid key = rootItem.Key;
 
- 		GameObject value = rootItem.Value;
 
- 		if (value != null)
 
- 		{
 
- 			value.gameObject.SetActive(false);
 
- 		}
 
- 		if (key != null)
 
- 		{
 
- 			key.repositionNow = true;
 
- 		}
 
- 		if (Product.supportMultiLanguage)
 
- 		{
 
- 			this.vSync.transform.parent.parent.SetParent(UTY.GetChildObject(this.systemFrame.gameObject, "SystemBlockLeft", false).gameObject.transform, true);
 
- 			this.vSync.transform.parent.localPosition = new Vector3(598f, this.vSync.transform.parent.localPosition.y, 0f);
 
- 		}
 
- 		UTY.GetChildObject(this.systemFrame.gameObject, "SystemBlockLeft", false).GetComponent<UIGrid>().repositionNow = true;
 
- 		UTY.GetChildObject(this.systemFrame.gameObject, "SystemBlockRight", false).GetComponent<UIGrid>().repositionNow = true;
 
- 		EventDelegate.Add(this.closeButton.onClick, new EventDelegate.Callback(BaseMgr<ConfigMgr>.Instance.CloseConfigPanel));
 
- 		EventDelegate.Add(this.vrConfigButton.onClick, delegate()
 
- 		{
 
- 			BaseMgr<ConfigMgr>.Instance.CloseConfigPanel();
 
- 			ConfigVRCtrl.Open(null);
 
- 		});
 
- 		Action<ConfigSelectButton> action = delegate(ConfigSelectButton button)
 
- 		{
 
- 			button.Initialize();
 
- 			this.selectButtons.Add(button);
 
- 		};
 
- 		Action<ConfigIntegerSlider> intSliderInit = delegate(ConfigIntegerSlider slider)
 
- 		{
 
- 			slider.Initialize();
 
- 			this.intSliders.Add(slider);
 
- 		};
 
- 		Action<ConfigIntegerSlider, AudioSourceMgr.Type> action2 = delegate(ConfigIntegerSlider slider, AudioSourceMgr.Type type)
 
- 		{
 
- 			intSliderInit(slider);
 
- 			slider.onGetValue = (() => GameMain.Instance.SoundMgr.GetVolume(type));
 
- 			slider.onSetValue = delegate(int setValue)
 
- 			{
 
- 				GameMain.Instance.SoundMgr.SetVolume(type, setValue);
 
- 				GameMain.Instance.SoundMgr.Apply();
 
- 			};
 
- 		};
 
- 		Action<WFCheckBox, AudioSourceMgr.Type> action3 = delegate(WFCheckBox checkBox, AudioSourceMgr.Type type)
 
- 		{
 
- 			checkBox.onClick.Add(delegate(WFCheckBox clickCheckBox)
 
- 			{
 
- 				GameMain.Instance.SoundMgr.SetThreeD(type, clickCheckBox.check);
 
- 				GameMain.Instance.SoundMgr.Apply();
 
- 			});
 
- 		};
 
- 		action(this.systemButtonVisible);
 
- 		this.systemButtonVisible.onGetValue = (() => GameMain.Instance.CMSystem.SysButtonShowAlways);
 
- 		this.systemButtonVisible.onSetValue = delegate(bool setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.SysButtonShowAlways = setValue;
 
- 		};
 
- 		action(this.screenMode);
 
- 		this.screenMode.onGetValue = (() => GameMain.Instance.CMSystem.FullScreen);
 
- 		this.screenMode.onSetValue = delegate(bool setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.FullScreen = setValue;
 
- 			GameMain.Instance.CMSystem.ConfigScreenApply();
 
- 		};
 
- 		action(this.drawFPS);
 
- 		this.drawFPS.onGetValue = (() => GameMain.Instance.CMSystem.ViewFps);
 
- 		this.drawFPS.onSetValue = delegate(bool setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.ViewFps = setValue;
 
- 			GameMain.Instance.CMSystem.ConfigScreenApply();
 
- 		};
 
- 		action(this.sequentialVoice);
 
- 		this.sequentialVoice.onGetValue = (() => GameMain.Instance.CMSystem.MsgVoiceNoStop);
 
- 		this.sequentialVoice.onSetValue = delegate(bool setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.MsgVoiceNoStop = setValue;
 
- 		};
 
- 		action(this.ejaculationSe);
 
- 		this.ejaculationSe.onGetValue = (() => GameMain.Instance.CMSystem.EjaculationSeEnabled);
 
- 		this.ejaculationSe.onSetValue = delegate(bool setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.EjaculationSeEnabled = setValue;
 
- 		};
 
- 		if (Product.isPublic)
 
- 		{
 
- 			this.ejaculationSe.gameObject.SetActive(false);
 
- 		}
 
- 		action(this.yotogiSubtitleVisible);
 
- 		this.yotogiSubtitleVisible.onGetValue = (() => GameMain.Instance.CMSystem.YotogiSubtitleVisible);
 
- 		this.yotogiSubtitleVisible.onSetValue = delegate(bool setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.YotogiSubtitleVisible = setValue;
 
- 		};
 
- 		if (!Product.supportMultiLanguage || Product.isPublic)
 
- 		{
 
- 			this.yotogiSubtitleVisible.gameObject.SetActive(false);
 
- 		}
 
- 		foreach (Size<int> size in this.MakeResolutionPopupList())
 
- 		{
 
- 			this.screenResolution.items.Add(string.Format("{0}x{1}", size.width, size.height));
 
- 		}
 
- 		EventDelegate.Add(this.screenResolution.onChange, delegate()
 
- 		{
 
- 			string currentPopupListValue = this.GetCurrentPopupListValue();
 
- 			Size<int> screenSize = this.ResolutionTextToSize(currentPopupListValue);
 
- 			GameMain.Instance.CMSystem.SetScreenSize(screenSize);
 
- 			GameMain.Instance.CMSystem.ConfigScreenApply();
 
- 		});
 
- 		this.CreateEnumPopupList<CMSystem.SSSuperSizeType>(this.captureMagnification, delegate(CMSystem.SSSuperSizeType setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.ScreenShotSuperSize = setValue;
 
- 			GameMain.Instance.CMSystem.ConfigScreenApply();
 
- 		});
 
- 		this.CreateEnumPopupList<CMSystem.AntiAliasType>(this.antiAlias, delegate(CMSystem.AntiAliasType setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.Antialias = setValue;
 
- 			GameMain.Instance.CMSystem.ConfigScreenApply();
 
- 		});
 
- 		this.CreateEnumPopupList<CMSystem.ShadowQualityType>(this.shadowQuality, delegate(CMSystem.ShadowQualityType setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.ShadowQuality = setValue;
 
- 			GameMain.Instance.CMSystem.ConfigScreenApply();
 
- 		});
 
- 		this.CreateEnumPopupList<CMSystem.TextureQualityType>(this.textureQuality, delegate(CMSystem.TextureQualityType setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.TextureQuality = setValue;
 
- 			GameMain.Instance.CMSystem.ConfigScreenApply();
 
- 		});
 
- 		this.CreateEnumPopupList<CMSystem.VSyncType>(this.vSync, delegate(CMSystem.VSyncType setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.VSyncMode = setValue;
 
- 			GameMain.Instance.CMSystem.ConfigScreenApply();
 
- 		});
 
- 		if (this.subtitleType != null)
 
- 		{
 
- 			if (Product.supportMultiLanguage)
 
- 			{
 
- 				IEnumerator enumerator2 = Enum.GetValues(typeof(SubtitleDisplayManager.DisplayType)).GetEnumerator();
 
- 				try
 
- 				{
 
- 					while (enumerator2.MoveNext())
 
- 					{
 
- 						object obj = enumerator2.Current;
 
- 						if ((SubtitleDisplayManager.DisplayType)obj != SubtitleDisplayManager.DisplayType.None)
 
- 						{
 
- 							this.subtitleType.AddItem(SubtitleDisplayManager.EnumConvert.GetTerm((SubtitleDisplayManager.DisplayType)obj));
 
- 						}
 
- 					}
 
- 				}
 
- 				finally
 
- 				{
 
- 					IDisposable disposable;
 
- 					if ((disposable = (enumerator2 as IDisposable)) != null)
 
- 					{
 
- 						disposable.Dispose();
 
- 					}
 
- 				}
 
- 				EventDelegate.Add(this.subtitleType.onChange, delegate()
 
- 				{
 
- 					string currentPopupListValue = this.GetCurrentPopupListValue();
 
- 					IEnumerator enumerator4 = Enum.GetValues(typeof(SubtitleDisplayManager.DisplayType)).GetEnumerator();
 
- 					try
 
- 					{
 
- 						while (enumerator4.MoveNext())
 
- 						{
 
- 							object obj3 = enumerator4.Current;
 
- 							string term = SubtitleDisplayManager.EnumConvert.GetTerm((SubtitleDisplayManager.DisplayType)obj3);
 
- 							if (currentPopupListValue == term)
 
- 							{
 
- 								GameMain.Instance.CMSystem.SubtitleType = (SubtitleDisplayManager.DisplayType)obj3;
 
- 								break;
 
- 							}
 
- 						}
 
- 					}
 
- 					finally
 
- 					{
 
- 						IDisposable disposable3;
 
- 						if ((disposable3 = (enumerator4 as IDisposable)) != null)
 
- 						{
 
- 							disposable3.Dispose();
 
- 						}
 
- 					}
 
- 				});
 
- 			}
 
- 			else
 
- 			{
 
- 				Transform transform = this.subtitleType.transform;
 
- 				while (transform.parent == null || transform.parent.GetComponent<UIGrid>() == null)
 
- 				{
 
- 					transform = transform.parent;
 
- 				}
 
- 				if (transform != null)
 
- 				{
 
- 					transform.gameObject.SetActive(false);
 
- 				}
 
- 			}
 
- 		}
 
- 		if (this.systemLanguage != null)
 
- 		{
 
- 			if (Product.supportMultiLanguage)
 
- 			{
 
- 				IEnumerator enumerator3 = Enum.GetValues(typeof(Product.Language)).GetEnumerator();
 
- 				try
 
- 				{
 
- 					while (enumerator3.MoveNext())
 
- 					{
 
- 						object obj2 = enumerator3.Current;
 
- 						this.systemLanguage.AddItem(Product.EnumConvert.GetTerm((Product.Language)obj2));
 
- 					}
 
- 				}
 
- 				finally
 
- 				{
 
- 					IDisposable disposable2;
 
- 					if ((disposable2 = (enumerator3 as IDisposable)) != null)
 
- 					{
 
- 						disposable2.Dispose();
 
- 					}
 
- 				}
 
- 				EventDelegate.Add(this.systemLanguage.onChange, delegate()
 
- 				{
 
- 					string currentPopupListValue = this.GetCurrentPopupListValue();
 
- 					IEnumerator enumerator4 = Enum.GetValues(typeof(Product.Language)).GetEnumerator();
 
- 					try
 
- 					{
 
- 						while (enumerator4.MoveNext())
 
- 						{
 
- 							object obj3 = enumerator4.Current;
 
- 							string term = Product.EnumConvert.GetTerm((Product.Language)obj3);
 
- 							if (currentPopupListValue == term)
 
- 							{
 
- 								GameMain.Instance.CMSystem.SystemLanguage = (Product.Language)obj3;
 
- 								break;
 
- 							}
 
- 						}
 
- 					}
 
- 					finally
 
- 					{
 
- 						IDisposable disposable3;
 
- 						if ((disposable3 = (enumerator4 as IDisposable)) != null)
 
- 						{
 
- 							disposable3.Dispose();
 
- 						}
 
- 					}
 
- 				});
 
- 			}
 
- 			else
 
- 			{
 
- 				Transform transform2 = this.systemLanguage.transform;
 
- 				while (transform2.parent == null || transform2.parent.GetComponent<UIGrid>() == null)
 
- 				{
 
- 					transform2 = transform2.parent;
 
- 				}
 
- 				if (transform2 != null)
 
- 				{
 
- 					transform2.gameObject.SetActive(false);
 
- 				}
 
- 			}
 
- 		}
 
- 		intSliderInit(this.manAlpha);
 
- 		this.manAlpha.onGetValue = (() => GameMain.Instance.CMSystem.ManAlpha);
 
- 		this.manAlpha.onSetValue = delegate(int setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.ManAlpha = setValue;
 
- 			GameMain.Instance.CMSystem.ConfigScreenApply();
 
- 		};
 
- 		intSliderInit(this.bloom);
 
- 		this.bloom.onGetValue = (() => GameMain.Instance.CMSystem.BloomValue);
 
- 		this.bloom.onSetValue = delegate(int setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.BloomValue = setValue;
 
- 		};
 
- 		intSliderInit(this.messageAlpha);
 
- 		this.messageAlpha.onGetValue = (() => GameMain.Instance.CMSystem.MsgWndAlpha);
 
- 		this.messageAlpha.onSetValue = delegate(int setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.MsgWndAlpha = setValue;
 
- 		};
 
- 		intSliderInit(this.textSpeed);
 
- 		this.textSpeed.onGetValue = (() => GameMain.Instance.CMSystem.MsgTextSpeed);
 
- 		this.textSpeed.onSetValue = delegate(int setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.MsgTextSpeed = setValue;
 
- 		};
 
- 		intSliderInit(this.textAutoSpeed);
 
- 		this.textAutoSpeed.onGetValue = (() => GameMain.Instance.CMSystem.MsgAutoSpeed);
 
- 		this.textAutoSpeed.onSetValue = delegate(int setValue)
 
- 		{
 
- 			GameMain.Instance.CMSystem.MsgAutoSpeed = setValue;
 
- 		};
 
- 		intSliderInit(this.volumeMaster);
 
- 		this.volumeMaster.onGetValue = (() => GameMain.Instance.SoundMgr.GetVolumeAll());
 
- 		this.volumeMaster.onSetValue = delegate(int setValue)
 
- 		{
 
- 			GameMain.Instance.SoundMgr.SetVolumeAll(setValue);
 
- 			GameMain.Instance.SoundMgr.Apply();
 
- 		};
 
- 		action2(this.volumeSystem, AudioSourceMgr.Type.System);
 
- 		action2(this.volumeBGM, AudioSourceMgr.Type.Bgm);
 
- 		intSliderInit(this.volumeDance);
 
- 		this.volumeDance.onGetValue = (() => GameMain.Instance.SoundMgr.GetVolumeDance());
 
- 		this.volumeDance.onSetValue = delegate(int setValue)
 
- 		{
 
- 			GameMain.Instance.SoundMgr.SetVolumeDance(setValue);
 
- 			GameMain.Instance.SoundMgr.Apply();
 
- 		};
 
- 		action2(this.volumeVoiceMaster, AudioSourceMgr.Type.Voice);
 
- 		action2(this.volumeVoiceHeroine, AudioSourceMgr.Type.VoiceHeroine);
 
- 		action3(this.threeDEffectVoiceHeroine, AudioSourceMgr.Type.VoiceHeroine);
 
- 		action2(this.volumeSubVoice, AudioSourceMgr.Type.VoiceSub);
 
- 		action3(this.threeDEffectSubVoice, AudioSourceMgr.Type.VoiceSub);
 
- 		action2(this.volumeExtraVoice, AudioSourceMgr.Type.VoiceExtra);
 
- 		action3(this.threeDEffectExtraVoice, AudioSourceMgr.Type.VoiceExtra);
 
- 		action2(this.volumeMobVoice, AudioSourceMgr.Type.VoiceMob);
 
- 		action3(this.threeDEffectMobVoice, AudioSourceMgr.Type.VoiceMob);
 
- 		action2(this.volumeSE, AudioSourceMgr.Type.Se);
 
- 		action3(this.threeDEffectSE, AudioSourceMgr.Type.Se);
 
- 		action2(this.volumeEnv, AudioSourceMgr.Type.Env);
 
- 		action3(this.threeDEffectEnv, AudioSourceMgr.Type.Env);
 
- 		foreach (UIGrid uigrid in base.GetComponentsInChildren<UIGrid>())
 
- 		{
 
- 			uigrid.repositionNow = true;
 
- 		}
 
- 	}
 
- 	public void LoadConfig()
 
- 	{
 
- 		foreach (ConfigSelectButton configSelectButton in this.selectButtons)
 
- 		{
 
- 			configSelectButton.UpdateButton();
 
- 		}
 
- 		foreach (ConfigIntegerSlider configIntegerSlider in this.intSliders)
 
- 		{
 
- 			configIntegerSlider.UpdateSlider();
 
- 		}
 
- 		SoundMgr soundMgr = GameMain.Instance.SoundMgr;
 
- 		this.threeDEffectVoiceHeroine.check = soundMgr.GetThreeD(AudioSourceMgr.Type.VoiceHeroine);
 
- 		this.threeDEffectSubVoice.check = soundMgr.GetThreeD(AudioSourceMgr.Type.VoiceSub);
 
- 		this.threeDEffectExtraVoice.check = soundMgr.GetThreeD(AudioSourceMgr.Type.VoiceExtra);
 
- 		this.threeDEffectMobVoice.check = soundMgr.GetThreeD(AudioSourceMgr.Type.VoiceMob);
 
- 		this.threeDEffectSE.check = soundMgr.GetThreeD(AudioSourceMgr.Type.Se);
 
- 		this.threeDEffectEnv.check = soundMgr.GetThreeD(AudioSourceMgr.Type.Env);
 
- 		Size<int> screenSizeNow = GameMain.Instance.CMSystem.GetScreenSizeNow();
 
- 		this.screenResolution.value = string.Format("{0}x{1}", screenSizeNow.width, screenSizeNow.height);
 
- 		this.captureMagnification.value = GameMain.Instance.CMSystem.ScreenShotSuperSize.ToString();
 
- 		this.antiAlias.value = GameMain.Instance.CMSystem.Antialias.ToString();
 
- 		this.shadowQuality.value = GameMain.Instance.CMSystem.ShadowQuality.ToString();
 
- 		this.textureQuality.value = GameMain.Instance.CMSystem.TextureQuality.ToString();
 
- 		this.vSync.value = GameMain.Instance.CMSystem.VSyncMode.ToString();
 
- 		this.subtitleType.value = SubtitleDisplayManager.EnumConvert.GetTerm(GameMain.Instance.CMSystem.SubtitleType);
 
- 		this.systemLanguage.value = Product.EnumConvert.GetTerm(GameMain.Instance.CMSystem.SystemLanguage);
 
- 	}
 
- 	public void SetCloseButtonActive(bool active)
 
- 	{
 
- 		this.closeButton.gameObject.SetActive(active);
 
- 	}
 
- 	private void OnClickCategoryTabButton(ConfigManager.CategoryButton data)
 
- 	{
 
- 		ConfigManager.CategoryButton.Type type = data.type;
 
- 		if (type != ConfigManager.CategoryButton.Type.System)
 
- 		{
 
- 			if (type != ConfigManager.CategoryButton.Type.Sound)
 
- 			{
 
- 				if (type == ConfigManager.CategoryButton.Type.ChuBLip)
 
- 				{
 
- 					UIRect uirect = this.systemWidget;
 
- 					float alpha = 0f;
 
- 					this.soundWidget.alpha = alpha;
 
- 					uirect.alpha = alpha;
 
- 					this.cblConfigMgr.visible = true;
 
- 				}
 
- 			}
 
- 			else
 
- 			{
 
- 				this.systemWidget.alpha = 0f;
 
- 				this.soundWidget.alpha = 1f;
 
- 				this.cblConfigMgr.visible = false;
 
- 			}
 
- 		}
 
- 		else
 
- 		{
 
- 			this.systemWidget.alpha = 1f;
 
- 			this.soundWidget.alpha = 0f;
 
- 			this.cblConfigMgr.visible = false;
 
- 		}
 
- 		foreach (ConfigManager.CategoryButton categoryButton in this.categoryTabButtons)
 
- 		{
 
- 			categoryButton.tab.SetSelect(categoryButton.type == data.type);
 
- 		}
 
- 	}
 
- 	private void CreateEnumPopupList<enumT>(UIPopupList addPopupList, Action<enumT> applyAction)
 
- 	{
 
- 		IEnumerator enumerator = Enum.GetValues(typeof(enumT)).GetEnumerator();
 
- 		try
 
- 		{
 
- 			while (enumerator.MoveNext())
 
- 			{
 
- 				object obj = enumerator.Current;
 
- 				if (obj.ToString() != "MAX")
 
- 				{
 
- 					addPopupList.items.Add(obj.ToString());
 
- 				}
 
- 			}
 
- 		}
 
- 		finally
 
- 		{
 
- 			IDisposable disposable;
 
- 			if ((disposable = (enumerator as IDisposable)) != null)
 
- 			{
 
- 				disposable.Dispose();
 
- 			}
 
- 		}
 
- 		EventDelegate.Add(addPopupList.onChange, delegate()
 
- 		{
 
- 			string currentPopupListValue = this.GetCurrentPopupListValue();
 
- 			if (this.IsValidatePopupValue<enumT>(currentPopupListValue))
 
- 			{
 
- 				enumT obj2 = (enumT)((object)Enum.Parse(typeof(enumT), currentPopupListValue));
 
- 				applyAction(obj2);
 
- 			}
 
- 		});
 
- 	}
 
- 	private string GetCurrentPopupListValue()
 
- 	{
 
- 		return Regex.Replace(UIPopupList.current.value, "[\\r\\n]+$", string.Empty);
 
- 	}
 
- 	private List<Size<int>> MakeResolutionPopupList()
 
- 	{
 
- 		List<Size<int>> screenSizeList = GameMain.Instance.CMSystem.GetScreenSizeList();
 
- 		Size<int> screenSizeNow = GameMain.Instance.CMSystem.GetScreenSizeNow();
 
- 		if (!screenSizeList.Contains(screenSizeNow))
 
- 		{
 
- 			screenSizeList.Add(screenSizeNow);
 
- 		}
 
- 		return screenSizeList;
 
- 	}
 
- 	private Size<int> ResolutionTextToSize(string value)
 
- 	{
 
- 		Size<int> result = default(Size<int>);
 
- 		int num = value.IndexOf("x");
 
- 		if (num < 0)
 
- 		{
 
- 			Debug.LogError(string.Format("不適切な解像度が設定されています。設定された解像度={0}", value));
 
- 		}
 
- 		string s = value.Substring(0, num);
 
- 		int width;
 
- 		if (int.TryParse(s, out width))
 
- 		{
 
- 			result.width = width;
 
- 		}
 
- 		else
 
- 		{
 
- 			Debug.LogError(string.Format("不適切な解像度が設定されています。設定された解像度={0}", value));
 
- 		}
 
- 		string s2 = value.Substring(num + 1);
 
- 		int height;
 
- 		if (int.TryParse(s2, out height))
 
- 		{
 
- 			result.height = height;
 
- 		}
 
- 		else
 
- 		{
 
- 			Debug.LogError(string.Format("不適切な解像度が設定されています。設定された解像度={0}", value));
 
- 		}
 
- 		return result;
 
- 	}
 
- 	private bool IsValidatePopupValue<T>(string value)
 
- 	{
 
- 		if (!Enum.IsDefined(typeof(T), value))
 
- 		{
 
- 			Debug.LogError(string.Format("ポップアップリストから不適切な値が選択されました。選択されたボタン名={0}", value));
 
- 			return false;
 
- 		}
 
- 		return true;
 
- 	}
 
- 	private KeyValuePair<T, GameObject> GetRootItem<T>(GameObject obj) where T : class
 
- 	{
 
- 		T t = (T)((object)null);
 
- 		Transform transform = obj.transform;
 
- 		for (;;)
 
- 		{
 
- 			t = transform.parent.GetComponent<T>();
 
- 			if (!(transform.parent == null) && t != null)
 
- 			{
 
- 				break;
 
- 			}
 
- 			transform = transform.parent;
 
- 		}
 
- 		if (transform != null)
 
- 		{
 
- 			transform.gameObject.SetActive(false);
 
- 		}
 
- 		return new KeyValuePair<T, GameObject>(t, transform.gameObject);
 
- 	}
 
- 	[SerializeField]
 
- 	[Header("タブボタンのデータ")]
 
- 	private ConfigManager.CategoryButton[] categoryTabButtons;
 
- 	[SerializeField]
 
- 	[Header("閉じるボタン")]
 
- 	private UIButton closeButton;
 
- 	[SerializeField]
 
- 	[Header("VRボタン")]
 
- 	private UIButton vrConfigButton;
 
- 	[SerializeField]
 
- 	[Header("システムタブ表示用Widget")]
 
- 	private UIWidget systemWidget;
 
- 	[SerializeField]
 
- 	[Header("システムフレーム")]
 
- 	private UISprite systemFrame;
 
- 	[SerializeField]
 
- 	[Header("サウンドタブ表示用Widget")]
 
- 	private UIWidget soundWidget;
 
- 	[SerializeField]
 
- 	[Header("システムボタン常時表示")]
 
- 	private ConfigSelectButton systemButtonVisible;
 
- 	[SerializeField]
 
- 	[Header("スクリーンモード")]
 
- 	private ConfigSelectButton screenMode;
 
- 	[SerializeField]
 
- 	[Header("FPS表示")]
 
- 	private ConfigSelectButton drawFPS;
 
- 	[SerializeField]
 
- 	[Header("ボイス継続")]
 
- 	private ConfigSelectButton sequentialVoice;
 
- 	[SerializeField]
 
- 	[Header("射精音の再生")]
 
- 	private ConfigSelectButton ejaculationSe;
 
- 	[SerializeField]
 
- 	[Header("夜伽中の字幕表示")]
 
- 	private ConfigSelectButton yotogiSubtitleVisible;
 
- 	[SerializeField]
 
- 	[Header("男透明度")]
 
- 	private ConfigIntegerSlider manAlpha;
 
- 	[SerializeField]
 
- 	[Header("ブルーム")]
 
- 	private ConfigIntegerSlider bloom;
 
- 	[SerializeField]
 
- 	[Header("メッセージウィンドウ透明度")]
 
- 	private ConfigIntegerSlider messageAlpha;
 
- 	[SerializeField]
 
- 	[Header("テキストスピード")]
 
- 	private ConfigIntegerSlider textSpeed;
 
- 	[SerializeField]
 
- 	[Header("テキストオートスピード")]
 
- 	private ConfigIntegerSlider textAutoSpeed;
 
- 	[SerializeField]
 
- 	[Header("CBLデバイス選択")]
 
- 	private UIPopupList deviceSelect;
 
- 	[SerializeField]
 
- 	[Header("画面解像度")]
 
- 	private UIPopupList screenResolution;
 
- 	[SerializeField]
 
- 	[Header("キャプチャ倍率")]
 
- 	private UIPopupList captureMagnification;
 
- 	[SerializeField]
 
- 	[Header("アンチエイリアス")]
 
- 	private UIPopupList antiAlias;
 
- 	[SerializeField]
 
- 	[Header("影のクオリティ")]
 
- 	private UIPopupList shadowQuality;
 
- 	[SerializeField]
 
- 	[Header("テクスチャのクオリティ")]
 
- 	private UIPopupList textureQuality;
 
- 	[SerializeField]
 
- 	[Header("システム言語")]
 
- 	private UIPopupList systemLanguage;
 
- 	[SerializeField]
 
- 	[Header("垂直同期")]
 
- 	private UIPopupList vSync;
 
- 	[SerializeField]
 
- 	[Header("翻訳版用-ADVの表示タイプ")]
 
- 	private UIPopupList subtitleType;
 
- 	[SerializeField]
 
- 	[Header("音量-マスター")]
 
- 	private ConfigIntegerSlider volumeMaster;
 
- 	[SerializeField]
 
- 	[Header("音量-システム")]
 
- 	private ConfigIntegerSlider volumeSystem;
 
- 	[SerializeField]
 
- 	[Header("音量-BGM")]
 
- 	private ConfigIntegerSlider volumeBGM;
 
- 	[SerializeField]
 
- 	[Header("音量-ダンス")]
 
- 	private ConfigIntegerSlider volumeDance;
 
- 	[SerializeField]
 
- 	[Header("音量-ボイスマスター")]
 
- 	private ConfigIntegerSlider volumeVoiceMaster;
 
- 	[SerializeField]
 
- 	[Header("音量-ボイスヒロイン")]
 
- 	private ConfigIntegerSlider volumeVoiceHeroine;
 
- 	[SerializeField]
 
- 	[Header("3D-ボイスヒロイン")]
 
- 	private WFCheckBox threeDEffectVoiceHeroine;
 
- 	[SerializeField]
 
- 	[Header("音量-ボイスサブ")]
 
- 	private ConfigIntegerSlider volumeSubVoice;
 
- 	[SerializeField]
 
- 	[Header("3D-ボイスサブ")]
 
- 	private WFCheckBox threeDEffectSubVoice;
 
- 	[SerializeField]
 
- 	[Header("音量-ボイスエキストラ")]
 
- 	private ConfigIntegerSlider volumeExtraVoice;
 
- 	[SerializeField]
 
- 	[Header("3D-ボイスエキストラ")]
 
- 	private WFCheckBox threeDEffectExtraVoice;
 
- 	[SerializeField]
 
- 	[Header("音量-ボイスモブ")]
 
- 	private ConfigIntegerSlider volumeMobVoice;
 
- 	[SerializeField]
 
- 	[Header("3D-ボイスモブ")]
 
- 	private WFCheckBox threeDEffectMobVoice;
 
- 	[SerializeField]
 
- 	[Header("音量-SE")]
 
- 	private ConfigIntegerSlider volumeSE;
 
- 	[SerializeField]
 
- 	[Header("3D-SE")]
 
- 	private WFCheckBox threeDEffectSE;
 
- 	[SerializeField]
 
- 	[Header("音量-環境音")]
 
- 	private ConfigIntegerSlider volumeEnv;
 
- 	[SerializeField]
 
- 	[Header("3D-環境音")]
 
- 	private WFCheckBox threeDEffectEnv;
 
- 	private ConfigCblManager cblConfigMgr;
 
- 	private List<ConfigSelectButton> selectButtons = new List<ConfigSelectButton>();
 
- 	private List<ConfigIntegerSlider> intSliders = new List<ConfigIntegerSlider>();
 
- 	[Serializable]
 
- 	private struct CategoryButton
 
- 	{
 
- 		public ConfigManager.CategoryButton.Type type;
 
- 		public UIWFTabButton tab;
 
- 		public enum Type
 
- 		{
 
- 			System = 10,
 
- 			Sound = 20,
 
- 			ChuBLip = 30
 
- 		}
 
- 	}
 
- }
 
 
  |