Пример #1
0
        public static void DrawTargetSelectorStatement(ICECreatureControl _control, List <TargetSelectorStatementObject> _statements)
        {
            if (_statements == null)
            {
                return;
            }

            for (int i = 0; i < _statements.Count; i++)
            {
                if (i > 0)
                {
                    EditorGUI.indentLevel++;
                }

                ICEEditorLayout.BeginHorizontal();

                TargetSelectorStatementObject _statement = _statements[i];

                //string _prefix = "THEN";

                DrawTargetSelectorStatementContent(_control, _statement);

                /*
                 * if( _statement.StatementType == TargetSelectorStatementType.NONE )
                 * {
                 *      _statement.StatementType = (TargetSelectorStatementType)ICEEditorLayout.EnumPopup( _prefix, "Select the desired statement type", TargetSelectorStatementType.NONE );
                 * }
                 * else if( _statement.StatementType == TargetSelectorStatementType.PRIORITY )
                 * {
                 *      _statement.Priority = (int)ICEEditorLayout.DefaultSlider( _prefix + " Priority", "Priority to select this target!", _statement.Priority, 1, 0, 100, 0 );
                 *
                 * }
                 * else if( _statement.StatementType == TargetSelectorStatementType.MULTIPLIER )
                 * {
                 *      _statement.Priority = (int)ICEEditorLayout.DefaultSlider()
                 * }
                 * else if( _statement.StatementType == TargetSelectorStatementType.SUCCESSOR )
                 * {
                 *      if( _statement.SuccessorType == TargetSuccessorType.TYPE )
                 *              _statement.SuccessorTargetType = (TargetType)ICEEditorLayout.EnumPopup( _prefix + " Successor Type", "This target will only select if the active target has the specified type.", _statement.SuccessorTargetType );
                 *      else if( _statement.SuccessorType == TargetSuccessorType.TAG )
                 *              _statement.SuccessorTargetTag = EditorGUILayout.TagField( _prefix + " Successor Tag", _statement.SuccessorTargetTag );
                 *      else if( _statement.SuccessorType == TargetSuccessorType.NAME )
                 *              _statement.SuccessorTargetName = DrawTargetPopup( _control, _prefix + " Successor Name", "This target will only select if the active target has the specified name.", _statement.SuccessorTargetName );
                 *
                 *      if (GUILayout.Button(  new GUIContent( _statement.SuccessorType.ToString(), "Select precursor type" ), ICEEditorStyle.CMDButtonDouble ) )
                 *      {
                 *              if( _statement.SuccessorType == TargetSuccessorType.TAG )
                 *                      _statement.SuccessorType = 0;
                 *              else
                 *                      _statement.SuccessorType++;
                 *      }
                 * }*/

                if (GUILayout.Button(new GUIContent("DEL", "Removes selected statement"), ICEEditorStyle.CMDButtonDouble))
                {
                    _statements.Remove(_statement);
                    return;
                }


                ICEEditorLayout.EndHorizontal();

                if (i > 0)
                {
                    EditorGUI.indentLevel--;
                }
            }
        }
Пример #2
0
        public static void DrawTargetSelectorStatementContent(ICECreatureControl _control, TargetSelectorStatementObject _statement)
        {
            if (_statement == null)
            {
                return;
            }


            string _prefix = "THEN";

            if (_statement.StatementType == TargetSelectorStatementType.NONE)
            {
                _statement.StatementType = (TargetSelectorStatementType)ICEEditorLayout.EnumPopup(_prefix, "Select the desired statement type", TargetSelectorStatementType.NONE);
            }
            else if (_statement.StatementType == TargetSelectorStatementType.PRIORITY)
            {
                _statement.Priority = (int)ICEEditorLayout.Slider(_prefix + " Priority", "Priority to select this target!", _statement.Priority, 1, 0, 100);
            }

            /*else if( _statement.StatementType == TargetSelectorStatementType.MULTIPLIER )
             * {
             *      _statement.Priority = (int)ICEEditorLayout.DefaultSlider()
             * }*/
            else if (_statement.StatementType == TargetSelectorStatementType.SUCCESSOR)
            {
                if (_statement.SuccessorType == TargetSuccessorType.TYPE)
                {
                    _statement.SuccessorTargetType = (TargetType)ICEEditorLayout.EnumPopup(_prefix + " Successor Type", "This target will only select if the active target has the specified type.", _statement.SuccessorTargetType);
                }
                else if (_statement.SuccessorType == TargetSuccessorType.TAG)
                {
                    _statement.SuccessorTargetTag = EditorGUILayout.TagField(_prefix + " Successor Tag", _statement.SuccessorTargetTag);
                }
                else if (_statement.SuccessorType == TargetSuccessorType.NAME)
                {
                    _statement.SuccessorTargetName = DrawTargetPopup(_control, _prefix + " Successor Name", "This target will only select if the active target has the specified name.", _statement.SuccessorTargetName);
                }

                if (GUILayout.Button(new GUIContent(_statement.SuccessorType.ToString(), "Select precursor type"), ICEEditorStyle.CMDButtonDouble))
                {
                    if (_statement.SuccessorType == TargetSuccessorType.TAG)
                    {
                        _statement.SuccessorType = 0;
                    }
                    else
                    {
                        _statement.SuccessorType++;
                    }
                }
            }
        }