public Vector2 Get(LogicalStick logicalStick) { if (!this.mappedSticks.ContainsKey(logicalStick)) { return(new Vector2(0, 0)); } Vector2 direction = new Vector2(0, 0); foreach (var physicalStick in this.mappedSticks[logicalStick]) { direction += physicalStick.Get(); } return(direction); }
public void Merge(StickMap other) { foreach (var mappedStick in other.mappedSticks) { LogicalStick logicalStick = mappedStick.Key; List <IPhysicalStick> physicalSticks = mappedStick.Value; if (this.mappedSticks.ContainsKey(logicalStick)) { this.mappedSticks[logicalStick].AddRange(physicalSticks); } else { this.mappedSticks[logicalStick] = physicalSticks; } } }