First commit for private source control. Older commits available on Github.
This commit is contained in:
119
Assets/Plugins/NaughtyAttributes/Scripts/Test/ShowIfTest.cs
Normal file
119
Assets/Plugins/NaughtyAttributes/Scripts/Test/ShowIfTest.cs
Normal file
@@ -0,0 +1,119 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NaughtyAttributes.Test
|
||||
{
|
||||
public class ShowIfTest : MonoBehaviour
|
||||
{
|
||||
public bool show1;
|
||||
public bool show2;
|
||||
public ShowIfEnum enum1;
|
||||
[EnumFlags] public ShowIfEnumFlag enum2;
|
||||
|
||||
[ShowIf(EConditionOperator.And, "show1", "show2")]
|
||||
[ReorderableList]
|
||||
public int[] showIfAll;
|
||||
|
||||
[ShowIf(EConditionOperator.Or, "show1", "show2")]
|
||||
[ReorderableList]
|
||||
public int[] showIfAny;
|
||||
|
||||
[ShowIf("enum1", ShowIfEnum.Case0)]
|
||||
[ReorderableList]
|
||||
public int[] showIfEnum;
|
||||
|
||||
[ShowIf("enum2", ShowIfEnumFlag.Flag0)]
|
||||
[ReorderableList]
|
||||
public int[] showIfEnumFlag;
|
||||
|
||||
[ShowIf("enum2", ShowIfEnumFlag.Flag0 | ShowIfEnumFlag.Flag1)]
|
||||
[ReorderableList]
|
||||
public int[] showIfEnumFlagMulti;
|
||||
|
||||
public ShowIfNest1 nest1;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class ShowIfNest1
|
||||
{
|
||||
public bool show1;
|
||||
public bool show2;
|
||||
public ShowIfEnum enum1;
|
||||
[EnumFlags] public ShowIfEnumFlag enum2;
|
||||
public bool Show1 { get { return show1; } }
|
||||
public bool Show2 { get { return show2; } }
|
||||
public ShowIfEnum Enum1 { get { return enum1; } }
|
||||
public ShowIfEnumFlag Enum2 { get { return enum2; } }
|
||||
|
||||
[ShowIf(EConditionOperator.And, "Show1", "Show2")]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int showIfAll;
|
||||
|
||||
[ShowIf(EConditionOperator.Or, "Show1", "Show2")]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int showIfAny;
|
||||
|
||||
[ShowIf("Enum1", ShowIfEnum.Case1)]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int showIfEnum;
|
||||
|
||||
[ShowIf("Enum2", ShowIfEnumFlag.Flag0)]
|
||||
[AllowNesting]
|
||||
public int showIfEnumFlag;
|
||||
|
||||
[ShowIf("Enum2", ShowIfEnumFlag.Flag0 | ShowIfEnumFlag.Flag1)]
|
||||
[AllowNesting]
|
||||
public int showIfEnumFlagMulti;
|
||||
|
||||
public ShowIfNest2 nest2;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class ShowIfNest2
|
||||
{
|
||||
public bool show1;
|
||||
public bool show2;
|
||||
public ShowIfEnum enum1;
|
||||
[EnumFlags] public ShowIfEnumFlag enum2;
|
||||
public bool GetShow1() { return show1; }
|
||||
public bool GetShow2() { return show2; }
|
||||
public ShowIfEnum GetEnum1() { return enum1; }
|
||||
public ShowIfEnumFlag GetEnum2() { return enum2; }
|
||||
|
||||
[ShowIf(EConditionOperator.And, "GetShow1", "GetShow2")]
|
||||
[MinMaxSlider(0.0f, 1.0f)] // AllowNesting attribute is not needed, because the field is already marked with a custom naughty property drawer
|
||||
public Vector2 showIfAll = new Vector2(0.25f, 0.75f);
|
||||
|
||||
[ShowIf(EConditionOperator.Or, "GetShow1", "GetShow2")]
|
||||
[MinMaxSlider(0.0f, 1.0f)] // AllowNesting attribute is not needed, because the field is already marked with a custom naughty property drawer
|
||||
public Vector2 showIfAny = new Vector2(0.25f, 0.75f);
|
||||
|
||||
[ShowIf("GetEnum1", ShowIfEnum.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 showIfEnum = new Vector2(0.25f, 0.75f);
|
||||
|
||||
[ShowIf("GetEnum2", ShowIfEnumFlag.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 showIfEnumFlag;
|
||||
|
||||
[ShowIf("GetEnum2", ShowIfEnumFlag.Flag0 | ShowIfEnumFlag.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 showIfEnumFlagMulti;
|
||||
}
|
||||
|
||||
public enum ShowIfEnum
|
||||
{
|
||||
Case0,
|
||||
Case1,
|
||||
Case2
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum ShowIfEnumFlag
|
||||
{
|
||||
Flag0 = 1,
|
||||
Flag1 = 2,
|
||||
Flag2 = 4,
|
||||
Flag3 = 8
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user