PropertyNode.js 510 B

123456789101112131415161718192021222324252627282930313233343536
  1. import Node from './Node.js';
  2. class PropertyNode extends Node {
  3. constructor( name = null, nodeType = 'vec4' ) {
  4. super( nodeType );
  5. this.name = name;
  6. }
  7. getHash( builder ) {
  8. return this.name || super.getHash( builder );
  9. }
  10. generate( builder ) {
  11. const nodeVary = builder.getVarFromNode( this, this.getNodeType( builder ) );
  12. const name = this.name;
  13. if ( name !== null ) {
  14. nodeVary.name = name;
  15. }
  16. return builder.getPropertyName( nodeVary );
  17. }
  18. }
  19. export default PropertyNode;