using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class ColliderTypeAttribute : Attribute { public ColliderTypeAttribute(ColliderBox.EColliderType type) { this.type = type; } public ColliderBox.EColliderType type; } public class IfAttribute : Attribute { public IfAttribute(string name) { this.conditionName = name; } public string conditionName; } public class IfNotAttribute : Attribute { public IfNotAttribute(string name) { this.conditionName = name; } public string conditionName; } public class WhenAttribute : Attribute { public WhenAttribute(string name, object value) { this.conditionName = name; this.value = (int)value; } public WhenAttribute(string name, params object[] values) { this.conditionName = name; this.values = new List(); foreach(var v in values) { this.values.Add((float)v); } } public bool IsSatisfied(float v) { if (values != null) return values.Contains(v); return value == v; } public string conditionName; public float value; public List values; } public class AndWhenAttribute : Attribute { public AndWhenAttribute(string name, object value) { this.conditionName = name; this.value = (int)value; } public AndWhenAttribute(string name, params object[] values) { this.conditionName = name; this.values = new List(); foreach (var v in values) { this.values.Add((float)v); } } public bool IsSatisfied(float v) { if (values != null) return values.Contains(v); return value == v; } public string conditionName; public float value; public List values; } public class WhenNotAttribute : Attribute { public WhenNotAttribute(string name, float value) { this.conditionName = name; } public string conditionName; public float value; } public class CommentAttribute : Attribute { public CommentAttribute(string comment, TextAnchor alignment = TextAnchor.MiddleLeft) { this.comment = comment; this.alignment = alignment; } public string comment; public TextAnchor alignment; } public class FoldoutAttribute : Attribute { public FoldoutAttribute(string title, int count) { this.title = title; this.count = count; } public string title; public int count; // 下面的元素的个数 } public class HDRAttribute : Attribute { }