private static object GetDefaultValue(Type type, NodeFieldBaseAttribute att) { if (att.DefaultValue != null) { if ((BehaviorTreeArgsDict.IsEnumType(type) && BTEnvKey.None != att.DefaultValue.ToString()) || !BehaviorTreeArgsDict.IsEnumType(type)) { return(att.DefaultValue); } } object value = null; if (BehaviorTreeArgsDict.IsDoubleType(type)) { value = default(double); } else if (BehaviorTreeArgsDict.IsStringType(type)) { value = default(string); } else if (BehaviorTreeArgsDict.IsFloatType(type)) { value = default(float); } else if (BehaviorTreeArgsDict.IsBoolType(type)) { value = default(bool); } else if (BehaviorTreeArgsDict.IsIntType(type)) { value = default(int); } else if (BehaviorTreeArgsDict.IsLongType(type)) { value = default(long); } else if (BehaviorTreeArgsDict.IsIntArrType(type)) { value = default(int[]); } else if (BehaviorTreeArgsDict.IsLongArrType(type)) { value = default(long[]); } else if (BehaviorTreeArgsDict.IsDoubleArrType(type)) { value = default(double[]); } else if (BehaviorTreeArgsDict.IsFloatArrType(type)) { value = default(float[]); } else if (BehaviorTreeArgsDict.IsStringArrType(type)) { value = default(string[]); } else if (BehaviorTreeArgsDict.IsObjectType(type)) { value = default(Object); } else if (BehaviorTreeArgsDict.IsEnumType(type)) { Array array = Enum.GetValues(type); value = array.GetValue(0).ToString(); } else if (BehaviorTreeArgsDict.IsUnitConfigArrayType(type)) { } else if (BehaviorTreeArgsDict.IsSpriteArrayType(type)) { value = default(Sprite[]); } else if (BehaviorTreeArgsDict.IsObjectArrayType(type)) { value = default(Object[]); } else if (BehaviorTreeArgsDict.IsConvertble(type)) { value = 1f; } else { Log.Error($"行为树节点暂时未支持此类型:{type}!"); return(null); } return(value); }