elmortem
да я и кодом могу в принципе
идея простая - загрузка и сохранение с помощью одной функции
идинственое что создание обьектов надо будет специально делать
а так думаю все код обьяснит
'------------
'Base Serealize Code (file manager)
Global SerealizeFlag% = 0
Global SerealizeStream:TStream = Null
Function SerInt(i% Var)
Select SerealizeFlag
Case 1
SerealizeStream.WriteInt(i)
Case 2
i = SerealizeStream.ReadInt()
End Select
End Function
'------------
' Serealize world (world manager)
Function SerealizeWorld()
SerInt(my_var1)
SerInt(my_var2)
SerInt(my_var3)
SerInt(my_var4)
End Function
'------------
' Load\Save (game manager)
Function SaveGame(Name$)
Local bank:TBank = New TBank
Local out_stream:TStream = OpenStream(bank)
SerealizeStream = out_stream
SerealizeWorld()
Local out_file:TStream = WriteFile(Name$)
While Not Eof(out_stream)
out_file.WriteByte(out_stream.ReadByte())
Wend
CloseFile(out_file)
SerealizeFlag = 0
SerealizeStream = null
End Function
Function LoadGame(Name$)
SerealizeStream = ReadFile(Name$)
SerealizeFlag = 2
Serealize()
CloseFile(SerealizeStream)
SerealizeFlag = 0
SerealizeStream = null
End Function