First commit for private source control. Older commits available on Github.
This commit is contained in:
119
Assets/Plugins/NaughtyAttributes/Scripts/Test/HideIfTest.cs
Normal file
119
Assets/Plugins/NaughtyAttributes/Scripts/Test/HideIfTest.cs
Normal file
@@ -0,0 +1,119 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NaughtyAttributes.Test
|
||||
{
|
||||
public class HideIfTest : MonoBehaviour
|
||||
{
|
||||
public bool hide1;
|
||||
public bool hide2;
|
||||
public HideIfEnum enum1;
|
||||
[EnumFlags] public HideIfEnumFlag enum2;
|
||||
|
||||
[HideIf(EConditionOperator.And, "hide1", "hide2")]
|
||||
[ReorderableList]
|
||||
public int[] hideIfAll;
|
||||
|
||||
[HideIf(EConditionOperator.Or, "hide1", "hide2")]
|
||||
[ReorderableList]
|
||||
public int[] hideIfAny;
|
||||
|
||||
[HideIf("enum1", HideIfEnum.Case0)]
|
||||
[ReorderableList]
|
||||
public int[] hideIfEnum;
|
||||
|
||||
[HideIf("enum2", HideIfEnumFlag.Flag0)]
|
||||
[ReorderableList]
|
||||
public int[] hideIfEnumFlag;
|
||||
|
||||
[HideIf("enum2", HideIfEnumFlag.Flag0 | HideIfEnumFlag.Flag1)]
|
||||
[ReorderableList]
|
||||
public int[] hideIfEnumFlagMulti;
|
||||
|
||||
public HideIfNest1 nest1;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class HideIfNest1
|
||||
{
|
||||
public bool hide1;
|
||||
public bool hide2;
|
||||
public HideIfEnum enum1;
|
||||
[EnumFlags] public HideIfEnumFlag enum2;
|
||||
public bool Hide1 { get { return hide1; } }
|
||||
public bool Hide2 { get { return hide2; } }
|
||||
public HideIfEnum Enum1 { get { return enum1; } }
|
||||
public HideIfEnumFlag Enum2 { get { return enum2; } }
|
||||
|
||||
[HideIf(EConditionOperator.And, "Hide1", "Hide2")]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int hideIfAll;
|
||||
|
||||
[HideIf(EConditionOperator.Or, "Hide1", "Hide2")]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int hideIfAny;
|
||||
|
||||
[HideIf("Enum1", HideIfEnum.Case1)]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int hideIfEnum;
|
||||
|
||||
[HideIf("Enum2", HideIfEnumFlag.Flag0)]
|
||||
[AllowNesting]
|
||||
public int hideIfEnumFlag;
|
||||
|
||||
[HideIf("Enum2", HideIfEnumFlag.Flag0 | HideIfEnumFlag.Flag1)]
|
||||
[AllowNesting]
|
||||
public int hideIfEnumFlagMulti;
|
||||
|
||||
public HideIfNest2 nest2;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class HideIfNest2
|
||||
{
|
||||
public bool hide1;
|
||||
public bool hide2;
|
||||
public HideIfEnum enum1;
|
||||
[EnumFlags] public HideIfEnumFlag enum2;
|
||||
public bool GetHide1() { return hide1; }
|
||||
public bool GetHide2() { return hide2; }
|
||||
public HideIfEnum GetEnum1() { return enum1; }
|
||||
public HideIfEnumFlag GetEnum2() { return enum2; }
|
||||
|
||||
[HideIf(EConditionOperator.And, "GetHide1", "GetHide2")]
|
||||
[MinMaxSlider(0.0f, 1.0f)] // AllowNesting attribute is not needed, because the field is already marked with a custom naughty property drawer
|
||||
public Vector2 hideIfAll = new Vector2(0.25f, 0.75f);
|
||||
|
||||
[HideIf(EConditionOperator.Or, "GetHide1", "GetHide2")]
|
||||
[MinMaxSlider(0.0f, 1.0f)] // AllowNesting attribute is not needed, because the field is already marked with a custom naughty property drawer
|
||||
public Vector2 hideIfAny = new Vector2(0.25f, 0.75f);
|
||||
|
||||
[HideIf("GetEnum1", HideIfEnum.Case2)]
|
||||
[MinMaxSlider(0.0f, 1.0f)] // AllowNesting attribute is not needed, because the field is already marked with a custom naughty property drawer
|
||||
public Vector2 hideIfEnum = new Vector2(0.25f, 0.75f);
|
||||
|
||||
[HideIf("GetEnum2", HideIfEnumFlag.Flag0)]
|
||||
[MinMaxSlider(0.0f, 1.0f)] // AllowNesting attribute is not needed, because the field is already marked with a custom naughty property drawer
|
||||
public Vector2 hideIfEnumFlag;
|
||||
|
||||
[HideIf("GetEnum2", HideIfEnumFlag.Flag0 | HideIfEnumFlag.Flag1)]
|
||||
[MinMaxSlider(0.0f, 1.0f)] // AllowNesting attribute is not needed, because the field is already marked with a custom naughty property drawer
|
||||
public Vector2 hideIfEnumFlagMulti;
|
||||
}
|
||||
|
||||
public enum HideIfEnum
|
||||
{
|
||||
Case0,
|
||||
Case1,
|
||||
Case2
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum HideIfEnumFlag
|
||||
{
|
||||
Flag0 = 1,
|
||||
Flag1 = 2,
|
||||
Flag2 = 4,
|
||||
Flag3 = 8
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user