First commit for private source control. Older commits available on Github.
This commit is contained in:
120
Assets/Plugins/NaughtyAttributes/Scripts/Test/DisableIfTest.cs
Normal file
120
Assets/Plugins/NaughtyAttributes/Scripts/Test/DisableIfTest.cs
Normal file
@@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NaughtyAttributes.Test
|
||||
{
|
||||
public class DisableIfTest : MonoBehaviour
|
||||
{
|
||||
public bool disable1;
|
||||
public bool disable2;
|
||||
public DisableIfEnum enum1;
|
||||
[EnumFlags] public DisableIfEnumFlag enum2;
|
||||
|
||||
[DisableIf(EConditionOperator.And, "disable1", "disable2")]
|
||||
[ReorderableList]
|
||||
public int[] disableIfAll;
|
||||
|
||||
[DisableIf(EConditionOperator.Or, "disable1", "disable2")]
|
||||
[ReorderableList]
|
||||
public int[] disableIfAny;
|
||||
|
||||
[DisableIf("enum1", DisableIfEnum.Case0)]
|
||||
[ReorderableList]
|
||||
public int[] disableIfEnum;
|
||||
|
||||
[DisableIf("enum2", DisableIfEnumFlag.Flag0)]
|
||||
[ReorderableList]
|
||||
public int[] disableIfEnumFlag;
|
||||
|
||||
[DisableIf("enum2", DisableIfEnumFlag.Flag0 | DisableIfEnumFlag.Flag1)]
|
||||
[ReorderableList]
|
||||
public int[] disableIfEnumFlagMulti;
|
||||
|
||||
public DisableIfNest1 nest1;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class DisableIfNest1
|
||||
{
|
||||
public bool disable1;
|
||||
public bool disable2;
|
||||
public DisableIfEnum enum1;
|
||||
[EnumFlags] public DisableIfEnumFlag enum2;
|
||||
public bool Disable1 { get { return disable1; } }
|
||||
public bool Disable2 { get { return disable2; } }
|
||||
public DisableIfEnum Enum1 { get { return enum1; } }
|
||||
public DisableIfEnumFlag Enum2 { get { return enum2; } }
|
||||
|
||||
[DisableIf(EConditionOperator.And, "Disable1", "Disable2")]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int disableIfAll = 1;
|
||||
|
||||
[DisableIf(EConditionOperator.Or, "Disable1", "Disable2")]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int disableIfAny = 2;
|
||||
|
||||
[DisableIf("Enum1", DisableIfEnum.Case1)]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int disableIfEnum = 3;
|
||||
|
||||
[DisableIf("Enum2", DisableIfEnumFlag.Flag0)]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int disableIfEnumFlag;
|
||||
|
||||
[DisableIf("Enum2", DisableIfEnumFlag.Flag0 | DisableIfEnumFlag.Flag1)]
|
||||
[AllowNesting] // Because it's nested we need to explicitly allow nesting
|
||||
public int disableIfEnumFlagMulti;
|
||||
|
||||
public DisableIfNest2 nest2;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class DisableIfNest2
|
||||
{
|
||||
public bool disable1;
|
||||
public bool disable2;
|
||||
public DisableIfEnum enum1;
|
||||
[EnumFlags] public DisableIfEnumFlag enum2;
|
||||
public bool GetDisable1() { return disable1; }
|
||||
public bool GetDisable2() { return disable2; }
|
||||
public DisableIfEnum GetEnum1() { return enum1; }
|
||||
public DisableIfEnumFlag GetEnum2() { return enum2; }
|
||||
|
||||
[DisableIf(EConditionOperator.And, "GetDisable1", "GetDisable2")]
|
||||
[MinMaxSlider(0.0f, 1.0f)] // AllowNesting attribute is not needed, because the field is already marked with a custom naughty property drawer
|
||||
public Vector2 enableIfAll = new Vector2(0.25f, 0.75f);
|
||||
|
||||
[DisableIf(EConditionOperator.Or, "GetDisable1", "GetDisable2")]
|
||||
[MinMaxSlider(0.0f, 1.0f)] // AllowNesting attribute is not needed, because the field is already marked with a custom naughty property drawer
|
||||
public Vector2 enableIfAny = new Vector2(0.25f, 0.75f);
|
||||
|
||||
[DisableIf("GetEnum1", DisableIfEnum.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 enableIfEnum = new Vector2(0.25f, 0.75f);
|
||||
|
||||
[DisableIf("GetEnum2", DisableIfEnumFlag.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 disableIfEnumFlag;
|
||||
|
||||
[DisableIf("GetEnum2", DisableIfEnumFlag.Flag0 | DisableIfEnumFlag.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 disableIfEnumFlagMulti;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public enum DisableIfEnum
|
||||
{
|
||||
Case0,
|
||||
Case1,
|
||||
Case2
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum DisableIfEnumFlag
|
||||
{
|
||||
Flag0 = 1,
|
||||
Flag1 = 2,
|
||||
Flag2 = 4,
|
||||
Flag3 = 8
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user