示例#1
0
        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);
        }
示例#2
0
 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;
         }
     }
 }