FMOD.Studio.EventInstance.getUserData C# (CSharp) Method

getUserData() public method

public getUserData ( IntPtr &userData ) : RESULT
userData System.IntPtr
return RESULT
        public RESULT getUserData(out IntPtr userData)
        {
            return FMOD_Studio_EventInstance_GetUserData(rawPtr, out userData);
        }
        public RESULT setUserData(IntPtr userData)

Usage Example

Beispiel #1
0
    static FMOD.RESULT BeatEventCallback(FMOD.Studio.EVENT_CALLBACK_TYPE type, FMOD.Studio.EventInstance instance, IntPtr parameterPtr)
    {
        // Retrieve the user data
        IntPtr timelineInfoPtr;

        FMOD.RESULT result = instance.getUserData(out timelineInfoPtr);
        if (result != FMOD.RESULT.OK)
        {
            UnityEngine.Debug.LogError("Timeline Callback error: " + result);
        }
        else if (timelineInfoPtr != IntPtr.Zero)
        {
            // Get the object to store beat and marker details
            GCHandle     timelineHandle = GCHandle.FromIntPtr(timelineInfoPtr);
            TimelineInfo timelineInfo   = (TimelineInfo)timelineHandle.Target;

            switch (type)
            {
            case FMOD.Studio.EVENT_CALLBACK_TYPE.TIMELINE_BEAT:
            {
                var parameter = (FMOD.Studio.TIMELINE_BEAT_PROPERTIES)Marshal.PtrToStructure(parameterPtr, typeof(FMOD.Studio.TIMELINE_BEAT_PROPERTIES));
                timelineInfo.currentMusicBeat = parameter.beat;
            }
            break;

            case FMOD.Studio.EVENT_CALLBACK_TYPE.TIMELINE_MARKER:
            {
                var parameter = (FMOD.Studio.TIMELINE_MARKER_PROPERTIES)Marshal.PtrToStructure(parameterPtr, typeof(FMOD.Studio.TIMELINE_MARKER_PROPERTIES));
                timelineInfo.lastMarker = parameter.name;
            }
            break;
            }
        }
        return(FMOD.RESULT.OK);
    }
All Usage Examples Of FMOD.Studio.EventInstance::getUserData
EventInstance