﻿using System;
using UnityEngine;

namespace pdinklag.CPW.Common
{
    public static class AxisExtensions
    {
        public static Vector3 Get(this Axis axis)
        {
            switch (axis)
            {
                case Axis.Forward: return Vector3.forward;
                case Axis.Back: return Vector3.back;
                case Axis.Right: return Vector3.right;
                case Axis.Left: return Vector3.left;
                case Axis.Up: return Vector3.up;
                case Axis.Down: return Vector3.down;
                default: throw new ArgumentException("invalid axis: " + axis);
            }
        }

        public static Vector3 For(this Axis axis, Transform xform)
        {
            switch (axis)
            {
                case Axis.Forward: return xform.forward;
                case Axis.Back: return -xform.forward;
                case Axis.Right: return xform.right;
                case Axis.Left: return -xform.right;
                case Axis.Up: return xform.up;
                case Axis.Down: return -xform.up;
                default: throw new ArgumentException("invalid axis: " + axis);
            }
        }
    }
}
