轨迹插件引入
This commit is contained in:
1 parent
89b5275efd
commit
195893a1b0
1023 files changed
+378944
-18404
No files matched your search
@@ -0,0 +1,293 @@
|
||||
// =====================================================================
|
||||
// Copyright 2013-2017 Fluffy Underware
|
||||
// All rights reserved
|
||||
//
|
||||
// http://www.fluffyunderware.com
|
||||
// =====================================================================
|
||||
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
namespace FluffyUnderware.DevTools
|
||||
{
|
||||
public enum DTMessageType
|
||||
{
|
||||
None = 0,
|
||||
Info = 1,
|
||||
Warning = 2,
|
||||
Error = 3,
|
||||
}
|
||||
|
||||
public enum AttributeOptionsFlags : int
|
||||
{
|
||||
None = 0,
|
||||
Compact = 1,
|
||||
Clipboard = 128,
|
||||
Zero = 256,
|
||||
One = 512,
|
||||
Negate = 1024,
|
||||
Full = 1920,
|
||||
FullCompact = 1921
|
||||
}
|
||||
|
||||
public class DTPropertyAttribute : PropertyAttribute
|
||||
{
|
||||
|
||||
public string Label;
|
||||
public string Tooltip;
|
||||
public string Color;
|
||||
public AttributeOptionsFlags Options;
|
||||
public int Precision = -1;
|
||||
|
||||
public DTPropertyAttribute(string label="", string tooltip = "")
|
||||
{
|
||||
Label = label;
|
||||
Tooltip = tooltip;
|
||||
}
|
||||
}
|
||||
|
||||
public class LabelAttribute : DTPropertyAttribute
|
||||
{
|
||||
public LabelAttribute() : base() { }
|
||||
public LabelAttribute(string label, string tooltip = "") : base(label, tooltip) { }
|
||||
}
|
||||
|
||||
public class ToggleButtonAttribute : DTPropertyAttribute
|
||||
{
|
||||
public ToggleButtonAttribute(string label = "", string tooltip = "") : base(label, tooltip)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class LayerAttribute : DTPropertyAttribute
|
||||
{
|
||||
public LayerAttribute(string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class TagAttribute : DTPropertyAttribute
|
||||
{
|
||||
public TagAttribute(string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class VectorExAttribute : DTPropertyAttribute
|
||||
{
|
||||
public VectorExAttribute(string label = "", string tooltip = "") : base(label, tooltip)
|
||||
{
|
||||
Options = AttributeOptionsFlags.Full;
|
||||
}
|
||||
}
|
||||
|
||||
public class AnimationCurveExAttribute : DTPropertyAttribute
|
||||
{
|
||||
public AnimationCurveExAttribute(string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
Options = AttributeOptionsFlags.Clipboard;
|
||||
}
|
||||
}
|
||||
|
||||
public class MinAttribute : DTPropertyAttribute
|
||||
{
|
||||
public float MinValue;
|
||||
public string MinFieldOrPropertyName;
|
||||
|
||||
public MinAttribute(float value, string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
MinValue = value;
|
||||
}
|
||||
|
||||
public MinAttribute(string fieldOrProperty, string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
MinFieldOrPropertyName = fieldOrProperty;
|
||||
}
|
||||
}
|
||||
|
||||
public class PositiveAttribute : MinAttribute
|
||||
{
|
||||
public PositiveAttribute() : base(0) { }
|
||||
}
|
||||
|
||||
public class MaxAttribute : DTPropertyAttribute
|
||||
{
|
||||
public float MaxValue;
|
||||
public string MaxFieldOrPropertyName;
|
||||
|
||||
public MaxAttribute(float value, string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
MaxValue = value;
|
||||
}
|
||||
|
||||
public MaxAttribute(string fieldOrProperty, string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
MaxFieldOrPropertyName = fieldOrProperty;
|
||||
}
|
||||
}
|
||||
|
||||
public class RangeExAttribute : DTPropertyAttribute
|
||||
{
|
||||
public float MinValue;
|
||||
public string MinFieldOrPropertyName;
|
||||
public float MaxValue;
|
||||
public string MaxFieldOrPropertyName;
|
||||
public bool Slider=true;
|
||||
|
||||
public RangeExAttribute(float minValue, float maxValue, string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
MinValue = minValue;
|
||||
MaxValue = maxValue;
|
||||
}
|
||||
|
||||
public RangeExAttribute(string minFieldOrProperty, float maxValue, string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
MinFieldOrPropertyName = minFieldOrProperty;
|
||||
MaxValue = maxValue;
|
||||
}
|
||||
|
||||
public RangeExAttribute(float minValue, string maxFieldOrProperty, string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
MinValue = minValue;
|
||||
MaxFieldOrPropertyName = maxFieldOrProperty;
|
||||
}
|
||||
|
||||
public RangeExAttribute(string minFieldOrProperty, string maxFieldOrProperty, string label = "", string tooltip = "")
|
||||
: base(label, tooltip)
|
||||
{
|
||||
MinFieldOrPropertyName = minFieldOrProperty;
|
||||
MaxFieldOrPropertyName = maxFieldOrProperty;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class MinMaxAttribute : DTPropertyAttribute
|
||||
{
|
||||
public readonly string MaxValueField;
|
||||
public float Min;
|
||||
public string MinBoundFieldOrPropertyName;
|
||||
public float Max;
|
||||
public string MaxBoundFieldOrPropertyName;
|
||||
|
||||
public MinMaxAttribute(string maxValueField, string label="", string tooltip="") : base(label, tooltip)
|
||||
{
|
||||
MaxValueField = maxValueField;
|
||||
Min = 0;
|
||||
Max = 1;
|
||||
}
|
||||
}
|
||||
|
||||
public class EnumFlagAttribute : DTPropertyAttribute
|
||||
{
|
||||
public EnumFlagAttribute(string label = "", string tooltip = "") : base(label,tooltip) { }
|
||||
}
|
||||
|
||||
public class ObjectSelectorAttribute : DTPropertyAttribute
|
||||
{
|
||||
public ObjectSelectorAttribute(string label = "", string tooltip = "") : base(label, tooltip)
|
||||
{ }
|
||||
}
|
||||
|
||||
public class PathSelectorAttribute : DTPropertyAttribute
|
||||
{
|
||||
public enum DialogMode
|
||||
{
|
||||
OpenFile,
|
||||
OpenFolder,
|
||||
CreateFile
|
||||
}
|
||||
|
||||
public readonly DialogMode Mode;
|
||||
public string Title;
|
||||
public string Directory;
|
||||
public string Extension;
|
||||
public string DefaultName;
|
||||
|
||||
public PathSelectorAttribute(DialogMode mode=DialogMode.OpenFile)
|
||||
{
|
||||
Mode = mode;
|
||||
Directory = Application.dataPath;
|
||||
}
|
||||
}
|
||||
|
||||
public class EnumSelectionGridAttribute : DTPropertyAttribute
|
||||
{
|
||||
public EnumSelectionGridAttribute(string label="",string tooltip="") : base(label,tooltip) { }
|
||||
}
|
||||
|
||||
public class DTRegionAttribute : DTPropertyAttribute
|
||||
{
|
||||
public bool RegionIsOptional;
|
||||
public string RegionOptionsPropertyName;
|
||||
public bool UseSlider=true;
|
||||
}
|
||||
|
||||
public class FloatRegionAttribute : DTRegionAttribute { }
|
||||
public class IntRegionAttribute : DTRegionAttribute { }
|
||||
|
||||
public struct RegionOptions<T>
|
||||
{
|
||||
public string LabelFrom;
|
||||
public string LabelTo;
|
||||
public string OptionalTooltip;
|
||||
public DTValueClamping ClampFrom;
|
||||
public DTValueClamping ClampTo;
|
||||
public T FromMin;
|
||||
public T FromMax;
|
||||
public T ToMin;
|
||||
public T ToMax;
|
||||
|
||||
public static RegionOptions<T> Default
|
||||
{
|
||||
get
|
||||
{
|
||||
return new RegionOptions<T>
|
||||
{
|
||||
OptionalTooltip = "Range",
|
||||
LabelFrom= "From",
|
||||
LabelTo= "To",
|
||||
ClampFrom = DTValueClamping.None,
|
||||
ClampTo = DTValueClamping.None
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public static RegionOptions<T> MinMax(T min, T max)
|
||||
{
|
||||
return new RegionOptions<T>
|
||||
{
|
||||
LabelFrom = "From",
|
||||
LabelTo = "To",
|
||||
ClampFrom = DTValueClamping.Range,
|
||||
ClampTo = DTValueClamping.Range,
|
||||
FromMin=min,
|
||||
FromMax=max,
|
||||
ToMin=min,
|
||||
ToMax=max
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public enum DTValueClamping
|
||||
{
|
||||
None = 0,
|
||||
Min = 1,
|
||||
Max = 2,
|
||||
Range = 3
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user