コード例 #1
0
ファイル: OrderConfiguration.cs プロジェクト: jack06215/tmc
 public void RemoveTablet(TabletColors color, int count = 1)
 {
     if ((Tablets[color] - count) > -1)
     {
         Tablets[color] -= count;
     }
     else
     {
         throw new InvalidOperationException("Tablet count cannot be less than zero");
     }
 }
コード例 #2
0
ファイル: TabletMagazine.cs プロジェクト: jack06215/tmc
 public Slot(TabletColors color = TabletColors.Unknown, int count = 0)
 {
     this.Color = color;
     this.TabletCount = count;
 }
コード例 #3
0
ファイル: OrderConfiguration.cs プロジェクト: jack06215/tmc
 public void AddTablet(TabletColors color, int count = 1)
 {
     Tablets[color] += count;
 }
コード例 #4
0
ファイル: TabletMagazine.cs プロジェクト: jack06215/tmc
 public void RemoveTablet(TabletColors slotColor, int count = 1)
 {
     if ((GetSlotByColor(slotColor).TabletCount - count) > -1)
     {
         GetSlotByColor(slotColor).TabletCount -= count;
     }
     else
     {
         throw new InvalidOperationException("Tablet count cannot be less than zero");
     }
 }
コード例 #5
0
ファイル: TabletMagazine.cs プロジェクト: jack06215/tmc
 private Slot GetSlotByColor(TabletColors slotColor)
 {
     return Slots[_slotIndexMap[slotColor]];
 }
コード例 #6
0
ファイル: TabletMagazine.cs プロジェクト: jack06215/tmc
 //TODO Check whether this method is required anywhere
 public bool IsSlotEmpty(TabletColors slotColor)
 {
     return (GetSlotByColor(slotColor).TabletCount == 0);
 }
コード例 #7
0
ファイル: TabletMagazine.cs プロジェクト: jack06215/tmc
 public bool IsSlotFull(TabletColors slotColor)
 {
     return (GetSlotByColor(slotColor).TabletCount == SlotCapacity);
 }
コード例 #8
0
ファイル: TabletMagazine.cs プロジェクト: jack06215/tmc
 public int GetSlotIndexReversed(TabletColors slotColor)
 {
     return _slotReverseIndexMap[slotColor];
 }
コード例 #9
0
ファイル: TabletMagazine.cs プロジェクト: jack06215/tmc
 public int GetSlotIndex(TabletColors slotColor)
 {
     return _slotIndexMap[slotColor];
 }
コード例 #10
0
ファイル: TabletMagazine.cs プロジェクト: jack06215/tmc
 public int GetSlotDepth(TabletColors slotColor)
 {
     return GetSlotByColor(slotColor).TabletCount;
 }
コード例 #11
0
ファイル: TabletMagazine.cs プロジェクト: jack06215/tmc
 public void AddTablet(TabletColors slotColor, int count = 1)
 {
     GetSlotByColor(slotColor).TabletCount += count;
 }
コード例 #12
0
ファイル: VisionBase.cs プロジェクト: jack06215/tmc
 /// <summary>
 /// Tells us if the the HSV color is in range
 /// </summary>
 /// <param name="srcHsv">
 /// The HSV values we want to check are in range
 /// </param>
 /// <param name="targetHsv">
 /// The range that we want the color to be in
 /// </param>
 /// <param name="color">
 /// THe color that we want it to be in range of since the 'targetHsv' can be indexed for colors
 /// </param>
 /// <param name="lowerLimitExtra">
 /// how much extra lower we want se the lower side of the range
 /// </param>
 /// <param name="higherLimitExtra">
 /// How much higher we want o set higer side of the range
 /// </param>
 /// <returns>
 /// returns true if it is in range, false if it is not
 /// </returns>
 /// <todo>
 /// make lowerLimitsExtra in to HSV or make overload for it
 /// </todo>
 protected bool InHSVRange(Hsv srcHsv, Hsv[,] targetHsv, TabletColors color, int lowerLimitExtra, int higherLimitExtra)
 {
     if (targetHsv[(int)color, (int)HSVRange.Low].Hue < targetHsv[(int)color, (int)HSVRange.High].Hue)
     {
         return ((srcHsv.Hue >= (targetHsv[(int)color, (int)HSVRange.Low].Hue - lowerLimitExtra)) &&             //lower values
         (srcHsv.Satuation >= (targetHsv[(int)color, (int)HSVRange.Low].Satuation - lowerLimitExtra)) &&
         (srcHsv.Value >= (targetHsv[(int)color, (int)HSVRange.Low].Value - lowerLimitExtra)) &&
         (srcHsv.Hue <= (targetHsv[(int)color, (int)HSVRange.High].Hue + higherLimitExtra)) &&               //higher values
         (srcHsv.Satuation <= (targetHsv[(int)color, (int)HSVRange.High].Satuation + higherLimitExtra)) &&
         (srcHsv.Value <= (targetHsv[(int)color, (int)HSVRange.High].Value + higherLimitExtra)));
     }
     else
     {
         if (srcHsv.Hue >= (targetHsv[(int)color, (int)HSVRange.Low].Hue - lowerLimitExtra))
         {
             return ((srcHsv.Hue >= (targetHsv[(int)color, (int)HSVRange.Low].Hue - lowerLimitExtra)) &&             //lower values
             (srcHsv.Satuation >= (targetHsv[(int)color, (int)HSVRange.Low].Satuation - lowerLimitExtra)) &&
             (srcHsv.Value >= (targetHsv[(int)color, (int)HSVRange.Low].Value - lowerLimitExtra)) &&
             (srcHsv.Hue <= (179)) &&               //higher values
             (srcHsv.Satuation <= (targetHsv[(int)color, (int)HSVRange.High].Satuation + higherLimitExtra)) &&
             (srcHsv.Value <= (targetHsv[(int)color, (int)HSVRange.High].Value + higherLimitExtra)));
         }
         else if (srcHsv.Hue <= (targetHsv[(int)color, (int)HSVRange.High].Hue + higherLimitExtra))
         {
             return ((srcHsv.Hue >= (0)) &&             //lower values
             (srcHsv.Satuation >= (targetHsv[(int)color, (int)HSVRange.Low].Satuation - lowerLimitExtra)) &&
             (srcHsv.Value >= (targetHsv[(int)color, (int)HSVRange.Low].Value - lowerLimitExtra)) &&
             (srcHsv.Hue <= (targetHsv[(int)color, (int)HSVRange.High].Hue + higherLimitExtra)) &&               //higher values
             (srcHsv.Satuation <= (targetHsv[(int)color, (int)HSVRange.High].Satuation + higherLimitExtra)) &&
             (srcHsv.Value <= (targetHsv[(int)color, (int)HSVRange.High].Value + higherLimitExtra)));
         }
         else return false;
     }
 }