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