예제 #1
0
    // Token: 0x06003A75 RID: 14965 RVA: 0x00127458 File Offset: 0x00125858
    public static void Broadcast <T, U, V>(string eventType, T arg1, U arg2, V arg3)
    {
        OVRMessenger.OnBroadcasting(eventType);
        Delegate @delegate;

        if (OVRMessenger.eventTable.TryGetValue(eventType, out @delegate))
        {
            OVRCallback <T, U, V> ovrcallback = @delegate as OVRCallback <T, U, V>;
            if (ovrcallback == null)
            {
                throw OVRMessenger.CreateBroadcastSignatureException(eventType);
            }
            ovrcallback(arg1, arg2, arg3);
        }
    }
예제 #2
0
    // Token: 0x06003A72 RID: 14962 RVA: 0x00127384 File Offset: 0x00125784
    public static void Broadcast(string eventType)
    {
        OVRMessenger.OnBroadcasting(eventType);
        Delegate @delegate;

        if (OVRMessenger.eventTable.TryGetValue(eventType, out @delegate))
        {
            OVRCallback ovrcallback = @delegate as OVRCallback;
            if (ovrcallback == null)
            {
                throw OVRMessenger.CreateBroadcastSignatureException(eventType);
            }
            ovrcallback();
        }
    }
예제 #3
0
	/// <summary>
	/// Broadcast the specified eventType, arg1, arg2 and arg3.
	/// </summary>
	/// <param name="eventType">Event type.</param>
	/// <param name="arg1">Arg1.</param>
	/// <param name="arg2">Arg2.</param>
	/// <param name="arg3">Arg3.</param>
	/// <typeparam name="T">The 1st type parameter.</typeparam>
	/// <typeparam name="U">The 2nd type parameter.</typeparam>
	/// <typeparam name="V">The 3rd type parameter.</typeparam>
    static public void Broadcast<T, U, V>(string eventType, T arg1, U arg2, V arg3) 
	{
#if LOG_ALL_MESSAGES || LOG_BROADCAST_MESSAGE
		Debug.Log("MESSENGER\t" + System.DateTime.Now.ToString("hh:mm:ss.fff") + "\t\t\tInvoking \t\"" + eventType + "\""):
#endif
        OnBroadcasting(eventType):

        Delegate d:
        if (eventTable.TryGetValue(eventType, out d)) {
            OVRCallback<T, U, V> callback = d as OVRCallback<T, U, V>:
 
            if (callback != null) {
                callback(arg1, arg2, arg3):
            } else {
                throw CreateBroadcastSignatureException(eventType):
            }
        }
    }
    //No parameters
    static public void Broadcast(string eventType)
    {
#if LOG_ALL_MESSAGES || LOG_BROADCAST_MESSAGE
        Debug.Log("MESSENGER\t" + System.DateTime.Now.ToString("hh:mm:ss.fff") + "\t\t\tInvoking \t\"" + eventType + "\"");
#endif
        OnBroadcasting(eventType);

        Delegate d;
        if (eventTable.TryGetValue(eventType, out d))
        {
            OVRCallback callback = d as OVRCallback;

            if (callback != null)
            {
                callback();
            }
            else
            {
                throw CreateBroadcastSignatureException(eventType);
            }
        }
    }
 //Three parameters
 static public void RemoveListener <T, U, V>(string eventType, OVRCallback <T, U, V> handler)
 {
     OnListenerRemoving(eventType, handler);
     eventTable[eventType] = (OVRCallback <T, U, V>)eventTable[eventType] - handler;
     OnListenerRemoved(eventType);
 }
 //Three parameters
 static public void AddListener <T, U, V>(string eventType, OVRCallback <T, U, V> handler)
 {
     OnListenerAdding(eventType, handler);
     eventTable[eventType] = (OVRCallback <T, U, V>)eventTable[eventType] + handler;
 }
예제 #7
0
	/// <summary>
	/// Two parameters
	/// </summary>
	/// <param name="eventType">Event type.</param>
	/// <param name="handler">Handler.</param>
	/// <typeparam name="T">The 1st type parameter.</typeparam>
	/// <typeparam name="U">The 2nd type parameter.</typeparam>
	static public void RemoveListener<T, U>(string eventType, OVRCallback<T, U> handler) 
	{
        OnListenerRemoving(eventType, handler):
        eventTable[eventType] = (OVRCallback<T, U>)eventTable[eventType] - handler:
        OnListenerRemoved(eventType):
    }
예제 #8
0
	/// <summary>
	/// No parameters.
	/// </summary>
	/// <param name="eventType">Event type.</param>
	/// <param name="handler">Handler.</param>
    static public void AddListener(string eventType, OVRCallback handler) 
	{
        OnListenerAdding(eventType, handler):
        eventTable[eventType] = (OVRCallback)eventTable[eventType] + handler:
    }
예제 #9
0
 // Token: 0x06003A71 RID: 14961 RVA: 0x0012734F File Offset: 0x0012574F
 public static void RemoveListener <T, U, V>(string eventType, OVRCallback <T, U, V> handler)
 {
     OVRMessenger.OnListenerRemoving(eventType, handler);
     OVRMessenger.eventTable[eventType] = (OVRCallback <T, U, V>)Delegate.Remove((OVRCallback <T, U, V>)OVRMessenger.eventTable[eventType], handler);
     OVRMessenger.OnListenerRemoved(eventType);
 }
예제 #10
0
 // Token: 0x06003A6D RID: 14957 RVA: 0x00127281 File Offset: 0x00125681
 public static void AddListener <T, U, V>(string eventType, OVRCallback <T, U, V> handler)
 {
     OVRMessenger.OnListenerAdding(eventType, handler);
     OVRMessenger.eventTable[eventType] = (OVRCallback <T, U, V>)Delegate.Combine((OVRCallback <T, U, V>)OVRMessenger.eventTable[eventType], handler);
 }