Procházet zdrojové kódy

FileLoader: Inherit from Loader.

Mugen87 před 6 roky
rodič
revize
a9219ace19

+ 3 - 16
docs/api/en/loaders/FileLoader.html

@@ -8,6 +8,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
+		[page:Loader] &rarr;
 
 		<h1>[name]</h1>
 
@@ -59,13 +60,8 @@
 			Default is [page:DefaultLoadingManager].
 		</p>
 
-
 		<h2>Properties</h2>
-
-		<h3>[property:LoadingManager manager]</h3>
-		<p>
-			The [page:LoadingManager loadingManager]  the loader is using. Default is [page:DefaultLoadingManager].
-		</p>
+		<p>See the base [page:Loader] class for common properties.</p>
 
 		<h3>[property:String mimeType]</h3>
 		<p>
@@ -73,9 +69,6 @@
 			See [page:.setMimeType]. Default is *undefined*.
 		</p>
 
-		<h3>[property:String path]</h3>
-		<p>The base path from which files will be loaded. See [page:.setPath]. Default is *undefined*.</p>
-
 		<h3>[property:Object requestHeader]</h3>
 		<p>The [link:https://developer.mozilla.org/en-US/docs/Glossary/Request_header request header] used in HTTP request. See [page:.setRequestHeader]. Default is *undefined*.</p>
 
@@ -88,8 +81,8 @@
 			Default is *undefined*.
 		</p>
 
-
 		<h2>Methods</h2>
+		<p>See the base [page:Loader] class for common methods.</p>
 
 		<h3>[method:XMLHttpRequest load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
 		<p>
@@ -109,12 +102,6 @@
 			of the file being loaded. Note that in many cases this will be determined automatically, so by default it is *undefined*.
 		</p>
 
-		<h3>[method:FileLoader setPath]( [param:String path] )</h3>
-		<p>
-			Set the base path or URL from which to load files. This can be useful if
-			you are loading many models from the same directory.
-		</p>
-
 		<h3>[method:FileLoader setRequestHeader]( [param:Object requestHeader] )</h3>
 		<p>
 			[page:object requestHeader] - key: The name of the header whose value is to be set. value: The value to set as the body of the header.<br /><br />

+ 3 - 15
docs/api/zh/loaders/FileLoader.html

@@ -8,6 +8,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
+		[page:Loader] &rarr;
 
 		<h1>[name]</h1>
 
@@ -64,13 +65,8 @@
 			默认为 [page:DefaultLoadingManager].
 		</p>
 
-
 		<h2>属性</h2>
-
-		<h3>[property:LoadingManager manager]</h3>
-		<p>
-            [page:LoadingManager loadingManager]  是加载器所使用的加载管理器,默认为 [page:DefaultLoadingManager].
-		</p>
+		<p>See the base [page:Loader] class for common properties.</p>
 
 		<h3>[property:String mimeType]</h3>
 		<p>
@@ -78,9 +74,6 @@
 			请参考 [page:.setMimeType]。默认为 *undefined*。
 		</p>
 
-		<h3>[property:String path]</h3>
-		<p>将要加载的文件的基本路径。请参考 [page:.setPath]。 默认为 *undefined*.</p>
-
 		<h3>[property:object requestHeader]</h3>
 		<p>[link:https://developer.mozilla.org/en-US/docs/Glossary/Request_header request header] 在HTTP 请求中使用。 请参考 [page:.setRequestHeader]。 默认为 *undefined*.</p>
 
@@ -93,8 +86,8 @@
             默认为 *undefined*.
 		</p>
 
-
 		<h2>方法</h2>
+		<p>See the base [page:Loader] class for common methods.</p>
 
 		<h3>[method:null load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
 		<p>
@@ -114,11 +107,6 @@
             。请注意,在许多情况下,这将自动确定,因此默认情况下它是 *undefined* 。
 		</p>
 
-		<h3>[method:FileLoader setPath]( [param:String path] )</h3>
-		<p>
-            设置加载文件的基本路径或URL。当加载同一目录中的许多模型,此方法将很有用。
-		</p>
-
 		<h3>[method:FileLoader setRequestHeader]( [param:object requestHeader] )</h3>
 		<p>
 			[page:object requestHeader] - key: 要设置header的名称。 value:要设置header的值。<br /><br />

+ 6 - 27
src/loaders/FileLoader.d.ts

@@ -1,34 +1,14 @@
+import { Loader } from './Loader';
 import { LoadingManager } from './LoadingManager';
 
-/**
- * Interface for all loaders
- * CompressedTextureLoader don't extends Loader class, but have load method
- */
-export interface AnyLoader {
-	load(
-		url: string,
-		onLoad?: ( result: any ) => void,
-		onProgress?: ( event: ProgressEvent ) => void,
-		onError?: ( event: ErrorEvent ) => void
-	): any;
-}
-
-export interface LoaderHandler {
-	handlers: ( RegExp | AnyLoader )[];
-
-	add( regex: RegExp, loader: AnyLoader ): void;
-	get( file: string ): AnyLoader | null;
-}
-
-export class FileLoader {
+export class FileLoader extends Loader {
 
 	constructor( manager?: LoadingManager );
 
-	manager: LoadingManager;
-	mimeType: MimeType;
-	path: string;
-	responseType: string;
-	withCredentials: string;
+	mimeType: undefined | MimeType;
+	responseType: undefined |string;
+	withCredentials: undefined |string;
+	requestHeader: undefined | { [header: string]: string };
 
 	load(
 		url: string,
@@ -37,7 +17,6 @@ export class FileLoader {
 		onError?: ( event: ErrorEvent ) => void
 	): any;
 	setMimeType( mimeType: MimeType ): FileLoader;
-	setPath( path: string ): FileLoader;
 	setResponseType( responseType: string ): FileLoader;
 	setWithCredentials( value: string ): FileLoader;
 	setRequestHeader( value: { [header: string]: string } ): FileLoader;

+ 5 - 10
src/loaders/FileLoader.js

@@ -3,17 +3,19 @@
  */
 
 import { Cache } from './Cache.js';
-import { DefaultLoadingManager } from './LoadingManager.js';
+import { Loader } from './Loader.js';
 
 var loading = {};
 
 function FileLoader( manager ) {
 
-	this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager;
+	Loader.call( this, manager );
 
 }
 
-Object.assign( FileLoader.prototype, {
+FileLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
+
+	constructor: FileLoader,
 
 	load: function ( url, onLoad, onProgress, onError ) {
 
@@ -278,13 +280,6 @@ Object.assign( FileLoader.prototype, {
 
 	},
 
-	setPath: function ( value ) {
-
-		this.path = value;
-		return this;
-
-	},
-
 	setResponseType: function ( value ) {
 
 		this.responseType = value;

+ 9 - 1
src/loaders/Loader.d.ts

@@ -1,4 +1,3 @@
-import { LoaderHandler } from './FileLoader';
 import { LoadingManager } from './LoadingManager';
 
 /**
@@ -25,3 +24,12 @@ export class Loader {
 	static Handlers: LoaderHandler;
 
 }
+
+// LoaderHandler
+
+export interface LoaderHandler {
+	handlers: ( RegExp | Loader )[];
+
+	add( regex: RegExp, loader: Loader ): void;
+	get( file: string ): Loader | null;
+}