Esempio n. 1
0
        /// <summary>
        /// Add the specified trigger name and retrieves the trigger id. If trigger name is already existing, trigger id will be returned. Returns true if the trigger name is added
        /// </summary>
        /// <param name="triggerName"></param>
        /// <param name="triggerId"></param>
        /// <returns></returns>
        public static bool AddOrGetTrigger(string triggerName, out uint triggerId)
        {
            bool ret = false;

            triggerId = Audio.InvalidControlId;
            if (!_triggerByName.TryGetValue(triggerName, out triggerId))
            {
                triggerId = NativeAudioSystem.GetAudioTriggerId(triggerName);
                if (ret = (triggerId != Audio.InvalidControlId))
                {
                    _triggerByName[triggerName]      = triggerId;
                    _indexTriggerIdToName[triggerId] = triggerName;
                }
                ret = true;
            }
            else
            {
                triggerId = _triggerByName[triggerName];
            }
            return(ret);
        }