亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ffilemanagergeneric.h

?? 虛幻的再開發程序包源代碼
?? H
字號:
/*=============================================================================
	FFileManagerGeneric.h: Unreal generic file manager support code.
	Copyright 1997-1999 Epic Games, Inc. All Rights Reserved.

	This base class simplifies FFileManager implementations by providing
	simple, unoptimized implementations of functions whose implementations
	can be derived from other functions.

	Revision history:
		* Created by Tim Sweeney
=============================================================================*/

/*-----------------------------------------------------------------------------
	File Manager.
-----------------------------------------------------------------------------*/

class FFileManagerGeneric : public FFileManager
{
public:
	INT FileSize( const TCHAR* Filename )
	{
		// Create a generic file reader, get its size, and return it.
		guard(FFileManagerGeneric::FileSize);
		FArchive* Ar = CreateFileReader( Filename );
		if( !Ar )
			return -1;
		INT Result = Ar->TotalSize();
		delete Ar;
		return Result;
		unguard;
	}
	UBOOL Copy( const TCHAR* DestFile, const TCHAR* SrcFile, UBOOL ReplaceExisting, UBOOL EvenIfReadOnly, UBOOL Attributes, void (*Progress)(FLOAT Fraction) )
	{
		// Direct file copier.
		guard(FFileManagerGeneric::Copy);
		UBOOL Success = 0;
		if( Progress )
			Progress( 0.0 );
		FArchive* Src = CreateFileReader(SrcFile);
		if( Src )
		{
			INT Size = Src->TotalSize();
			FArchive* Dest = CreateFileWriter(DestFile,ReplaceExisting,EvenIfReadOnly);
			if( Dest )
			{
				BYTE Buffer[4096];
				for( INT Total=0; Total<Size; Total+=sizeof(Buffer) )
				{
					INT Count = Min( Size-Total, (INT)sizeof(Buffer) );
					Src->Serialize( Buffer, Count );
					if( Src->IsError() )
						break;
					Dest->Serialize( Buffer, Count );
					if( Dest->IsError() )
						break;
					if( Progress )
						Progress( (FLOAT)Total / Size );
				}
				Success = Dest->Close();
				delete Dest;
				if( !Success )
					Delete( DestFile );
			}
			Success = Success && Src->Close();
			delete Src;
		}
		if( Progress )
			Progress( 1.0 );
		return Success;
		unguard;
	}
	UBOOL MakeDirectory( const TCHAR* Path, UBOOL Tree=0 )
	{
		// Support code for making a directory tree.
		guard(FFileManagerGeneric::MakeDirectory);
		check(Tree);
		INT SlashCount=0, CreateCount=0;
		for( TCHAR Full[256]=TEXT(""), *Ptr=Full; ; *Ptr++=*Path++ )
		{
			if( *Path==PATH_SEPARATOR[0] || *Path==0 )
			{
				if( SlashCount++>0 && !IsDrive(Full) )
				{
					*Ptr = 0;
					if( !MakeDirectory( Full, 0 ) )
						return 0;
					CreateCount++;
				}
			}
			if( *Path==0 )
				break;
		}
		return CreateCount!=0;
		unguard;
	}
	UBOOL DeleteDirectory( const TCHAR* Path, UBOOL RequireExists=0, UBOOL Tree=0 )
	{
		// Support code for removing a directory tree.
		guard(FFileManagerGeneric::DeleteDirectory);
		check(Tree);
		if( !appStrlen(Path) )
			return 0;
		FString Spec = FString(Path) * TEXT("*");
		TArray<FString> List = FindFiles( *Spec, 1, 0 );
		for( INT i=0; i<List.Num(); i++ )
			if( !Delete(*(FString(Path) * List(i)),1,1) )
				return 0;
		List = FindFiles( *Spec, 0, 1 );
		for( i=0; i<List.Num(); i++ )
			if( !DeleteDirectory(*(FString(Path) * List(i)),1,1) )
				return 0;
		return DeleteDirectory( Path, RequireExists, 0 );
		unguard;

	}
	UBOOL Move( const TCHAR* Dest, const TCHAR* Src, UBOOL ReplaceExisting=1, UBOOL EvenIfReadOnly=0, UBOOL Attributes=0 )
	{
		// Move file manually.
		guard(FFileManagerGeneric::Move);
		if( !Copy(Dest,Src,ReplaceExisting,EvenIfReadOnly,Attributes,NULL) )
			return 0;
		Delete( Src, 1, 1 );
		return 1;
		unguard;
	}
private:
	UBOOL IsDrive( const TCHAR* Path )
	{
		// Does Path refer to a drive letter or BNC path?
		guard(FFileManagerGeneric::IsDrive);
		if( appStricmp(Path,TEXT(""))==0 )
			return 1;
		else if( appToUpper(Path[0])!=appToLower(Path[0]) && Path[1]==':' && Path[2]==0 )
			return 1;
		else if( appStricmp(Path,TEXT("\\"))==0 )
			return 1;
		else if( appStricmp(Path,TEXT("\\\\"))==0 )
			return 1;
		else if( Path[0]=='\\' && Path[1]=='\\' && !appStrchr(Path+2,'\\') )
			return 1;
		else if( Path[0]=='\\' && Path[1]=='\\' && appStrchr(Path+2,'\\') && !appStrchr(appStrchr(Path+2,'\\')+1,'\\') )
			return 1;
		else
			return 0;
		unguard;
	}
};

/*-----------------------------------------------------------------------------
	The End.
-----------------------------------------------------------------------------*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩在线一二三区| 日本va欧美va精品发布| 欧美一卡二卡在线| 欧美日韩国产bt| 91国偷自产一区二区三区观看 | 久久久久久99久久久精品网站| 91.成人天堂一区| 欧美日韩在线观看一区二区| 欧美日韩一区二区三区四区五区 | 91 com成人网| 欧美日本一区二区三区| 欧美日本一区二区三区| 欧美精品18+| 精品精品欲导航| 国产日韩欧美在线一区| 国产日本欧洲亚洲| 亚洲欧洲成人精品av97| 亚洲美女屁股眼交| 日韩国产欧美在线播放| 麻豆精品视频在线观看| 精品一区二区三区在线观看国产 | 成人高清av在线| 日本久久电影网| 7777精品伊人久久久大香线蕉的| 欧美xxxx老人做受| 日本一区二区三区久久久久久久久不 | 欧美不卡一区二区三区四区| 久久综合久久久久88| 国产精品美女久久久久久久久久久 | 日韩精品欧美精品| 国产乱码精品一区二区三区忘忧草| 国产黄色91视频| 91成人在线精品| 日韩欧美国产一区二区在线播放| 久久精品视频一区| 亚洲精品欧美综合四区| 麻豆精品新av中文字幕| 不卡一区在线观看| 在线成人免费视频| 国产精品美女www爽爽爽| 亚洲综合色婷婷| 国产美女娇喘av呻吟久久| 99久久久久久99| 91精品国产免费久久综合| 国产日韩成人精品| 无码av中文一区二区三区桃花岛| 国产乱妇无码大片在线观看| 91久久精品网| 中文字幕乱码久久午夜不卡| 丝袜亚洲另类丝袜在线| 不卡在线视频中文字幕| 欧美一级久久久久久久大片| 亚洲少妇最新在线视频| 精品一区二区在线播放| 欧美日韩mp4| 中文字幕一区二区三区精华液 | 久久伊人蜜桃av一区二区| 亚洲国产精品久久久男人的天堂| 国产黄色91视频| 欧美大胆人体bbbb| 亚洲五月六月丁香激情| 色呦呦网站一区| 国产三级一区二区三区| 日本不卡免费在线视频| 欧美日韩第一区日日骚| 中文字幕视频一区| 粉嫩aⅴ一区二区三区四区五区 | 中文字幕亚洲一区二区va在线| 久久国产视频网| 日韩一区二区麻豆国产| 亚洲一区二区四区蜜桃| 99精品在线观看视频| 中文字幕中文在线不卡住| 国产精品456露脸| 欧美国产欧美综合| 国产资源在线一区| 日韩精品中文字幕在线一区| 日韩国产精品久久久| 欧美日韩国产高清一区二区| 亚洲国产精品久久久久婷婷884| 一本色道**综合亚洲精品蜜桃冫| 国产精品乱人伦一区二区| 国产98色在线|日韩| 久久久久久**毛片大全| 成人一道本在线| 国产精品女主播av| 99re免费视频精品全部| 亚洲日本在线观看| 色综合色狠狠天天综合色| 一区二区三区四区在线播放 | 国产精品一品二品| 国产欧美日韩不卡免费| www.一区二区| 一二三四社区欧美黄| 欧美亚洲动漫制服丝袜| 三级不卡在线观看| 精品99999| 国产91精品露脸国语对白| 亚洲欧美中日韩| 国产欧美综合在线观看第十页| 成人午夜精品一区二区三区| 亚洲天堂免费看| 欧美日韩综合色| 看片网站欧美日韩| 中文一区二区完整视频在线观看| 99久久婷婷国产精品综合| 亚洲国产日韩av| 精品免费日韩av| av激情成人网| 蜜臀av一级做a爰片久久| 国产视频一区在线观看| 欧美性大战xxxxx久久久| 激情亚洲综合在线| 亚洲欧洲日韩女同| 欧美一区二区日韩| 成人在线综合网| 日韩专区在线视频| 中文字幕在线观看不卡| 91精品婷婷国产综合久久| 国产91精品入口| 日本特黄久久久高潮| 国产人久久人人人人爽| 欧美老肥妇做.爰bbww| 国产99久久久久| 丝袜美腿高跟呻吟高潮一区| 国产精品视频免费看| 欧美一区中文字幕| 91美女福利视频| 国产综合色精品一区二区三区| 亚洲一区二区成人在线观看| 久久嫩草精品久久久精品| 欧美日韩在线一区二区| 99v久久综合狠狠综合久久| 精品一区二区久久久| 亚洲国产日产av| 日韩久久一区二区| 久久久蜜桃精品| 日韩免费高清av| 欧美日韩一区不卡| 91行情网站电视在线观看高清版| 国产成人综合精品三级| 免费欧美高清视频| 午夜视频久久久久久| 一区二区三区在线免费观看 | 91免费视频网| 夫妻av一区二区| 国产精品一区二区在线观看不卡| 久久9热精品视频| 免费在线看成人av| 日韩有码一区二区三区| 亚洲福利视频导航| 樱花影视一区二区| 亚洲日本va在线观看| 中文字幕在线不卡一区二区三区| 国产视频一区在线观看| 国产视频一区在线播放| 欧美国产精品久久| 国产精品视频九色porn| 国产精品美女久久久久aⅴ国产馆| 久久久久久亚洲综合| 久久久精品免费观看| 国产日韩高清在线| 国产精品久久久久久久久久免费看 | 99精品国产一区二区三区不卡| 成人午夜电影网站| 不卡的av中国片| 日本福利一区二区| 欧美日韩成人在线| 精品国产a毛片| 国产精品午夜电影| 亚洲视频香蕉人妖| 午夜精品一区二区三区电影天堂| 日韩中文字幕1| 国产真实精品久久二三区| 成人av网址在线观看| 欧美亚洲高清一区二区三区不卡| 91精品欧美久久久久久动漫| 精品国产伦一区二区三区观看体验 | 日韩精品一级二级| 麻豆成人免费电影| 日本成人在线一区| 亚洲国产日韩综合久久精品| 婷婷六月综合网| 麻豆精品在线播放| 99re热视频精品| 欧美日韩中文字幕一区| 欧美日韩色一区| 日本一区二区三级电影在线观看| 国产欧美日韩视频在线观看| 中文字幕一区二区三区四区不卡 | 国产人成亚洲第一网站在线播放| 国产精品日韩成人| 国产精品视频麻豆| 日韩av一区二区三区四区| 久久66热偷产精品| 成人免费看视频| 欧美一卡二卡在线观看| 亚洲国产成人在线| 午夜私人影院久久久久| 不卡一二三区首页|