WebGLProperties.js 650 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * @author fordacious / fordacious.github.io
  3. */
  4. function WebGLProperties() {
  5. var properties = {};
  6. function get( object ) {
  7. var uuid = object.uuid;
  8. var map = properties[ uuid ];
  9. if ( map === undefined ) {
  10. map = {};
  11. properties[ uuid ] = map;
  12. }
  13. return map;
  14. }
  15. function remove( object ) {
  16. delete properties[ object.uuid ];
  17. }
  18. function update( object, key, value ) {
  19. var uuid = object.uuid;
  20. var map = properties[ uuid ];
  21. map[ key ] = value;
  22. }
  23. function dispose() {
  24. properties = {};
  25. }
  26. return {
  27. get: get,
  28. remove: remove,
  29. update: update,
  30. dispose: dispose
  31. };
  32. }
  33. export { WebGLProperties };