|
@@ -7,19 +7,21 @@ import { ExtendedMaterialLoaderPlugin } from './extendedMaterialLoaderPlugin';
|
|
const pluginCache: { [key: string]: ILoaderPlugin } = {};
|
|
const pluginCache: { [key: string]: ILoaderPlugin } = {};
|
|
|
|
|
|
export function getLoaderPluginByName(name: string) {
|
|
export function getLoaderPluginByName(name: string) {
|
|
- switch (name) {
|
|
|
|
- case 'telemetry':
|
|
|
|
- pluginCache[name] = new TelemetryLoaderPlugin();
|
|
|
|
- break;
|
|
|
|
- case 'msftLod':
|
|
|
|
- pluginCache[name] = new MSFTLodLoaderPlugin();
|
|
|
|
- break;
|
|
|
|
- case 'minecraft':
|
|
|
|
- pluginCache[name] = new MSFTLodLoaderPlugin();
|
|
|
|
- break;
|
|
|
|
- case 'extendedMaterial':
|
|
|
|
- pluginCache[name] = new ExtendedMaterialLoaderPlugin();
|
|
|
|
- break;
|
|
|
|
|
|
+ if (!pluginCache[name]) {
|
|
|
|
+ switch (name) {
|
|
|
|
+ case 'telemetry':
|
|
|
|
+ pluginCache[name] = new TelemetryLoaderPlugin();
|
|
|
|
+ break;
|
|
|
|
+ case 'msftLod':
|
|
|
|
+ pluginCache[name] = new MSFTLodLoaderPlugin();
|
|
|
|
+ break;
|
|
|
|
+ case 'minecraft':
|
|
|
|
+ pluginCache[name] = new MSFTLodLoaderPlugin();
|
|
|
|
+ break;
|
|
|
|
+ case 'extendedMaterial':
|
|
|
|
+ pluginCache[name] = new ExtendedMaterialLoaderPlugin();
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return pluginCache[name];
|
|
return pluginCache[name];
|