Skip to content

Commit afe1a27

Browse files
authored
Merge pull request #2510 from capdevon/capdevon-ShaderNodeDefinitionLoader
ShaderNodeDefinitionLoader: Ensures clean instance state
2 parents 1244723 + 67b28d1 commit afe1a27

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

jme3-core/src/plugins/java/com/jme3/material/plugins/ShaderNodeDefinitionLoader.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2009-2018 jMonkeyEngine
2+
* Copyright (c) 2009-2025 jMonkeyEngine
33
* All rights reserved.
44
*
55
* Redistribution and use in source and binary forms, with or without
@@ -38,13 +38,14 @@
3838
import com.jme3.asset.ShaderNodeDefinitionKey;
3939
import com.jme3.util.blockparser.BlockLanguageParser;
4040
import com.jme3.util.blockparser.Statement;
41+
4142
import java.io.IOException;
4243
import java.io.InputStream;
4344
import java.util.List;
4445

4546
/**
4647
* ShaderNodeDefinition file loader (.j3sn)
47-
*
48+
* <p>
4849
* a j3sn file is a block style file like j3md or j3m. It must contain one
4950
* ShaderNodeDefinition{} block that contains several ShaderNodeDefinition{}
5051
* blocks
@@ -53,16 +54,14 @@
5354
*/
5455
public class ShaderNodeDefinitionLoader implements AssetLoader {
5556

56-
private ShaderNodeLoaderDelegate loaderDelegate;
57-
5857
@Override
5958
public Object load(AssetInfo assetInfo) throws IOException {
60-
AssetKey k = assetInfo.getKey();
61-
if (!(k instanceof ShaderNodeDefinitionKey)) {
59+
AssetKey<?> assetKey = assetInfo.getKey();
60+
if (!(assetKey instanceof ShaderNodeDefinitionKey)) {
6261
throw new IOException("ShaderNodeDefinition file must be loaded via ShaderNodeDefinitionKey");
6362
}
64-
ShaderNodeDefinitionKey key = (ShaderNodeDefinitionKey) k;
65-
loaderDelegate = new ShaderNodeLoaderDelegate();
63+
ShaderNodeDefinitionKey key = (ShaderNodeDefinitionKey) assetKey;
64+
ShaderNodeLoaderDelegate loaderDelegate = new ShaderNodeLoaderDelegate();
6665

6766
InputStream in = assetInfo.openStream();
6867
List<Statement> roots = BlockLanguageParser.parse(in);
@@ -80,6 +79,5 @@ public Object load(AssetInfo assetInfo) throws IOException {
8079
}
8180

8281
return loaderDelegate.readNodesDefinitions(roots.get(0).getContents(), key);
83-
8482
}
8583
}

0 commit comments

Comments
 (0)