anchor.diff:      procedure Save(const dm: TG2DataManager); virtual;
       procedure Load(const dm: TG2DataManager); virtual;
     end;
  +  CG2Scene2DEntity = class of TG2Scene2DEntity;
   
     TG2Scene2DJointList = specialize TG2QuickListG<TG2Scene2DJoint>;
   
  
positive.code:   end;
  end;
  
  function TG2Scene2D.CreatePrefab(const PrefabName: String; const Transform: TG2Transform2): TG2Scene2DEntity;
    var dm: TG2DataManager;
  begin
    dm := TG2DataManager.Create(PrefabName, dmAsset);
    try
      Result := CreatePrefab(dm, Transform);
    finally
      dm.Free;
    end;
  
negative.code:   end;
    var Def: array[0..3] of AnsiChar;
    var i, n: Integer;
    var CreateClass: CG2Scene2DEntity;
  begin
    if Assigned(EntityClass) then CreateClass := EntityClass else CreateClass := TG2Scene2DEntity;
    dm.ReadBuffer(@Def, 4);
    if Def = 'PF2D' then
    begin
      Result := CreateClass.Create(Self);
      Result.Load(dm);
      n := dm.ReadIntS32;
      for i := 0 to n - 1 do
  