public static Vector3 position(this Transform transform, ExtensionUtils.Axis iaxis, float pos)
    {
        switch (iaxis)
        {
        case ExtensionUtils.Axis.AxisX:
            TransformExtensionMethods._vVec = transform.position(pos, transform.get_position().y, transform.get_position().z);
            break;

        case ExtensionUtils.Axis.AxisY:
            TransformExtensionMethods._vVec = transform.position(transform.get_position().x, pos, transform.get_position().z);
            break;

        case ExtensionUtils.Axis.AxisZ:
            TransformExtensionMethods._vVec = transform.position(transform.get_position().x, transform.get_position().y, pos);
            break;

        case ExtensionUtils.Axis.AxisAll:
            TransformExtensionMethods._vVec = transform.position(pos, pos, pos);
            break;

        default:
            TransformExtensionMethods._vVec = transform.get_position();
            break;
        }
        return(transform.position(TransformExtensionMethods._vVec));
    }
    public static Vector3 localEulerAngles(this Transform transform, ExtensionUtils.Axis iaxis, float frot)
    {
        switch (iaxis)
        {
        case ExtensionUtils.Axis.AxisX:
            TransformExtensionMethods._vVec.Set(frot, transform.get_localEulerAngles().y, transform.get_localEulerAngles().z);
            break;

        case ExtensionUtils.Axis.AxisY:
            TransformExtensionMethods._vVec.Set(transform.get_localEulerAngles().x, frot, transform.get_localEulerAngles().z);
            break;

        case ExtensionUtils.Axis.AxisZ:
            TransformExtensionMethods._vVec.Set(transform.get_localEulerAngles().x, transform.get_localEulerAngles().y, frot);
            break;

        case ExtensionUtils.Axis.AxisAll:
            TransformExtensionMethods._vVec.Set(frot, frot, frot);
            break;

        default:
            TransformExtensionMethods._vVec.Set(transform.get_localEulerAngles().x, transform.get_localEulerAngles().y, transform.get_localEulerAngles().z);
            break;
        }
        return(transform.localEulerAngles(TransformExtensionMethods._vVec));
    }
    public static Vector3 AddLocalEulerAngles(this Transform transform, ExtensionUtils.Axis iaxis, float frot)
    {
        switch (iaxis)
        {
        case ExtensionUtils.Axis.AxisX:
            TransformExtensionMethods._vVec.Set(frot, 0f, 0f);
            break;

        case ExtensionUtils.Axis.AxisY:
            TransformExtensionMethods._vVec.Set(0f, frot, 0f);
            break;

        case ExtensionUtils.Axis.AxisZ:
            TransformExtensionMethods._vVec.Set(0f, 0f, frot);
            break;

        case ExtensionUtils.Axis.AxisAll:
            TransformExtensionMethods._vVec.Set(frot, frot, frot);
            break;

        default:
            TransformExtensionMethods._vVec.Set(0f, 0f, 0f);
            break;
        }
        return(transform.AddLocalEulerAngles(TransformExtensionMethods._vVec));
    }
    public static Vector3 localScale(this Transform transform, ExtensionUtils.Axis iaxis, float scale)
    {
        switch (iaxis)
        {
        case ExtensionUtils.Axis.AxisX:
            TransformExtensionMethods._vVec.Set(scale, transform.get_localScale().y, transform.get_localScale().z);
            break;

        case ExtensionUtils.Axis.AxisY:
            TransformExtensionMethods._vVec.Set(transform.get_localScale().x, scale, transform.get_localScale().z);
            break;

        case ExtensionUtils.Axis.AxisZ:
            TransformExtensionMethods._vVec.Set(transform.get_localScale().x, transform.get_localScale().y, scale);
            break;

        case ExtensionUtils.Axis.AxisAll:
            TransformExtensionMethods._vVec.Set(scale, scale, scale);
            break;

        default:
            TransformExtensionMethods._vVec.Set(transform.get_localScale().x, transform.get_localScale().y, transform.get_localScale().z);
            break;
        }
        return(transform.localScale(TransformExtensionMethods._vVec));
    }
    public static Vector3 AddLocalScale(this Transform transform, ExtensionUtils.Axis iaxis, float fscale)
    {
        switch (iaxis)
        {
        case ExtensionUtils.Axis.AxisX:
            TransformExtensionMethods._vVec.Set(fscale, 0f, 0f);
            break;

        case ExtensionUtils.Axis.AxisY:
            TransformExtensionMethods._vVec.Set(0f, fscale, 0f);
            break;

        case ExtensionUtils.Axis.AxisZ:
            TransformExtensionMethods._vVec.Set(0f, 0f, fscale);
            break;

        case ExtensionUtils.Axis.AxisAll:
            TransformExtensionMethods._vVec.Set(fscale, fscale, fscale);
            break;

        default:
            TransformExtensionMethods._vVec = transform.get_localScale();
            break;
        }
        return(transform.AddLocalScale(TransformExtensionMethods._vVec));
    }
    public static Vector3 AddLocalPosition(this Transform transform, ExtensionUtils.Axis iaxis = ExtensionUtils.Axis.None, float pos = 0f)
    {
        switch (iaxis)
        {
        case ExtensionUtils.Axis.AxisX:
            TransformExtensionMethods._vVec.Set(pos, 0f, 0f);
            break;

        case ExtensionUtils.Axis.AxisY:
            TransformExtensionMethods._vVec.Set(0f, pos, 0f);
            break;

        case ExtensionUtils.Axis.AxisZ:
            TransformExtensionMethods._vVec.Set(0f, 0f, pos);
            break;

        case ExtensionUtils.Axis.AxisAll:
            TransformExtensionMethods._vVec.Set(pos, pos, pos);
            break;

        default:
            TransformExtensionMethods._vVec.Set(0f, 0f, 0f);
            break;
        }
        return(transform.AddLocalPosition(TransformExtensionMethods._vVec));
    }
    public static Vector3 AddPos(this Transform transform, ExtensionUtils.Axis iaxis, float pos)
    {
        switch (iaxis)
        {
        case ExtensionUtils.Axis.AxisX:
            _vVec.Set(pos, 0f, 0f);
            break;

        case ExtensionUtils.Axis.AxisY:
            _vVec.Set(0f, pos, 0f);
            break;

        case ExtensionUtils.Axis.AxisZ:
            _vVec.Set(0f, 0f, pos);
            break;

        case ExtensionUtils.Axis.AxisAll:
            _vVec.Set(pos, pos, pos);
            break;

        default:
            _vVec.Set(0f, 0f, 0f);
            break;
        }
        return(transform.AddPos(_vVec));
    }
    public static Vector3 localEulerAngles(this Transform transform, ExtensionUtils.Axis iaxis, float frot)
    {
        switch (iaxis)
        {
        case ExtensionUtils.Axis.AxisX:
        {
            Vector3 localEulerAngles8 = transform.localEulerAngles;
            float   y2 = localEulerAngles8.y;
            Vector3 localEulerAngles9 = transform.localEulerAngles;
            _vVec.Set(frot, y2, localEulerAngles9.z);
            break;
        }

        case ExtensionUtils.Axis.AxisY:
        {
            Vector3 localEulerAngles6 = transform.localEulerAngles;
            float   x3 = localEulerAngles6.x;
            Vector3 localEulerAngles7 = transform.localEulerAngles;
            _vVec.Set(x3, frot, localEulerAngles7.z);
            break;
        }

        case ExtensionUtils.Axis.AxisZ:
        {
            Vector3 localEulerAngles4 = transform.localEulerAngles;
            float   x2 = localEulerAngles4.x;
            Vector3 localEulerAngles5 = transform.localEulerAngles;
            _vVec.Set(x2, localEulerAngles5.y, frot);
            break;
        }

        case ExtensionUtils.Axis.AxisAll:
            _vVec.Set(frot, frot, frot);
            break;

        default:
        {
            Vector3 localEulerAngles = transform.localEulerAngles;
            float   x = localEulerAngles.x;
            Vector3 localEulerAngles2 = transform.localEulerAngles;
            float   y = localEulerAngles2.y;
            Vector3 localEulerAngles3 = transform.localEulerAngles;
            _vVec.Set(x, y, localEulerAngles3.z);
            break;
        }
        }
        return(transform.localEulerAngles(_vVec));
    }
    public static Vector3 localScale(this Transform transform, ExtensionUtils.Axis iaxis, float scale)
    {
        switch (iaxis)
        {
        case ExtensionUtils.Axis.AxisX:
        {
            Vector3 localScale8 = transform.localScale;
            float   y2          = localScale8.y;
            Vector3 localScale9 = transform.localScale;
            _vVec.Set(scale, y2, localScale9.z);
            break;
        }

        case ExtensionUtils.Axis.AxisY:
        {
            Vector3 localScale6 = transform.localScale;
            float   x3          = localScale6.x;
            Vector3 localScale7 = transform.localScale;
            _vVec.Set(x3, scale, localScale7.z);
            break;
        }

        case ExtensionUtils.Axis.AxisZ:
        {
            Vector3 localScale4 = transform.localScale;
            float   x2          = localScale4.x;
            Vector3 localScale5 = transform.localScale;
            _vVec.Set(x2, localScale5.y, scale);
            break;
        }

        case ExtensionUtils.Axis.AxisAll:
            _vVec.Set(scale, scale, scale);
            break;

        default:
        {
            Vector3 localScale  = transform.localScale;
            float   x           = localScale.x;
            Vector3 localScale2 = transform.localScale;
            float   y           = localScale2.y;
            Vector3 localScale3 = transform.localScale;
            _vVec.Set(x, y, localScale3.z);
            break;
        }
        }
        return(transform.localScale(_vVec));
    }
    public static Vector3 position(this Transform transform, ExtensionUtils.Axis iaxis, float pos)
    {
        switch (iaxis)
        {
        case ExtensionUtils.Axis.AxisX:
        {
            Vector3 position5 = transform.position;
            float   y         = position5.y;
            Vector3 position6 = transform.position;
            _vVec = transform.position(pos, y, position6.z);
            break;
        }

        case ExtensionUtils.Axis.AxisY:
        {
            Vector3 position3 = transform.position;
            float   x2        = position3.x;
            Vector3 position4 = transform.position;
            _vVec = transform.position(x2, pos, position4.z);
            break;
        }

        case ExtensionUtils.Axis.AxisZ:
        {
            Vector3 position  = transform.position;
            float   x         = position.x;
            Vector3 position2 = transform.position;
            _vVec = transform.position(x, position2.y, pos);
            break;
        }

        case ExtensionUtils.Axis.AxisAll:
            _vVec = transform.position(pos, pos, pos);
            break;

        default:
            _vVec = transform.position;
            break;
        }
        return(transform.position(_vVec));
    }