static public T ProcessLockSection <T>(this GamepadBase item, GamepadComponentId component, InputAtomLock @lock, Operation <T> operation) { T to_return = default(T); item.ProcessLockSection(component, @lock, delegate() { to_return = operation(); }); return(to_return); }
static public void ExitLockSection(this GamepadBase item, GamepadComponentId component, InputAtomLock @lock) { item.GetComponent(component).ExitLockSection(@lock); }
static public void ProcessLockSection(this GamepadBase item, GamepadComponentId component, InputAtomLock @lock, Process process) { item.EnterLockSection(component, @lock); process(); item.ExitLockSection(component, @lock); }
static public void ExitLockSection(this GamepadBase item, IEnumerable <GamepadComponentId> components, InputAtomLock @lock) { components.Process(i => item.GetComponent(i).ExitLockSection(@lock)); }