/* * private static InteractorRuleObject DrawInteractorRuleOffset( ICECreatureControl _control,InteractorObject _interactor, InteractorRuleObject _rule ) * { * TargetObject _target = _rule as TargetObject;//new TargetObject( TargetType.INTERACTOR ); * _target.TargetGameObject = _interactor.TargetGameObject;// m_creature_register.GetTargetByName( _interactor.TargetName ); * _target.TargetTag = _interactor.TargetTag; * _target.TargetName = _interactor.TargetName; * * _rule.OverrideTargetMovePosition = EditorSharedTools.DrawTargetObjectBlind( _target, _rule.OverrideTargetMovePosition ); * if( _rule.OverrideTargetMovePosition ) * EditorSharedTools.DrawTargetMoveSettings( _control.gameObject, _target); * * return _rule; * } */ private static bool DrawInteractorRule(ICECreatureControl _control, InteractorObject _interactor, int _index) { InteractorRuleObject _rule = _interactor.Rules[_index]; ICEEditorLayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(_rule.Enabled == false); _rule.Foldout = ICEEditorLayout.Foldout(_rule.Foldout, " Act #" + (_index + 2) + " - " + _rule.Behaviour.BehaviourTitle()); if (ICEEditorLayout.CopyButtonSmall("Creates a copy of the selected interactor rule")) { _interactor.Rules.Insert(_index, new InteractorRuleObject(_rule, true)); } if (ICEEditorLayout.ResetButtonSmall("Resets the selected interactor rule")) { _rule.Copy(new InteractorRuleObject()); } EditorGUI.EndDisabledGroup(); GUILayout.Space(5); if (ICEEditorLayout.ListDeleteButton <InteractorRuleObject>(_interactor.Rules, _rule)) { return(true); } GUILayout.Space(5); if (ICEEditorLayout.ListUpDownButtons <InteractorRuleObject>(_interactor.Rules, _interactor.Rules.IndexOf(_rule))) { return(true); } GUILayout.Space(5); _rule.Enabled = ICEEditorLayout.EnableButton("Enables/disables the selected rule", _rule.Enabled); ICEEditorLayout.PriorityButton(_rule.SelectionPriority); ICEEditorLayout.EndHorizontal(ref _rule.ShowInfoText, ref _rule.InfoText, Info.INTERACTION_INTERACTOR_RULE); if (_rule.Foldout) { EditorGUI.BeginDisabledGroup(_rule.Enabled == false); if (!Application.isPlaying) { _rule.OverrideTargetGameObject(_interactor.TargetGameObject); } _rule.Selectors.CanUseDefaultPriority = true; if (_rule.Selectors.UseDefaultPriority) { _rule.Selectors.Priority = _interactor.Selectors.Priority + _index + 1; } TargetEditor.DrawTargetObjectBlind(_rule as TargetObject, "", ""); TargetEditor.DrawTargetContent(_control, _rule as TargetObject, true, "IACT_" + _interactor.TargetName.ToUpper() + "_R" + (_index + 2)); //TargetEditor.DrawTargetBehaviour( _control, _rule as TargetObject ); /* * // BEHAVIOUR * string _auto_key = _interactor.TargetName + "_action_" + _index; * _rule.BehaviourModeKey = BehaviourEditor.BehaviourSelect( _control, "Behaviour", "Action behaviour for this interaction rule", _rule.BehaviourModeKey, _auto_key ); */ EditorGUILayout.Separator(); EditorGUI.EndDisabledGroup(); } return(false); }