using UnityEngine;

namespace pdinklag.CPW.Common
{
    public class AudienceSpawnArea : MonoBehaviour
    {
#if UNITY_EDITOR
        private static readonly Color ORANGE = new Color(1.0f, 0.5f, 0.0f);
#endif

        public enum Tier
        {
            Best = 0,
            Good = 1,
            Average = 2,
            Worst = 3
        }

        [Tooltip("The seat tier. Used to determine which spaces to fill first.")]
        public Tier SeatTier = Tier.Best;

#if UNITY_EDITOR
        private void OnDrawGizmos()
        {
            var x = transform.lossyScale.x * transform.right;
            var z = transform.lossyScale.z * transform.forward;

            var p1 = transform.position;
            var p2 = p1 + x;
            var p3 = p1 + x + z;
            var p4 = p1 + z;

            switch (SeatTier)
            {
                case Tier.Best:
                    Gizmos.color = Color.green;
                    break;

                case Tier.Good:
                    Gizmos.color = Color.yellow;
                    break;

                case Tier.Average:
                    Gizmos.color = ORANGE;
                    break;

                case Tier.Worst:
                    Gizmos.color = Color.red;
                    break;

                default:
                    Gizmos.color = Color.white;
                    break;
            }

            Gizmos.DrawLine(p1, p2);
            Gizmos.DrawLine(p2, p3);
            Gizmos.DrawLine(p3, p4);
            Gizmos.DrawLine(p4, p1);
        }
#endif
    }
}
