4 using System.Collections.Generic;
5 using System.Collections.Specialized;
6 using SiliconStudio.Core.Collections;
8 namespace SiliconStudio.
Paradox.Input
15 private readonly Dictionary<object, List<VirtualButtonBinding>> mapBindings;
22 mapBindings =
new Dictionary<object, List<VirtualButtonBinding>>();
23 CollectionChanged += bindings_CollectionChanged;
41 List<VirtualButtonBinding> bindingsPerName;
42 if (mapBindings.TryGetValue(name, out bindingsPerName))
44 foreach (var virtualButtonBinding
in bindingsPerName)
46 float newValue = virtualButtonBinding.GetValue(inputManager);
47 if (Math.Abs(newValue) > Math.Abs(value))
62 case NotifyCollectionChangedAction.Add:
63 AddBinding(virtualButtonBinding);
65 case NotifyCollectionChangedAction.Remove:
66 RemoveBinding(virtualButtonBinding);
71 private void AddBinding(VirtualButtonBinding virtualButtonBinding)
73 List<VirtualButtonBinding> bindingsPerName;
74 if (!mapBindings.TryGetValue(virtualButtonBinding.Name, out bindingsPerName))
76 bindingsPerName =
new List<VirtualButtonBinding>();
77 mapBindings.Add(virtualButtonBinding.Name, bindingsPerName);
79 bindingsPerName.Add(virtualButtonBinding);
82 private void RemoveBinding(VirtualButtonBinding virtualButtonBinding)
84 List<VirtualButtonBinding> bindingsPerName;
85 if (mapBindings.TryGetValue(virtualButtonBinding.Name, out bindingsPerName))
87 bindingsPerName.Remove(virtualButtonBinding);
object Item
Gets the added or removed item (if dictionary, value only).
NotifyCollectionChangedAction Action
Gets the type of action performed. Allowed values are NotifyCollectionChangedAction.Add and NotifyCollectionChangedAction.Remove.