using UnityEngine;

namespace NaughtyAttributes.Test
{
	public class OnValueChangedTest : MonoBehaviour
	{
		[OnValueChanged("OnValueChangedMethod1")]
		[OnValueChanged("OnValueChangedMethod2")]
		public int int0;

		private void OnValueChangedMethod1()
		{
			Debug.LogFormat("int0: {0}", int0);
		}

		private void OnValueChangedMethod2()
		{
			Debug.LogFormat("int0: {0}", int0);
		}

		public OnValueChangedNest1 nest1;
	}

	[System.Serializable]
	public class OnValueChangedNest1
	{
		[OnValueChanged("OnValueChangedMethod")]
		[AllowNesting]
		public int int1;

		private void OnValueChangedMethod()
		{
			Debug.LogFormat("int1: {0}", int1);
		}

		public OnValueChangedNest2 nest2;
	}

	[System.Serializable]
	public class OnValueChangedNest2
	{
		[OnValueChanged("OnValueChangedMethod")]
		[AllowNesting]
		public int int2;

		private void OnValueChangedMethod()
		{
			Debug.LogFormat("int2: {0}", int2);
		}
	}
}