Esempio n. 1
0
 public IReadOnlyList <IReadOnlyList <Vector2f> > GeneratePhysicsShape(Rectf rect, Vector2f pivot)
 {
     if (IsReadPhysicsShape(File.Version))
     {
         Vector2f[][] shape       = new Vector2f[PhysicsShape.Count][];
         float        pivotShiftX = rect.Width * pivot.X - rect.Width * 0.5f;
         float        pivotShiftY = rect.Height * pivot.Y - rect.Height * 0.5f;
         Vector2f     pivotShift  = new Vector2f(pivotShiftX, pivotShiftY);
         for (int i = 0; i < PhysicsShape.Count; i++)
         {
             shape[i] = new Vector2f[PhysicsShape[i].Count];
             for (int j = 0; j < PhysicsShape[i].Count; j++)
             {
                 Vector2f point = PhysicsShape[i][j] * PixelsToUnits;
                 shape[i][j] = point + pivotShift;
             }
         }
         return(shape);
     }
     else
     {
         return(new Vector2f[0][]);
     }
 }
Esempio n. 2
0
 public Vector2f(Vector2f copy) :
     this(copy.X, copy.Y)
 {
 }