public static void DrawTargetEvents(ICECreatureControl _control, TargetObject _target) { if (_target == null) { return; } ICEWorldBehaviour _behaviour = null; if (_target.TargetGameObject != null) { _behaviour = _target.TargetGameObject.GetComponent <ICEWorldBehaviour>(); } CreatureObjectEditor.DrawEventsObject(_behaviour, _target.Events, EditorHeaderType.FOLDOUT_ENABLED, EditorHeaderType.FOLDOUT_ENABLED, Info.TARGET_EVENT, "Target Events"); }
/// <summary> /// Draws the behaviour mode rule. /// </summary> /// <param name="_index">_index.</param> /// <param name="_list">_list.</param> public static void DrawBehaviourModeRule(ICECreatureControl _control, BehaviourModeObject _mode, int _index, List <BehaviourModeRuleObject> _list, string _key) { BehaviourModeRuleObject _rule = _list[_index]; if (_rule == null) { return; } if (_list.Count > 1) { EditorGUI.indentLevel++; ICEEditorStyle.SplitterByIndent(EditorGUI.indentLevel); ICEEditorLayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(_rule.Enabled == false); _rule.Foldout = EditorGUILayout.Foldout(_rule.Foldout, _key + " Rule #" + (_index + 1), ICEEditorStyle.Foldout); EditorGUI.EndDisabledGroup(); GUILayout.FlexibleSpace(); ICEEditorLayout.StatusButton("ACTIVE", _rule.Active == false, Color.green); if (ICEEditorLayout.CopyButtonMiddle()) { _list.Add(new BehaviourModeRuleObject(_rule)); } GUILayout.Space(5); if (ICEEditorLayout.ListDeleteButton <BehaviourModeRuleObject>(_list, _rule, "Removes this rule.")) { return; } if (ICEEditorLayout.ListUpDownButtons <BehaviourModeRuleObject>(_list, _list.IndexOf(_rule))) { return; } _rule.Enabled = ICEEditorLayout.EnableButton("Enables/disables this rule", _rule.Enabled); ICEEditorLayout.EndHorizontal(Info.BEHAVIOUR_MODE_RULE); } else { _rule.Foldout = true; _rule.Enabled = true; } if (_rule.Foldout) { EditorHeaderType _header = EditorHeaderType.FOLDOUT_ENABLED_BOLD; EditorHeaderType _sub_header = EditorHeaderType.FOLDOUT_ENABLED_BOLD; EditorGUI.BeginDisabledGroup(_rule.Enabled == false); // WEIGHTEDRANDOM BEGIN if (_list.Count > 1 && _mode.RulesOrderType == SequenceOrderType.WEIGHTEDRANDOM) { _rule.Weight = ICEEditorLayout.DefaultSlider("Weight", "Weight Value for WEIGHTEDRANDOM Sequence Type, relative to other rules weight value", _rule.Weight, Init.DECIMAL_PRECISION, 0, 100, 1, Info.BEHAVIOUR_MODE_RULE_WEIGHT); } // WEIGHTEDRANDOM END EditorGUI.indentLevel++; // CUSTOM LENGTH BEGIN if (_list.Count > 1 || _rule.Link.Enabled) { DrawBehaviourCustomLength(_control, _rule, _header); } // CUSTOM LENGTH END CreatureBehaviourEditor.DrawBehaviourAnimation(_control, _mode, _rule, _header); CreatureBehaviourEditor.DrawBehaviourMove(_control, _mode, _rule, _header); CreatureObjectEditor.DrawInfluenceObject(_mode, _rule.Influences, _header, _control.Creature.Status.UseAdvanced, _control.Creature.Status.InitialDurabilityMax, Info.BEHAVIOUR_INFLUENCES); CreatureObjectEditor.DrawInventoryActionObject(_control, _rule.Inventory, _header, Info.BEHAVIOUR_INVENTORY); CreatureObjectEditor.DrawAudioObject(_rule.Audio, _header, Info.BEHAVIOUR_AUDIO); CreatureObjectEditor.DrawEventsObject(_control, _rule.Events, _header, _sub_header, Info.BEHAVIOUR_EVENTS); CreatureObjectEditor.DrawLookDataObject(_rule.Look, _header, Info.BEHAVIOUR_LOOK); CreatureObjectEditor.DrawEffectObject(_control, _rule.Effect, _header, Info.BEHAVIOUR_EFFECT); CreatureBehaviourEditor.DrawBehaviourModeRuleLinkObject(_control, _list, _rule.Link, _header, Info.BEHAVIOUR_LINK, "", "", _key + "_" + _index); EditorGUILayout.Separator(); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel--; } if (_list.Count > 1) { EditorGUI.indentLevel--; } }