private void loadTaskIcon()
        {
            Texture2D _icon = null;
            if (m_EditorNode.m_Node.m_IsAcitonNode)
            {
                _icon = BTreeEditorUtility.LoadTexture("ActionIcon.png");
            }
            else
            {
                Type type = m_EditorNode.m_Node.GetType();
                if (type == typeof(BTreeNodePrioritySelector))
                {
                    _icon = BTreeEditorUtility.PrioritySelectorIcon;
                }
                else if (type == typeof(BTreeNodeNonePrioritySelector))
                {
                    _icon = BTreeEditorUtility.PrioritySelectorIcon;
                }
                else if (type == typeof(BTreeNodeSequence))
                {
                    _icon = BTreeEditorUtility.SequenceIcon;

                }
                else if (type == typeof(BTreeNodeParallel))
                {
                    _icon = BTreeEditorUtility.ParallelSelectorIcon;
                }
                else
                {
                    _icon = BTreeEditorUtility.InverterIcon;
                }
            }
            m_Icon = _icon;
        }
Exemple #2
0
 void DrawValue(BTreeNode _node, FieldInfo _field)
 {
     if (_field == null)
     {
         return;
     }
     try
     {
         GUILayout.BeginHorizontal();
         EditorGUILayout.LabelField(BTreeEditorUtility.SplitCamelCase(_field.Name) + ":", new GUILayoutOption[] { GUILayout.Width(100) });
         if (_field.FieldType == typeof(int))
         {
             var _val = EditorGUILayout.IntField((int)(_field.GetValue(_node)));
             _field.SetValue(_node, _val);
         }
         else if (_field.FieldType == typeof(float))
         {
             var _val = EditorGUILayout.FloatField((float)(_field.GetValue(_node)));
             _field.SetValue(_node, _val);
         }
         else if (_field.FieldType == typeof(double))
         {
             var _val = EditorGUILayout.DoubleField((float)(_field.GetValue(_node)));
             _field.SetValue(_node, _val);
         }
         else if (_field.FieldType == typeof(string))
         {
             var _val = EditorGUILayout.TextField((string)(_field.GetValue(_node)));
             _field.SetValue(_node, _val);
         }
         else if (_field.FieldType.IsEnum)
         {
             var _val = EditorGUILayout.EnumPopup((Enum)(_field.GetValue(_node)));
             _field.SetValue(_node, _val);
         }
         else if (_field.FieldType == typeof(Vector2))
         {
             var _val = EditorGUILayout.Vector2Field("", (Vector2)(_field.GetValue(_node)));
             _field.SetValue(_node, _val);
         }
         else if (_field.FieldType == typeof(Vector3))
         {
             var _val = EditorGUILayout.Vector3Field("", (Vector3)(_field.GetValue(_node)));
             _field.SetValue(_node, _val);
         }
         else if (_field.FieldType == typeof(Vector4))
         {
             var _val = EditorGUILayout.Vector4Field("", (Vector4)(_field.GetValue(_node)));
             _field.SetValue(_node, _val);
         }
         GUILayout.EndHorizontal();
     }
     catch (Exception e)
     {
         Debugger.LogWarning(e.Message);
     }
 }