public static void MoveTowards(GameObject2D obj, Vector2 dest, float step) { Vector2 direction = (dest - obj.pos2D).normalized; obj.SetPos2D(obj.pos2D + direction * step); //PrintXnaVec(obj.pos2D); if (Distance(obj.pos2D, dest) <= step) { //Console.WriteLine(obj.pos2D.X + "," + obj.pos2D.Y); //Console.WriteLine(dest.X + "," + dest.Y); obj.SetPos2D(new Vector2(dest.x, dest.y)); } }
public static void ResolveCollision(GameObject2D obj1, GameObject2D obj2) { obj1.SetPos2D(new Vector2(obj1.lastPosNoCol.x, obj1.lastPosNoCol.y)); obj2.SetPos2D(new Vector2(obj2.lastPosNoCol.x, obj2.lastPosNoCol.y)); }