/// <summary>
    /// Initializes the native function calls.
    /// </summary>
    void InitializeNativeFunctionCalls()
    {
        // Does nothing in editor mode so these functions remain null.
#if !UNITY_EDITOR
        // If the number is owned by a list, the list handles the calls to native code.
        if (null != listOwner && listIndex.HasValue && listOwner is AGSSyncableNumberList)
        {
            AGSSyncableNumberList asNumberList = listOwner as AGSSyncableNumberList;
            getNumberAsInt    = (k) => { return(asNumberList.GetValueAtIndexAsInt(listIndex.Value)); };
            getNumberAsInt64  = (k) => { return(asNumberList.GetValueAtIndexAsLong(listIndex.Value)); };
            getNumberAsDouble = (k) => { return(asNumberList.GetValueAtIndexAsDouble(listIndex.Value)); };
            getNumberAsString = (k) => { return(asNumberList.GetValueAtIndexAsString(listIndex.Value)); };
        }
        else
        {
            // Doing a single switch here keeps each individual function smaller and cleaner.
            switch (numberBehavior)
            {
            case SyncableNumberBehavior.Highest:
                getNumberAsInt    = _AmazonGCWSGetHighestNumberInt;
                getNumberAsInt64  = _AmazonGCWSGetHighestNumberInt64;
                getNumberAsDouble = _AmazonGCWSGetHighestNumberDouble;
                getNumberAsString = _AmazonGCWSGetHighestNumberString;
                break;

            case SyncableNumberBehavior.Lowest:
                getNumberAsInt    = _AmazonGCWSGetLowestNumberInt;
                getNumberAsInt64  = _AmazonGCWSGetLowestNumberInt64;
                getNumberAsDouble = _AmazonGCWSGetLowestNumberDouble;
                getNumberAsString = _AmazonGCWSGetLowestNumberString;
                break;

            case SyncableNumberBehavior.Latest:
                getNumberAsInt    = _AmazonGCWSGetLatestNumberInt;
                getNumberAsInt64  = _AmazonGCWSGetLatestNumberInt64;
                getNumberAsDouble = _AmazonGCWSGetLatestNumberDouble;
                getNumberAsString = _AmazonGCWSGetLatestNumberString;
                break;

            default:
                logUnhandledBehaviorError();
                break;
            }
        }
#endif
    }