Ejemplo n.º 1
0
 public static Dir4 Rotate(this Dir4 dir, int n)
 {
     if (!dir.Validate())
     {
         throw new ArgumentOutOfRangeException(nameof(dir), dir, "Invalid enum value.");
     }
     if (dir == Dir4.None)
     {
         return(Dir4.None);
     }
     return((Dir4)(((int)dir + n) & (DIR4_COUNT - 1)));
 }
Ejemplo n.º 2
0
 public static Dir4 AddAngles(Dir4 dir1, Dir4 dir2)
 {
     // dir1 is validated by Dir4.Rotate
     if (!dir2.Validate())
     {
         throw new ArgumentOutOfRangeException(nameof(dir2), dir2, "Invalid enum value.");
     }
     if (dir1 == Dir4.None || dir2 == Dir4.None)
     {
         return(Dir4.None);
     }
     return(dir1.Rotate((int)dir2));
 }