using UnityEngine; namespace KitsuneCafe.System.Attributes { public enum LogicalOperator { And, Or } public enum ComparisonOperator { Less, Equal, LessEqual, Greater, NotEqual, GreaterEqual, } public abstract class ConditionalDisplayAttribute : PropertyAttribute { public readonly string[] Properties; public readonly LogicalOperator LogicalOperator; public readonly ComparisonOperator ComparisonOperator; public readonly object Value; public ConditionalDisplayAttribute(LogicalOperator logicalOp, ComparisonOperator compareOp, object value, params string[] properties) { LogicalOperator = logicalOp; ComparisonOperator = compareOp; Properties = properties; Value = value; } public ConditionalDisplayAttribute(LogicalOperator op, object value, string property) : this(op, ComparisonOperator.Equal, value, property) { } public ConditionalDisplayAttribute(ComparisonOperator op, object value, string property) : this(LogicalOperator.And, op, value, property) { } public ConditionalDisplayAttribute(string property, object value) : this(LogicalOperator.And, ComparisonOperator.Equal, value, property) { } } }