internal void MoveDoubleCharacterToLocations(AnimationObject firstTarget, AnimationLocation firstDestination, AnimationObject secondTarget, AnimationLocation secondDestination)
    {
        //Set our values used for actual movement.
        //Set reference start position.
        movementStartPosition = startingLocation.transform.position;

        //Set the first target.
        switch (firstTarget)
        {
        case AnimationObject.Player:
            objectTarget1 = playerObject;
            break;

        case AnimationObject.AI1:
            objectTarget1 = AI1Object;
            break;

        case AnimationObject.AI2:
            objectTarget1 = AI2Object;
            break;

        case AnimationObject.AI3:
            objectTarget1 = AI3Object;
            break;

        default:
            Debug.Log("Animation controller attempting to move a non-existent object.");
            break;
        }

        //Set the first destination.
        switch (firstDestination)
        {
        case AnimationLocation.Pump:
            destination1 = pumpLocation;
            break;

        case AnimationLocation.PlayerLocation:
            destination1 = playerLocation;
            break;

        case AnimationLocation.AI1Location:
            destination1 = AI1Location;
            break;

        case AnimationLocation.AI2Location:
            destination1 = AI2Location;
            break;

        case AnimationLocation.AI3Location:
            destination1 = AI3Location;
            break;

        case AnimationLocation.StartingLocation:
            destination1 = startingLocation;
            break;

        default:
            Debug.Log("Animation controller attempting to move to a non-existent location.");
            break;
        }

        //Set the second target.
        switch (secondTarget)
        {
        case AnimationObject.Player:
            objectTarget2 = playerObject;
            break;

        case AnimationObject.AI1:
            objectTarget2 = AI1Object;
            break;

        case AnimationObject.AI2:
            objectTarget2 = AI2Object;
            break;

        case AnimationObject.AI3:
            objectTarget2 = AI3Object;
            break;

        default:
            Debug.Log("Animation controller attempting to move a non-existent object.");
            break;
        }

        //Set the second destination.
        switch (secondDestination)
        {
        case AnimationLocation.Pump:
            destination2 = pumpLocation;
            break;

        case AnimationLocation.PlayerLocation:
            destination2 = playerLocation;
            break;

        case AnimationLocation.AI1Location:
            destination2 = AI1Location;
            break;

        case AnimationLocation.AI2Location:
            destination2 = AI2Location;
            break;

        case AnimationLocation.AI3Location:
            destination2 = AI3Location;
            break;

        case AnimationLocation.StartingLocation:
            destination2 = startingLocation;
            break;

        default:
            Debug.Log("Animation controller attempting to move to a non-existent location.");
            break;
        }

        //Set the controller to do a duo movement.
        movementStartTime = Time.time;
        currentState      = AnimationState.DuoMovement1;
    }
    internal void MoveSingleCharacterToLocation(AnimationObject objectTarget, AnimationLocation targetLocation)
    {
        //Set our values used for actual movement.
        //Set reference start position.
        movementStartPosition = startingLocation.transform.position;

        //Set the target.
        switch (objectTarget)
        {
        case AnimationObject.Player:
            objectTarget1 = playerObject;
            break;

        case AnimationObject.AI1:
            objectTarget1 = AI1Object;
            break;

        case AnimationObject.AI2:
            objectTarget1 = AI2Object;
            break;

        case AnimationObject.AI3:
            objectTarget1 = AI3Object;
            break;

        default:
            Debug.Log("Animation controller attempting to move a non-existent object.");
            break;
        }

        //Set the destination.
        switch (targetLocation)
        {
        case AnimationLocation.Pump:
            destination1 = pumpLocation;
            break;

        case AnimationLocation.PlayerLocation:
            destination1 = playerLocation;
            break;

        case AnimationLocation.AI1Location:
            destination1 = AI1Location;
            break;

        case AnimationLocation.AI2Location:
            destination1 = AI2Location;
            break;

        case AnimationLocation.AI3Location:
            destination1 = AI3Location;
            break;

        case AnimationLocation.StartingLocation:
            destination1 = startingLocation;
            break;

        default:
            Debug.Log("Animation controller attempting to move to a non-existent location.");
            break;
        }

        //Set the controller to do a single movement.
        movementStartTime = Time.time;
        currentState      = AnimationState.SingleMovement1;
    }