private void DisplayPartConf() { if (_actionPart == null) { _actionPart = new TriggerActionPart(_vesselTriggers); } _currentAction = _actionPart; // Left column GUILayout.BeginArea(_boxLeftPos); _scrollVectPart = GUILayout.BeginScrollView(_scrollVectPart, GUIStyle.none, GUIStyle.none); GUILayout.BeginVertical(); // Part GUILayout.BeginHorizontal(); GUILayout.Space(LEFT_MARGING); GUILayout.Label("Part to act on: "); GUILayout.EndHorizontal(); // Action GUILayout.BeginHorizontal(); GUILayout.Space(LEFT_MARGING); GUILayout.Label("Action: "); GUILayout.EndHorizontal(); // Parameters if (_actionPart.Parameters != null) { for (int i = 0; i < _actionPart.Parameters.Length; i++) { TypedData param = _actionPart.Parameters[i]; if ((param != null) && param.Configurable) { GUILayout.BeginHorizontal(); GUILayout.Space(LEFT_MARGING); GUILayout.Label(param.Name); GUILayout.EndHorizontal(); } } } GUILayout.EndVertical(); GUILayout.EndScrollView(); GUILayout.EndArea(); // Right column GUILayout.BeginArea(_boxRightPos); _scrollVectPart = GUILayout.BeginScrollView(_scrollVectPart); GUILayout.BeginVertical(); // Part GUILayout.BeginHorizontal(); _partSelector.DisplayLayout(_actionPart.ActionPart); GUILayout.Space(RIGHT_MARGING); GUILayout.EndHorizontal(); // Action GUILayout.BeginHorizontal(); int newActionIndex = _popupUI.GUILayoutPopup("popupPartMetho", _actionPart.ActionList, _actionPart.ActionIndex); GUILayout.Space(RIGHT_MARGING); GUILayout.EndHorizontal(); // Parameters if (_actionPart.Parameters != null) { for (int i = 0; i < _actionPart.Parameters.Length; i++) { TypedData param = _actionPart.Parameters[i]; if ((param != null) && param.Configurable) { GUILayout.BeginHorizontal(); param.DisplayLayout(_popupUI); GUILayout.Space(RIGHT_MARGING); GUILayout.EndHorizontal(); } } } GUILayout.EndVertical(); GUILayout.EndScrollView(); GUILayout.EndArea(); if (Event.current.type == EventType.Repaint) { _actionPart.ActionIndex = newActionIndex; } }
private void DisplayPartConf() { if (_conditionPart == null) { _conditionPart = new TriggerConditionPart(_vesselTriggers); } _currentCondition = _conditionPart; // Left column GUILayout.BeginArea(_boxLeftPos); _scrollVectPart = GUILayout.BeginScrollView(_scrollVectPart, GUIStyle.none, GUIStyle.none); GUILayout.BeginVertical(); // Part GUILayout.BeginHorizontal(); GUILayout.Space(LEFT_MARGING); GUILayout.Label("Part to evaluate: "); GUILayout.EndHorizontal(); // Property GUILayout.BeginHorizontal(); GUILayout.Space(LEFT_MARGING); GUILayout.Label("Property to evaluate: "); GUILayout.EndHorizontal(); // Parameters if (_conditionPart.Parameters != null) { for (int i = 0; i < _conditionPart.Parameters.Length; i++) { TypedData param = _conditionPart.Parameters[i]; if ((param != null) && param.Configurable) { GUILayout.BeginHorizontal(); GUILayout.Space(LEFT_MARGING); GUILayout.Label(param.Name); GUILayout.EndHorizontal(); } } } if (_conditionPart.TargetValue != null) { // Comparator GUILayout.BeginHorizontal(); GUILayout.Space(LEFT_MARGING); GUILayout.Label("Comparator: "); GUILayout.EndHorizontal(); // Target GUILayout.BeginHorizontal(); GUILayout.Space(LEFT_MARGING); GUILayout.Label("Target value: "); GUILayout.EndHorizontal(); } GUILayout.EndVertical(); GUILayout.EndScrollView(); GUILayout.EndArea(); // Right column GUILayout.BeginArea(_boxRightPos); _scrollVectPart = GUILayout.BeginScrollView(_scrollVectPart); GUILayout.BeginVertical(); // Part GUILayout.BeginHorizontal(); _partSelector.DisplayLayout(_conditionPart.ConditionPart); GUILayout.Space(RIGHT_MARGING); GUILayout.EndHorizontal(); // Property GUILayout.BeginHorizontal(); int newPropertyIndex = _popupUI.GUILayoutPopup("popupPartParam", _conditionPart.PropertyList, _conditionPart.PropertyIndex); GUILayout.Space(RIGHT_MARGING); GUILayout.EndHorizontal(); // Parameters if (_conditionPart.Parameters != null) { for (int i = 0; i < _conditionPart.Parameters.Length; i++) { TypedData param = _conditionPart.Parameters[i]; if ((param != null) && param.Configurable) { GUILayout.BeginHorizontal(); param.DisplayLayout(_popupUI); GUILayout.Space(RIGHT_MARGING); GUILayout.EndHorizontal(); } } } if (_conditionPart.TargetValue != null) { TypedData target = _conditionPart.TargetValue; // Comparator GUILayout.BeginHorizontal(); _conditionPart.Comparator = (ComparatorType)_popupUI.GUILayoutPopup("popupPartOper", target.ComparatorList, (int)_conditionPart.Comparator); GUILayout.Space(RIGHT_MARGING); GUILayout.EndHorizontal(); // Target GUILayout.BeginHorizontal(); target.DisplayLayout(_popupUI); GUILayout.Space(RIGHT_MARGING); GUILayout.EndHorizontal(); } GUILayout.EndVertical(); GUILayout.EndScrollView(); GUILayout.EndArea(); if (Event.current.type == EventType.Repaint) { _conditionPart.PropertyIndex = newPropertyIndex; } }