Jeżeli każdy typ klocka to oddzielny obiekt, to w takim razie możesz zrzucić do stringa w takiej formie:
gdzie x to pozycja X obiektu, y to pozycja Y obiektu i t to typ obiektu, średnik to separator między kolejnymi obiektami (wszystkie będą zapisywane w jednej linii) a przecinek to separator między kolejnymi zmiennymi.
Przy zrzucaniu odpalasz pętlę foreach (niestety prawdopodobnie będziesz musiał każdemu obiektowi zrobić oddzielną, trochę toporne) dla każdego klocka która dodaje informację o klocku w stringu, coś takiego:
Kod: |
String+Str$(1)+,+Str$(X(kloc1))+,+Str$(Y(kloc1))+; |
Str$(1) oznacza typ twojego klocka, musisz go zmienić w expression editorze by każdy obiekt (klocek) miał inny.
Str$(X(kloc1)) to pozycja X kloca, musisz zmienić nazwę obiektu dla każdej innej pętli, jak wyżej.
Str$() konwertuje wartości na tekst, dzięki czemu możesz wsadzić to do stringa.
Po restarcie ramki używasz String Tokenizera by podzielić ten string na pojedyncze fragmenty, ma akurat opcję splitowania w 2D, więc jak to zrobisz to dostaniesz ładną tablicę z której możesz łatwo pobierać dane. Odpalasz pętlę (tyle razy ile jest obiektów w stringu, możesz to łatwo policzyć tokenizerem), która sprawdza typ bloku a następnie tworzy go i ustawia mu odpowiednia pozycję. Będziesz musiał zamienić tekst na wartość, dlatego przyda ci się informacja że
Val() to robi.
Oczywiście jest wiele innych sposobów na to, nawet prostszych (zrzucanie wszystkiego do arraya, ale nie mam pojęcia jakby to wyglądało

)
Jakbyś powiedział jak to dokładnie działa to zrobiłbym ci nawet przykład, bo tak to nie będę zgadywał co ty tam masz w tym kodzie