1
1
/*
2
- * Copyright (c) 2009-2018 jMonkeyEngine
2
+ * Copyright (c) 2009-2025 jMonkeyEngine
3
3
* All rights reserved.
4
4
*
5
5
* Redistribution and use in source and binary forms, with or without
38
38
import com .jme3 .asset .ShaderNodeDefinitionKey ;
39
39
import com .jme3 .util .blockparser .BlockLanguageParser ;
40
40
import com .jme3 .util .blockparser .Statement ;
41
+
41
42
import java .io .IOException ;
42
43
import java .io .InputStream ;
43
44
import java .util .List ;
44
45
45
46
/**
46
47
* ShaderNodeDefinition file loader (.j3sn)
47
- *
48
+ * <p>
48
49
* a j3sn file is a block style file like j3md or j3m. It must contain one
49
50
* ShaderNodeDefinition{} block that contains several ShaderNodeDefinition{}
50
51
* blocks
53
54
*/
54
55
public class ShaderNodeDefinitionLoader implements AssetLoader {
55
56
56
- private ShaderNodeLoaderDelegate loaderDelegate ;
57
-
58
57
@ Override
59
58
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 )) {
62
61
throw new IOException ("ShaderNodeDefinition file must be loaded via ShaderNodeDefinitionKey" );
63
62
}
64
- ShaderNodeDefinitionKey key = (ShaderNodeDefinitionKey ) k ;
65
- loaderDelegate = new ShaderNodeLoaderDelegate ();
63
+ ShaderNodeDefinitionKey key = (ShaderNodeDefinitionKey ) assetKey ;
64
+ ShaderNodeLoaderDelegate loaderDelegate = new ShaderNodeLoaderDelegate ();
66
65
67
66
InputStream in = assetInfo .openStream ();
68
67
List <Statement > roots = BlockLanguageParser .parse (in );
@@ -80,6 +79,5 @@ public Object load(AssetInfo assetInfo) throws IOException {
80
79
}
81
80
82
81
return loaderDelegate .readNodesDefinitions (roots .get (0 ).getContents (), key );
83
-
84
82
}
85
83
}
0 commit comments