コード例 #1
0
 private static void InternalWampEventCallback(ulong SubscriptionID, string Contents)
 {
     if (WaapiEventCallbacks.ContainsKey(SubscriptionID))
     {
         WaapiEventCallbacks[SubscriptionID](SubscriptionID, Contents);
     }
     else
     {
         string Result;
         UnityEngine.Debug.Log("SubscriptionID " + SubscriptionID + " not found");
         UnsubscribeInternal(SubscriptionID, -1, out Result);
     }
 }
コード例 #2
0
    /// <summary>
    ///     Unsubscribes from a topic.
    /// </summary>
    /// <param name="SubscriptionID">Unique ID representing the subscription</param>
    /// <param name="TimeoutMs">Timeout in milliseconds to wait on the Wwise Authoring application to respond</param>
    /// <param name="Result">Result of the unsubscription attempt</param>
    /// <returns>Unsubscription success</returns>
    public static bool Unsubscribe(ulong SubscriptionID, int TimeoutMs, out string Result)
    {
        bool res = UnsubscribeInternal(SubscriptionID, TimeoutMs, out Result);

        if (res)
        {
            WaapiEventCallbacks.Remove(SubscriptionID);
        }
        return(res);
    }
コード例 #3
0
ファイル: AkWaapiClient.cs プロジェクト: Lrakulka/GGJ_2019
    /// <summary>
    ///     Disconnects from the connected Wwise Authoring application
    /// </summary>
    public static void Disconnect()
    {
        foreach (var Callback in WaapiEventCallbacks)
        {
            string Result;
            UnsubscribeInternal(Callback.Key, -1, out Result);
        }

        WaapiEventCallbacks.Clear();
        AkWaapiClient_PINVOKE.Disconnect();
    }
コード例 #4
0
ファイル: AkWaapiClient.cs プロジェクト: Lrakulka/GGJ_2019
    /// <summary>
    ///     Subscribes to a topic. See <a href="https://www.audiokinetic.com/library/edge/?source=SDK&id=waapi__subscribe.html" target="_blank">Subscribing to Topics in the Wwise Authoring API</a> for more information.
    /// </summary>
    /// <param name="Uri">Topic to subscribe to</param>
    /// <param name="Options">Elements of the Wwise objects to return</param>
    /// <param name="Callback">C# delegate to execute when subscription is triggered</param>
    /// <param name="TimeoutMs">Timeout in milliseconds to wait on the Wwise Authoring application to respond</param>
    /// <param name="SubscriptionID">Unique ID representing the subscription</param>
    /// <param name="Result">Result of the subscription attempt</param>
    /// <returns>Subscription success</returns>
    public static bool Subscribe(string Uri, string Options, WaapiEventCallback Callback, int TimeoutMs, out ulong SubscriptionID, out string Result)
    {
        int  ResultLength;
        bool res = AkWaapiClient_PINVOKE.Subscribe(Uri, Options, out SubscriptionID, TimeoutMs, out ResultLength);

        if (res)
        {
            WaapiEventCallbacks.Add(SubscriptionID, Callback);
        }
        res &= GetLastString(ResultLength, out Result);
        return(res);
    }
コード例 #5
0
 /// <summary>
 ///     Subscribes to a topic. See <a href="https://www.audiokinetic.com/library/edge/?source=SDK&id=waapi__subscribe.html" target="_blank">Subscribing to Topics in the Wwise Authoring API</a> for more information.
 /// </summary>
 /// <param name="Uri">Topic to subscribe to</param>
 /// <param name="Options">Elements of the Wwise objects to return</param>
 /// <param name="Callback">C# delegate to execute when subscription is triggered</param>
 /// <param name="SubscriptionID">Unique ID representing the subscription</param>
 /// <param name="Result">Result of the subscription attempt</param>
 /// <returns>Subscription success</returns>
 public static bool Subscribe(string Uri, string Options, WaapiEventCallback Callback, out ulong SubscriptionID, out string Result)
 {
     try
     {
         int  ResultLength;
         bool res = AkWaapiClient_PINVOKE.Subscribe(Uri, Options, out SubscriptionID, out ResultLength);
         if (res)
         {
             WaapiEventCallbacks.Add(SubscriptionID, Callback);
         }
         res &= GetLastString(ResultLength, out Result);
         return(res);
     }
     catch
     {
         SubscriptionID = 0;
         Result         = string.Empty;
         return(false);
     }
 }