예제 #1
0
 protected void UnregisterTriggers(List <int> in_triggerList, AkTriggerBase.Trigger in_delegate)
 {
     using (List <int> .Enumerator enumerator = in_triggerList.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             uint   current = (uint)enumerator.get_Current();
             string empty   = string.Empty;
             if (AkUnityEventHandler.triggerTypes.TryGetValue(current, ref empty))
             {
                 if (!(empty == "Awake") && !(empty == "Start") && !(empty == "Destroy"))
                 {
                     AkTriggerBase akTriggerBase = (AkTriggerBase)base.GetComponent(UtilityPlugin.GetType(empty));
                     if (akTriggerBase != null)
                     {
                         AkTriggerBase expr_80 = akTriggerBase;
                         expr_80.triggerDelegate = (AkTriggerBase.Trigger)Delegate.Remove(expr_80.triggerDelegate, in_delegate);
                         if (akTriggerBase.triggerDelegate == null)
                         {
                             Object.Destroy(akTriggerBase);
                         }
                     }
                 }
             }
         }
     }
 }
예제 #2
0
    protected void UnregisterTriggers(List <int> in_triggerList, AkTriggerBase.Trigger in_delegate)
    {
        //Unregister all the triggers and delete them if no one else is registered to them
        foreach (uint triggerID in in_triggerList)
        {
            string triggerName = string.Empty;
            if (triggerTypes.TryGetValue(triggerID, out triggerName) != false)
            {
                // These special triggers are handled differently
                if (triggerName == "Awake" || triggerName == "Start" || triggerName == "Destroy")
                {
                    continue;
                }

                AkTriggerBase trigger = (AkTriggerBase)GetComponent(Type.GetType(triggerName));

                if (trigger != null)
                {
                    trigger.triggerDelegate -= in_delegate;

                    if (trigger.triggerDelegate == null)
                    {
                        Destroy(trigger);
                    }
                }
            }
        }
    }
예제 #3
0
 protected void RegisterTriggers(List <int> in_triggerList, AkTriggerBase.Trigger in_delegate)
 {
     foreach (uint num in in_triggerList)
     {
         string str = string.Empty;
         if (((triggerTypes.TryGetValue(num, out str) && (str != "Awake")) && (str != "Start")) && (str != "Destroy"))
         {
             AkTriggerBase component = (AkTriggerBase)base.GetComponent(UtilityPlugin.GetType(str));
             if (component == null)
             {
                 component = (AkTriggerBase)base.gameObject.AddComponent(UtilityPlugin.GetType(str));
             }
             component.triggerDelegate = (AkTriggerBase.Trigger)Delegate.Combine(component.triggerDelegate, in_delegate);
         }
     }
 }
예제 #4
0
    public void Init(UnityEditor.SerializedObject in_serializedObject, string in_listName = "triggerList",
                     string in_label = "Trigger On: ", bool in_showUseOtherToggle = true)
    {
        m_label = in_label;
        m_showUseOtherToggle = in_showUseOtherToggle;

        m_triggerList    = in_serializedObject.FindProperty(in_listName);
        m_useOtherObject = in_serializedObject.FindProperty("useOtherObject");

        //Get the updated list of all triggers
        if (m_triggerTypes == null)
        {
            m_triggerTypes     = AkTriggerBase.GetAllDerivedTypes();
            m_triggerTypeNames = new string[m_triggerTypes.Count];
            m_triggerTypes.Values.CopyTo(m_triggerTypeNames, 0);
            m_triggerTypeIDs = new uint[m_triggerTypes.Count];
            m_triggerTypes.Keys.CopyTo(m_triggerTypeIDs, 0);
        }
    }
예제 #5
0
    protected void RegisterTriggers(List <int> in_triggerList, AkTriggerBase.Trigger in_delegate)
    {
        //Register to the appropriate triggers
        foreach (uint triggerID in in_triggerList)
        {
            string triggerName = string.Empty;
            if (triggerTypes.TryGetValue(triggerID, out triggerName) != false)
            {
                // These special triggers are handled differently
                if (triggerName == "Awake" || triggerName == "Start" || triggerName == "Destroy")
                {
                    continue;
                }

                AkTriggerBase trigger = (AkTriggerBase)GetComponent(Type.GetType(triggerName));
                if (trigger == null)
                {
                    trigger = (AkTriggerBase)gameObject.AddComponent(Type.GetType(triggerName));
                }

                trigger.triggerDelegate += in_delegate;
            }
        }
    }
    protected void RegisterTriggers(List<int> in_triggerList, AkTriggerBase.Trigger in_delegate)
    {
        //Register to the appropriate triggers
        foreach(uint triggerID in in_triggerList)
        {
            string triggerName = string.Empty;
            if (triggerTypes.TryGetValue(triggerID, out triggerName) != false)
            {
                // These special triggers are handled differently
                if (triggerName == "Awake" || triggerName == "Start" || triggerName == "Destroy")
                {
                    continue;
                }

                AkTriggerBase trigger = (AkTriggerBase)GetComponent(Type.GetType(triggerName));
                if(trigger == null)
                {
                    trigger = (AkTriggerBase)gameObject.AddComponent(Type.GetType(triggerName));
                }

                trigger.triggerDelegate += in_delegate;
            }
        }
    }
 protected void RegisterTriggers(List <int> in_triggerList, AkTriggerBase.Trigger in_delegate)
 {
     using (List <int> .Enumerator enumerator = in_triggerList.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             uint   current = (uint)enumerator.Current;
             string empty   = string.Empty;
             if (AkUnityEventHandler.triggerTypes.TryGetValue(current, out empty))
             {
                 if (!(empty == "Awake") && !(empty == "Start") && !(empty == "Destroy"))
                 {
                     AkTriggerBase akTriggerBase = (AkTriggerBase)base.GetComponent(Type.GetType(empty));
                     if (akTriggerBase == null)
                     {
                         akTriggerBase = (AkTriggerBase)base.gameObject.AddComponent(Type.GetType(empty));
                     }
                     AkTriggerBase expr_97 = akTriggerBase;
                     expr_97.triggerDelegate = (AkTriggerBase.Trigger)Delegate.Combine(expr_97.triggerDelegate, in_delegate);
                 }
             }
         }
     }
 }
    protected void UnregisterTriggers(List<int> in_triggerList, AkTriggerBase.Trigger in_delegate)
    {
        //Unregister all the triggers and delete them if no one else is registered to them
        foreach(uint triggerID in in_triggerList)
        {
            string triggerName = string.Empty;
            if (triggerTypes.TryGetValue(triggerID, out triggerName) != false)
            {
                // These special triggers are handled differently
                if (triggerName == "Awake" || triggerName == "Start" || triggerName == "Destroy")
                {
                    continue;
                }

                AkTriggerBase trigger = (AkTriggerBase)GetComponent(Type.GetType(triggerName));

                if(trigger != null)
                {
                    trigger.triggerDelegate -= in_delegate;

                    if(trigger.triggerDelegate == null)
                    {
                        Destroy(trigger);
                    }
                }
            }
        }
    }