using System; using System.Collections.Generic; namespace Framework.Input { /// Collection of actions that can look up actions by name public interface IActionCollection : ICollection { /// Looks up an action by its index /// Index of the action that will be accessed /// The action at the specified index IAction this[int index] { get; } /// Looks up an action by its name /// Name of the action that will be looked up /// The action with the specified name IAction this[string actionName] { get; } /// Tries to look up an action by its name /// Name of the action that will be looked up /// Receives the action, if found /// True if the action was found, false otherwise bool TryGet(string actionName, out IAction action); /// Removes an action by its name /// Name of the action that will be removed /// True if an action with the specified name was found and removed bool Remove(string actionName); /// Checks whether the collection contains the specified action /// Action for which the collection will be checked /// True if the collection contains an action with the specified name bool Contains(string actionName); } } // namespace Framework.Input