Example #1
0
        /// <summary>
        /// Poistaa triggerin kaikki mäppäykset
        /// </summary>
        /// <param name="trigger">Minkä napin mäppäykset poistetaan</param>
        /// <returns>True jos poistettiin, false jos ei (ei ole mäppäyksiä)</returns>
        public bool ClearMappings(ITrigger trigger)
        {
            // jos ei ole mitään niin turha yrittää poistaakkaan
            if (!HasMappings(trigger))
            {
                return(false);
            }

            var names = GetMappingNames(trigger);

            foreach (var name in names)
            {
                Mappings[name].Triggers.Remove(trigger);
                // jos ei ole enää yhtään bindiä niin poistetaan koko mäppäys
                if (Mappings[name].Triggers.Count == 0)
                {
                    Mappings.Remove(name);
                }
            }
            // lopuksi poistetaan viittaukset
            MappingNames.Remove(trigger.TriggerHash());
            return(true);
        }