Ejemplo n.º 1
0
bool
GameServer::GeneratePacketSourceCode_AS3(int packetCode, const _String sDumpDir, const TCHAR* pszPackage, const TCHAR* pszSerializeBasePackage){
	BasePacket* packet	= m_pPacketHandler->CreatePacketByCode(packetCode);
	if( !packet ) 
		return false;

	_String sSaveDir = sDumpDir;
	Path::BuildFullPath(sSaveDir);

	StringToStringArray arrGenPackages;
	if( !packet->GenerateSourceCodeInAS3(arrGenPackages, pszPackage, pszSerializeBasePackage) ){
		delete packet;
		return false;
		}

	if( sSaveDir.GetAt(sSaveDir.GetLength() - 1) != '\\' )
		sSaveDir += _T("\\");

	_String sPackage, sSourceCode, sFile;
	for(int i=0; i<arrGenPackages.GetCount(); i++){
		sPackage	= arrGenPackages.GetKey(i);
		sSourceCode = arrGenPackages.GetValueByIndex(i);
		sFile.Format(_T("%s%s.as"),sSaveDir.GetBuffer(), sPackage.GetBuffer());
		Path::SaveAsFile(sSourceCode.GetBuffer(), sSourceCode.GetLength(), sFile);
		}
	return true;
	}