Тема: jAqua v0.1a
Показать сообщение отдельно
Старый 29.08.2007, 01:49   #47
jimon
 
Сообщений: n/a
Re: jAqua v0.1a

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
 
Ответить с цитированием