Esempio n. 1
0
 private int GetFootholdPrevNext(FootholdLine line, FootholdOrientation orientation, FootholdDirection dir)
 {
     FootholdLine overrideLine = dir == FootholdDirection.Prev ? line.prevOverride : line.nextOverride;
     if (overrideLine != null && (line.FirstDot.connectedLines.Contains(overrideLine) || line.SecondDot.connectedLines.Contains(overrideLine)))
     {
         return overrideLine.num;
     }
     else
     {
         FootholdAnchor anchor = (FootholdAnchor)((orientation == FootholdOrientation.PrevFirstNextSecond) ^ (dir == FootholdDirection.Next) ? line.FirstDot : line.SecondDot);
         if (anchor.connectedLines.Count < 2)
         {
             return 0;
         }
         else
         {
             return anchor.GetOtherLine(line).num;
         }
     }
 }
Esempio n. 2
0
 private bool TryGetSimpleFootholdOrientation(FootholdLine line, out FootholdOrientation result)
 {
     if (line.prevOverride != null && line.FirstDot.connectedLines.Contains(line.prevOverride))
     {
         result = FootholdOrientation.PrevFirstNextSecond;
         return true;
     }
     else if (line.prevOverride != null && line.SecondDot.connectedLines.Contains(line.prevOverride))
     {
         result = FootholdOrientation.NextFirstPrevSecond;
         return true;
     }
     else if (line.nextOverride != null && line.FirstDot.connectedLines.Contains(line.nextOverride))
     {
         result = FootholdOrientation.NextFirstPrevSecond;
         return true;
     }
     else if (line.nextOverride != null && line.SecondDot.connectedLines.Contains(line.nextOverride))
     {
         result = FootholdOrientation.PrevFirstNextSecond;
         return true;
     }
     else if (!line.IsWall)
     {
         result = GetNonverticalFootholdOrientation(line);
         return true;
     }
     else
     {
         // Result doesn't really matter here since we're returning false
         result = FootholdOrientation.PrevFirstNextSecond;
         return false;
     }
 }