/// <summary> /// 初始化主面板(选项). /// </summary> /// <param name="iTarget">目标信息.</param> protected override void InitMainPanelOfOptions(BuildInfo iTarget) { if (null == iTarget) { return; } EditorGUILayout.LabelField("Options"); string[] _optionNames = System.Enum.GetNames(typeof(TSDKOptions)); for (int idx = 0; idx < _optionNames.Length; ++idx) { string _optionName = _optionNames [idx]; if (true == string.IsNullOrEmpty(_optionName)) { continue; } TSDKOptions _option = (TSDKOptions)System.Enum.Parse(typeof(TSDKOptions), _optionName); if (TSDKOptions.None == _option) { continue; } EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(" ", GUILayout.Width(10.0f), GUILayout.Height(20.0f)); EditorGUILayout.LabelField(_optionName, GUILayout.Width(100.0f), GUILayout.Height(20.0f)); bool _isOn = EditorGUILayout.Toggle(iTarget.Data.Options.isOptionValid(_option)); iTarget.Data.Options.SetOptionOnOrOff(_option, _isOn); EditorGUILayout.EndHorizontal(); } }
/// <summary> /// 设定选项. /// </summary> /// <param name="iOption">选项.</param> /// <param name="iIsOn">true:On; false:Off.</param> public void SetOptionOnOrOff(TSDKOptions iOption, bool iIsOn) { if (true == iIsOn) { this.OptionsSettings |= (int)iOption; } else { this.OptionsSettings &= (~(int)iOption); } }
/// <summary> /// 判断选项是否有效. /// </summary> /// <returns><c>true</c>, 有效, <c>false</c> 无效.</returns> /// <param name="iOption">选项.</param> public bool isOptionValid(TSDKOptions iOption) { return((this.OptionsSettings & (int)iOption) == ((int)iOption)); }