//Deal with slowing down
    public void ChangeMovementState(EnumDefinitions.MovementState state)
    {
        if (state == currMovementState)
        {
            return;
        }

        switch (state)
        {
        case EnumDefinitions.MovementState.Slow:
            currMovementSpeed = slowMovementSpeed;
            break;

        case EnumDefinitions.MovementState.Regular:
            currMovementSpeed = regMovementSpeed;
            break;

        case EnumDefinitions.MovementState.Fast:
            currMovementSpeed = fastMovementSpeed;
            break;
        }
        prevMovementState = currMovementState;
        currMovementState = state;
    }
    private void Awake()
    {
        currMovementState = EnumDefinitions.MovementState.Regular;

        prevPos = curPos = Vector3.zero;
    }