@wiredsnippets/wsproom 0.0.0-stage → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/COPYING +674 -0
  2. package/COPYING.LESSER +165 -0
  3. package/README.md +76 -2
  4. package/dist/__mocks__/setupTests.d.ts +0 -0
  5. package/dist/__mocks__/setupTests.js +34 -0
  6. package/dist/assets/IAssetBundle.d.ts +4 -0
  7. package/dist/assets/IAssetBundle.js +2 -0
  8. package/dist/assets/LegacyAssetBundle.d.ts +9 -0
  9. package/dist/assets/LegacyAssetBundle.js +29 -0
  10. package/dist/assets/WsproomAssetBundle.d.ts +18 -0
  11. package/dist/assets/WsproomAssetBundle.js +86 -0
  12. package/dist/data/XmlData.d.ts +6 -0
  13. package/dist/data/XmlData.js +15 -0
  14. package/dist/index.d.ts +45 -0
  15. package/dist/index.js +73 -0
  16. package/dist/interfaces/IAnimationTicker.d.ts +4 -0
  17. package/dist/interfaces/IAnimationTicker.js +2 -0
  18. package/dist/interfaces/IAvatarLoader.d.ts +12 -0
  19. package/dist/interfaces/IAvatarLoader.js +2 -0
  20. package/dist/interfaces/IConfiguration.d.ts +13 -0
  21. package/dist/interfaces/IConfiguration.js +2 -0
  22. package/dist/interfaces/IFurnitureData.d.ts +13 -0
  23. package/dist/interfaces/IFurnitureData.js +2 -0
  24. package/dist/interfaces/IFurnitureLoader.d.ts +13 -0
  25. package/dist/interfaces/IFurnitureLoader.js +2 -0
  26. package/dist/interfaces/IHitDetection.d.ts +0 -0
  27. package/dist/interfaces/IHitDetection.js +1 -0
  28. package/dist/interfaces/IRoomContext.d.ts +26 -0
  29. package/dist/interfaces/IRoomContext.js +2 -0
  30. package/dist/interfaces/IRoomGeometry.d.ts +6 -0
  31. package/dist/interfaces/IRoomGeometry.js +2 -0
  32. package/dist/interfaces/IRoomObject.d.ts +5 -0
  33. package/dist/interfaces/IRoomObject.js +2 -0
  34. package/dist/interfaces/IRoomObjectContainer.d.ts +5 -0
  35. package/dist/interfaces/IRoomObjectContainer.js +2 -0
  36. package/dist/interfaces/IRoomVisualization.d.ts +25 -0
  37. package/dist/interfaces/IRoomVisualization.js +2 -0
  38. package/dist/interfaces/ITextureable.d.ts +5 -0
  39. package/dist/interfaces/ITextureable.js +2 -0
  40. package/dist/interfaces/ITileMap.d.ts +5 -0
  41. package/dist/interfaces/ITileMap.js +2 -0
  42. package/dist/objects/RoomObject.d.ts +24 -0
  43. package/dist/objects/RoomObject.js +69 -0
  44. package/dist/objects/Wsproom.d.ts +22 -0
  45. package/dist/objects/Wsproom.js +86 -0
  46. package/dist/objects/animation/AnimationTicker.d.ts +13 -0
  47. package/dist/objects/animation/AnimationTicker.js +37 -0
  48. package/dist/objects/animation/ObjectAnimation.d.ts +36 -0
  49. package/dist/objects/animation/ObjectAnimation.js +93 -0
  50. package/dist/objects/avatar/Avatar.d.ts +244 -0
  51. package/dist/objects/avatar/Avatar.js +548 -0
  52. package/dist/objects/avatar/AvatarAssetLibraryCollection.d.ts +20 -0
  53. package/dist/objects/avatar/AvatarAssetLibraryCollection.js +70 -0
  54. package/dist/objects/avatar/AvatarEffectBundle.d.ts +15 -0
  55. package/dist/objects/avatar/AvatarEffectBundle.js +34 -0
  56. package/dist/objects/avatar/AvatarLoader.d.ts +33 -0
  57. package/dist/objects/avatar/AvatarLoader.js +218 -0
  58. package/dist/objects/avatar/BaseAvatar.d.ts +84 -0
  59. package/dist/objects/avatar/BaseAvatar.js +386 -0
  60. package/dist/objects/avatar/data/AvatarActionsData.d.ts +12 -0
  61. package/dist/objects/avatar/data/AvatarActionsData.js +84 -0
  62. package/dist/objects/avatar/data/AvatarAnimationData.d.ts +14 -0
  63. package/dist/objects/avatar/data/AvatarAnimationData.js +126 -0
  64. package/dist/objects/avatar/data/AvatarData.d.ts +6 -0
  65. package/dist/objects/avatar/data/AvatarData.js +15 -0
  66. package/dist/objects/avatar/data/AvatarEffectData.d.ts +31 -0
  67. package/dist/objects/avatar/data/AvatarEffectData.js +186 -0
  68. package/dist/objects/avatar/data/AvatarEffectMap.d.ts +9 -0
  69. package/dist/objects/avatar/data/AvatarEffectMap.js +38 -0
  70. package/dist/objects/avatar/data/AvatarGeometryData.d.ts +17 -0
  71. package/dist/objects/avatar/data/AvatarGeometryData.js +122 -0
  72. package/dist/objects/avatar/data/AvatarManifestData.d.ts +12 -0
  73. package/dist/objects/avatar/data/AvatarManifestData.js +55 -0
  74. package/dist/objects/avatar/data/AvatarOffsetsData.d.ts +10 -0
  75. package/dist/objects/avatar/data/AvatarOffsetsData.js +17 -0
  76. package/dist/objects/avatar/data/AvatarPartSetsData.d.ts +12 -0
  77. package/dist/objects/avatar/data/AvatarPartSetsData.js +38 -0
  78. package/dist/objects/avatar/data/FigureData.d.ts +14 -0
  79. package/dist/objects/avatar/data/FigureData.js +106 -0
  80. package/dist/objects/avatar/data/FigureMapData.d.ts +11 -0
  81. package/dist/objects/avatar/data/FigureMapData.js +47 -0
  82. package/dist/objects/avatar/data/ManifestLibrary.d.ts +12 -0
  83. package/dist/objects/avatar/data/ManifestLibrary.js +29 -0
  84. package/dist/objects/avatar/data/interfaces/IAvatarActionsData.d.ts +18 -0
  85. package/dist/objects/avatar/data/interfaces/IAvatarActionsData.js +2 -0
  86. package/dist/objects/avatar/data/interfaces/IAvatarAnimationData.d.ts +10 -0
  87. package/dist/objects/avatar/data/interfaces/IAvatarAnimationData.js +2 -0
  88. package/dist/objects/avatar/data/interfaces/IAvatarEffectBundle.d.ts +9 -0
  89. package/dist/objects/avatar/data/interfaces/IAvatarEffectBundle.js +2 -0
  90. package/dist/objects/avatar/data/interfaces/IAvatarEffectData.d.ts +49 -0
  91. package/dist/objects/avatar/data/interfaces/IAvatarEffectData.js +2 -0
  92. package/dist/objects/avatar/data/interfaces/IAvatarEffectMap.d.ts +9 -0
  93. package/dist/objects/avatar/data/interfaces/IAvatarEffectMap.js +2 -0
  94. package/dist/objects/avatar/data/interfaces/IAvatarGeometryData.d.ts +23 -0
  95. package/dist/objects/avatar/data/interfaces/IAvatarGeometryData.js +2 -0
  96. package/dist/objects/avatar/data/interfaces/IAvatarManifestData.d.ts +18 -0
  97. package/dist/objects/avatar/data/interfaces/IAvatarManifestData.js +2 -0
  98. package/dist/objects/avatar/data/interfaces/IAvatarOffsetsData.d.ts +6 -0
  99. package/dist/objects/avatar/data/interfaces/IAvatarOffsetsData.js +2 -0
  100. package/dist/objects/avatar/data/interfaces/IAvatarPartSetsData.d.ts +7 -0
  101. package/dist/objects/avatar/data/interfaces/IAvatarPartSetsData.js +2 -0
  102. package/dist/objects/avatar/data/interfaces/IFigureData.d.ts +11 -0
  103. package/dist/objects/avatar/data/interfaces/IFigureData.js +2 -0
  104. package/dist/objects/avatar/data/interfaces/IFigureMapData.d.ts +4 -0
  105. package/dist/objects/avatar/data/interfaces/IFigureMapData.js +2 -0
  106. package/dist/objects/avatar/data/interfaces/IManifestLibrary.d.ts +6 -0
  107. package/dist/objects/avatar/data/interfaces/IManifestLibrary.js +2 -0
  108. package/dist/objects/avatar/data/static/actions.xml.d.ts +1 -0
  109. package/dist/objects/avatar/data/static/actions.xml.js +4 -0
  110. package/dist/objects/avatar/data/static/animation.xml.d.ts +1 -0
  111. package/dist/objects/avatar/data/static/animation.xml.js +4 -0
  112. package/dist/objects/avatar/data/static/geometry.xml.d.ts +1 -0
  113. package/dist/objects/avatar/data/static/geometry.xml.js +4 -0
  114. package/dist/objects/avatar/data/static/partsets.xml.d.ts +1 -0
  115. package/dist/objects/avatar/data/static/partsets.xml.js +4 -0
  116. package/dist/objects/avatar/enum/AvatarAction.d.ts +29 -0
  117. package/dist/objects/avatar/enum/AvatarAction.js +33 -0
  118. package/dist/objects/avatar/enum/AvatarFigurePartType.d.ts +27 -0
  119. package/dist/objects/avatar/enum/AvatarFigurePartType.js +31 -0
  120. package/dist/objects/avatar/structure/AvatarAdditionPart.d.ts +32 -0
  121. package/dist/objects/avatar/structure/AvatarAdditionPart.js +136 -0
  122. package/dist/objects/avatar/structure/AvatarBodyPart.d.ts +30 -0
  123. package/dist/objects/avatar/structure/AvatarBodyPart.js +96 -0
  124. package/dist/objects/avatar/structure/AvatarBodyPartList.d.ts +36 -0
  125. package/dist/objects/avatar/structure/AvatarBodyPartList.js +91 -0
  126. package/dist/objects/avatar/structure/AvatarDrawDefinition.d.ts +39 -0
  127. package/dist/objects/avatar/structure/AvatarDrawDefinition.js +135 -0
  128. package/dist/objects/avatar/structure/AvatarEffectPart.d.ts +25 -0
  129. package/dist/objects/avatar/structure/AvatarEffectPart.js +118 -0
  130. package/dist/objects/avatar/structure/AvatarPart.d.ts +54 -0
  131. package/dist/objects/avatar/structure/AvatarPart.js +162 -0
  132. package/dist/objects/avatar/structure/AvatarPartList.d.ts +30 -0
  133. package/dist/objects/avatar/structure/AvatarPartList.js +80 -0
  134. package/dist/objects/avatar/structure/BodyPartDrawOrder.d.ts +3 -0
  135. package/dist/objects/avatar/structure/BodyPartDrawOrder.js +170 -0
  136. package/dist/objects/avatar/structure/interface/IAvatarDrawablePart.d.ts +4 -0
  137. package/dist/objects/avatar/structure/interface/IAvatarDrawablePart.js +2 -0
  138. package/dist/objects/avatar/structure/interface/IAvatarEffectPart.d.ts +7 -0
  139. package/dist/objects/avatar/structure/interface/IAvatarEffectPart.js +2 -0
  140. package/dist/objects/avatar/types/index.d.ts +43 -0
  141. package/dist/objects/avatar/types/index.js +2 -0
  142. package/dist/objects/avatar/util/createLookServer.d.ts +18 -0
  143. package/dist/objects/avatar/util/createLookServer.js +18 -0
  144. package/dist/objects/avatar/util/getAssetForFrame.d.ts +21 -0
  145. package/dist/objects/avatar/util/getAssetForFrame.js +42 -0
  146. package/dist/objects/avatar/util/getAssetFromPartMeta.d.ts +30 -0
  147. package/dist/objects/avatar/util/getAssetFromPartMeta.js +50 -0
  148. package/dist/objects/avatar/util/getAvatarDirection.d.ts +1 -0
  149. package/dist/objects/avatar/util/getAvatarDirection.js +18 -0
  150. package/dist/objects/avatar/util/getAvatarDrawDefinition.d.ts +22 -0
  151. package/dist/objects/avatar/util/getAvatarDrawDefinition.js +31 -0
  152. package/dist/objects/avatar/util/getDrawOrderForActions.d.ts +4 -0
  153. package/dist/objects/avatar/util/getDrawOrderForActions.js +22 -0
  154. package/dist/objects/avatar/util/getEffectSprite.d.ts +9 -0
  155. package/dist/objects/avatar/util/getEffectSprite.js +27 -0
  156. package/dist/objects/avatar/util/getFlippedMetaData.d.ts +36 -0
  157. package/dist/objects/avatar/util/getFlippedMetaData.js +95 -0
  158. package/dist/objects/avatar/util/getLibrariesForLook.d.ts +7 -0
  159. package/dist/objects/avatar/util/getLibrariesForLook.js +32 -0
  160. package/dist/objects/avatar/util/index.d.ts +1 -0
  161. package/dist/objects/avatar/util/index.js +17 -0
  162. package/dist/objects/avatar/util/parseLookString.d.ts +5 -0
  163. package/dist/objects/avatar/util/parseLookString.js +15 -0
  164. package/dist/objects/events/EventEmitter.d.ts +11 -0
  165. package/dist/objects/events/EventEmitter.js +31 -0
  166. package/dist/objects/events/EventManager.d.ts +27 -0
  167. package/dist/objects/events/EventManager.js +248 -0
  168. package/dist/objects/events/EventManagerContainer.d.ts +11 -0
  169. package/dist/objects/events/EventManagerContainer.js +36 -0
  170. package/dist/objects/events/EventManagerNode.d.ts +16 -0
  171. package/dist/objects/events/EventManagerNode.js +55 -0
  172. package/dist/objects/events/EventOverOutHandler.d.ts +24 -0
  173. package/dist/objects/events/EventOverOutHandler.js +90 -0
  174. package/dist/objects/events/interfaces/IEventGroup.d.ts +7 -0
  175. package/dist/objects/events/interfaces/IEventGroup.js +6 -0
  176. package/dist/objects/events/interfaces/IEventHandler.d.ts +9 -0
  177. package/dist/objects/events/interfaces/IEventHandler.js +2 -0
  178. package/dist/objects/events/interfaces/IEventHittable.d.ts +9 -0
  179. package/dist/objects/events/interfaces/IEventHittable.js +2 -0
  180. package/dist/objects/events/interfaces/IEventManager.d.ts +8 -0
  181. package/dist/objects/events/interfaces/IEventManager.js +2 -0
  182. package/dist/objects/events/interfaces/IEventManagerEvent.d.ts +11 -0
  183. package/dist/objects/events/interfaces/IEventManagerEvent.js +2 -0
  184. package/dist/objects/events/interfaces/IEventManagerNode.d.ts +3 -0
  185. package/dist/objects/events/interfaces/IEventManagerNode.js +2 -0
  186. package/dist/objects/events/interfaces/IEventTarget.d.ts +4 -0
  187. package/dist/objects/events/interfaces/IEventTarget.js +2 -0
  188. package/dist/objects/furniture/BaseFurniture.d.ts +152 -0
  189. package/dist/objects/furniture/BaseFurniture.js +519 -0
  190. package/dist/objects/furniture/FloorFurniture.d.ts +163 -0
  191. package/dist/objects/furniture/FloorFurniture.js +320 -0
  192. package/dist/objects/furniture/FurnitureData.d.ts +14 -0
  193. package/dist/objects/furniture/FurnitureData.js +73 -0
  194. package/dist/objects/furniture/FurnitureExtraData.d.ts +4 -0
  195. package/dist/objects/furniture/FurnitureExtraData.js +2 -0
  196. package/dist/objects/furniture/FurnitureFetchInfo.d.ts +5 -0
  197. package/dist/objects/furniture/FurnitureFetchInfo.js +2 -0
  198. package/dist/objects/furniture/FurnitureHelper.d.ts +17 -0
  199. package/dist/objects/furniture/FurnitureHelper.js +90 -0
  200. package/dist/objects/furniture/FurnitureLoader.d.ts +22 -0
  201. package/dist/objects/furniture/FurnitureLoader.js +85 -0
  202. package/dist/objects/furniture/FurnitureRoomVisualization.d.ts +10 -0
  203. package/dist/objects/furniture/FurnitureRoomVisualization.js +26 -0
  204. package/dist/objects/furniture/FurnitureSprite.d.ts +25 -0
  205. package/dist/objects/furniture/FurnitureSprite.js +69 -0
  206. package/dist/objects/furniture/FurnitureVisualizationView.d.ts +66 -0
  207. package/dist/objects/furniture/FurnitureVisualizationView.js +482 -0
  208. package/dist/objects/furniture/IFurniture.d.ts +26 -0
  209. package/dist/objects/furniture/IFurniture.js +2 -0
  210. package/dist/objects/furniture/IFurnitureAssetBundle.d.ts +12 -0
  211. package/dist/objects/furniture/IFurnitureAssetBundle.js +2 -0
  212. package/dist/objects/furniture/IFurnitureVisualization.d.ts +11 -0
  213. package/dist/objects/furniture/IFurnitureVisualization.js +2 -0
  214. package/dist/objects/furniture/IFurnitureVisualizationView.d.ts +63 -0
  215. package/dist/objects/furniture/IFurnitureVisualizationView.js +2 -0
  216. package/dist/objects/furniture/JsonFurnitureAssetBundle.d.ts +18 -0
  217. package/dist/objects/furniture/JsonFurnitureAssetBundle.js +89 -0
  218. package/dist/objects/furniture/WallFurniture.d.ts +90 -0
  219. package/dist/objects/furniture/WallFurniture.js +229 -0
  220. package/dist/objects/furniture/XmlFurnitureAssetBundle.d.ts +17 -0
  221. package/dist/objects/furniture/XmlFurnitureAssetBundle.js +35 -0
  222. package/dist/objects/furniture/data/FurnitureAssetsData.d.ts +11 -0
  223. package/dist/objects/furniture/data/FurnitureAssetsData.js +51 -0
  224. package/dist/objects/furniture/data/FurnitureAssetsJson.d.ts +4 -0
  225. package/dist/objects/furniture/data/FurnitureAssetsJson.js +2 -0
  226. package/dist/objects/furniture/data/FurnitureIndexData.d.ts +14 -0
  227. package/dist/objects/furniture/data/FurnitureIndexData.js +30 -0
  228. package/dist/objects/furniture/data/FurnitureIndexJson.d.ts +4 -0
  229. package/dist/objects/furniture/data/FurnitureIndexJson.js +2 -0
  230. package/dist/objects/furniture/data/FurnitureJson.d.ts +11 -0
  231. package/dist/objects/furniture/data/FurnitureJson.js +2 -0
  232. package/dist/objects/furniture/data/FurnitureLogicData.d.ts +10 -0
  233. package/dist/objects/furniture/data/FurnitureLogicData.js +43 -0
  234. package/dist/objects/furniture/data/FurnitureLogicJson.d.ts +3 -0
  235. package/dist/objects/furniture/data/FurnitureLogicJson.js +2 -0
  236. package/dist/objects/furniture/data/FurnitureVisualizationData.d.ts +26 -0
  237. package/dist/objects/furniture/data/FurnitureVisualizationData.js +281 -0
  238. package/dist/objects/furniture/data/FurnitureVisualizationJson.d.ts +37 -0
  239. package/dist/objects/furniture/data/FurnitureVisualizationJson.js +2 -0
  240. package/dist/objects/furniture/data/JsonFurnitureAssetsData.d.ts +8 -0
  241. package/dist/objects/furniture/data/JsonFurnitureAssetsData.js +16 -0
  242. package/dist/objects/furniture/data/JsonFurnitureLogicData.d.ts +7 -0
  243. package/dist/objects/furniture/data/JsonFurnitureLogicData.js +12 -0
  244. package/dist/objects/furniture/data/JsonFurnitureVisualizationData.d.ts +18 -0
  245. package/dist/objects/furniture/data/JsonFurnitureVisualizationData.js +95 -0
  246. package/dist/objects/furniture/data/interfaces/IFurnitureAssetsData.d.ts +12 -0
  247. package/dist/objects/furniture/data/interfaces/IFurnitureAssetsData.js +2 -0
  248. package/dist/objects/furniture/data/interfaces/IFurnitureIndexData.d.ts +4 -0
  249. package/dist/objects/furniture/data/interfaces/IFurnitureIndexData.js +2 -0
  250. package/dist/objects/furniture/data/interfaces/IFurnitureLogicData.d.ts +13 -0
  251. package/dist/objects/furniture/data/interfaces/IFurnitureLogicData.js +2 -0
  252. package/dist/objects/furniture/data/interfaces/IFurnitureVisualizationData.d.ts +37 -0
  253. package/dist/objects/furniture/data/interfaces/IFurnitureVisualizationData.js +2 -0
  254. package/dist/objects/furniture/filter/ActiveWiredFilter.d.ts +4 -0
  255. package/dist/objects/furniture/filter/ActiveWiredFilter.js +77 -0
  256. package/dist/objects/furniture/filter/HighlightFilter.d.ts +6 -0
  257. package/dist/objects/furniture/filter/HighlightFilter.js +93 -0
  258. package/dist/objects/furniture/filter/filterVertex.d.ts +1 -0
  259. package/dist/objects/furniture/filter/filterVertex.js +32 -0
  260. package/dist/objects/furniture/util/DrawDefinition.d.ts +18 -0
  261. package/dist/objects/furniture/util/DrawDefinition.js +2 -0
  262. package/dist/objects/furniture/util/IFurnitureEventHandlers.d.ts +9 -0
  263. package/dist/objects/furniture/util/IFurnitureEventHandlers.js +2 -0
  264. package/dist/objects/furniture/util/getDirectionForFurniture.d.ts +1 -0
  265. package/dist/objects/furniture/util/getDirectionForFurniture.js +18 -0
  266. package/dist/objects/furniture/util/getFurniDrawDefinition.d.ts +14 -0
  267. package/dist/objects/furniture/util/getFurniDrawDefinition.js +101 -0
  268. package/dist/objects/furniture/util/getFurnitureFetch.d.ts +3 -0
  269. package/dist/objects/furniture/util/getFurnitureFetch.js +14 -0
  270. package/dist/objects/furniture/util/index.d.ts +4 -0
  271. package/dist/objects/furniture/util/index.js +21 -0
  272. package/dist/objects/furniture/util/loadFurni.d.ts +20 -0
  273. package/dist/objects/furniture/util/loadFurni.js +49 -0
  274. package/dist/objects/furniture/util/visualization/VisualizationXml.d.ts +73 -0
  275. package/dist/objects/furniture/util/visualization/VisualizationXml.js +2 -0
  276. package/dist/objects/furniture/util/visualization/parseAnimations.d.ts +10 -0
  277. package/dist/objects/furniture/util/visualization/parseAnimations.js +35 -0
  278. package/dist/objects/furniture/util/visualization/parseColors.d.ts +2 -0
  279. package/dist/objects/furniture/util/visualization/parseColors.js +19 -0
  280. package/dist/objects/furniture/util/visualization/parseDirections.d.ts +5 -0
  281. package/dist/objects/furniture/util/visualization/parseDirections.js +27 -0
  282. package/dist/objects/furniture/util/visualization/parseLayers.d.ts +9 -0
  283. package/dist/objects/furniture/util/visualization/parseLayers.js +19 -0
  284. package/dist/objects/furniture/util/visualization/parseVisualization.d.ts +17 -0
  285. package/dist/objects/furniture/util/visualization/parseVisualization.js +44 -0
  286. package/dist/objects/furniture/visualization/AnimatedFurnitureVisualization.d.ts +40 -0
  287. package/dist/objects/furniture/visualization/AnimatedFurnitureVisualization.js +214 -0
  288. package/dist/objects/furniture/visualization/BasicFurnitureVisualization.d.ts +19 -0
  289. package/dist/objects/furniture/visualization/BasicFurnitureVisualization.js +54 -0
  290. package/dist/objects/furniture/visualization/FurnitureBottleVisualization.d.ts +17 -0
  291. package/dist/objects/furniture/visualization/FurnitureBottleVisualization.js +65 -0
  292. package/dist/objects/furniture/visualization/FurnitureGuildCustomizedVisualization.d.ts +28 -0
  293. package/dist/objects/furniture/visualization/FurnitureGuildCustomizedVisualization.js +87 -0
  294. package/dist/objects/furniture/visualization/FurnitureVisualization.d.ts +16 -0
  295. package/dist/objects/furniture/visualization/FurnitureVisualization.js +24 -0
  296. package/dist/objects/hitdetection/ClickHandler.d.ts +25 -0
  297. package/dist/objects/hitdetection/ClickHandler.js +79 -0
  298. package/dist/objects/hitdetection/HitSprite.d.ts +65 -0
  299. package/dist/objects/hitdetection/HitSprite.js +223 -0
  300. package/dist/objects/hitdetection/HitTexture.d.ts +21 -0
  301. package/dist/objects/hitdetection/HitTexture.js +153 -0
  302. package/dist/objects/interfaces/IMoveable.d.ts +4 -0
  303. package/dist/objects/interfaces/IMoveable.js +2 -0
  304. package/dist/objects/interfaces/IScreenPositioned.d.ts +6 -0
  305. package/dist/objects/interfaces/IScreenPositioned.js +2 -0
  306. package/dist/objects/room/ILandscapeContainer.d.ts +6 -0
  307. package/dist/objects/room/ILandscapeContainer.js +2 -0
  308. package/dist/objects/room/IRoomRectangle.d.ts +9 -0
  309. package/dist/objects/room/IRoomRectangle.js +2 -0
  310. package/dist/objects/room/ITileColorable.d.ts +7 -0
  311. package/dist/objects/room/ITileColorable.js +2 -0
  312. package/dist/objects/room/IWallColorable.d.ts +7 -0
  313. package/dist/objects/room/IWallColorable.js +2 -0
  314. package/dist/objects/room/Landscape.d.ts +92 -0
  315. package/dist/objects/room/Landscape.js +389 -0
  316. package/dist/objects/room/ParsedTileMap.d.ts +14 -0
  317. package/dist/objects/room/ParsedTileMap.js +26 -0
  318. package/dist/objects/room/Pathfinding.d.ts +31 -0
  319. package/dist/objects/room/Pathfinding.js +241 -0
  320. package/dist/objects/room/Room.d.ts +182 -0
  321. package/dist/objects/room/Room.js +394 -0
  322. package/dist/objects/room/RoomCamera.d.ts +56 -0
  323. package/dist/objects/room/RoomCamera.js +358 -0
  324. package/dist/objects/room/RoomLandscapeMaskSprite.d.ts +38 -0
  325. package/dist/objects/room/RoomLandscapeMaskSprite.js +100 -0
  326. package/dist/objects/room/RoomModelVisualization.d.ts +132 -0
  327. package/dist/objects/room/RoomModelVisualization.js +561 -0
  328. package/dist/objects/room/RoomObjectContainer.d.ts +12 -0
  329. package/dist/objects/room/RoomObjectContainer.js +35 -0
  330. package/dist/objects/room/TileMapEditorLayer.d.ts +44 -0
  331. package/dist/objects/room/TileMapEditorLayer.js +331 -0
  332. package/dist/objects/room/data/LandscapeData.d.ts +26 -0
  333. package/dist/objects/room/data/LandscapeData.js +132 -0
  334. package/dist/objects/room/matrixes.d.ts +9 -0
  335. package/dist/objects/room/matrixes.js +35 -0
  336. package/dist/objects/room/parts/IRoomPart.d.ts +4 -0
  337. package/dist/objects/room/parts/IRoomPart.js +2 -0
  338. package/dist/objects/room/parts/RoomPartData.d.ts +15 -0
  339. package/dist/objects/room/parts/RoomPartData.js +2 -0
  340. package/dist/objects/room/parts/Stair.d.ts +23 -0
  341. package/dist/objects/room/parts/Stair.js +127 -0
  342. package/dist/objects/room/parts/StairCorner.d.ts +22 -0
  343. package/dist/objects/room/parts/StairCorner.js +192 -0
  344. package/dist/objects/room/parts/Tile.d.ts +33 -0
  345. package/dist/objects/room/parts/Tile.js +138 -0
  346. package/dist/objects/room/parts/TileCursor.d.ts +43 -0
  347. package/dist/objects/room/parts/TileCursor.js +193 -0
  348. package/dist/objects/room/parts/WallLeft.d.ts +47 -0
  349. package/dist/objects/room/parts/WallLeft.js +179 -0
  350. package/dist/objects/room/parts/WallOuterCorner.d.ts +16 -0
  351. package/dist/objects/room/parts/WallOuterCorner.js +84 -0
  352. package/dist/objects/room/parts/WallRight.d.ts +5 -0
  353. package/dist/objects/room/parts/WallRight.js +18 -0
  354. package/dist/objects/room/util/LegacyWallGeometry.d.ts +33 -0
  355. package/dist/objects/room/util/LegacyWallGeometry.js +93 -0
  356. package/dist/objects/room/util/createPlaneMatrix.d.ts +26 -0
  357. package/dist/objects/room/util/createPlaneMatrix.js +63 -0
  358. package/dist/objects/room/util/getMaskId.d.ts +1 -0
  359. package/dist/objects/room/util/getMaskId.js +13 -0
  360. package/dist/objects/room/util/getPosition.d.ts +7 -0
  361. package/dist/objects/room/util/getPosition.js +14 -0
  362. package/dist/objects/room/util/getTileColors.d.ts +10 -0
  363. package/dist/objects/room/util/getTileColors.js +34 -0
  364. package/dist/objects/room/util/getTileMapBounds.d.ts +10 -0
  365. package/dist/objects/room/util/getTileMapBounds.js +40 -0
  366. package/dist/objects/room/util/getTilePosition.d.ts +2 -0
  367. package/dist/objects/room/util/getTilePosition.js +42 -0
  368. package/dist/objects/room/util/getTilePositionForTile.d.ts +11 -0
  369. package/dist/objects/room/util/getTilePositionForTile.js +11 -0
  370. package/dist/types/RoomPosition.d.ts +44 -0
  371. package/dist/types/RoomPosition.js +2 -0
  372. package/dist/types/TileType.d.ts +2 -0
  373. package/dist/types/TileType.js +2 -0
  374. package/dist/types/WallPosition.d.ts +23 -0
  375. package/dist/types/WallPosition.js +2 -0
  376. package/dist/types/types.d.ts +0 -0
  377. package/dist/types/types.js +1 -0
  378. package/dist/util/applyTextureProperties.d.ts +2 -0
  379. package/dist/util/applyTextureProperties.js +6 -0
  380. package/dist/util/associateBy.d.ts +1 -0
  381. package/dist/util/associateBy.js +11 -0
  382. package/dist/util/furnitureDataTransformers.d.ts +27 -0
  383. package/dist/util/furnitureDataTransformers.js +58 -0
  384. package/dist/util/getIntFromHex.d.ts +1 -0
  385. package/dist/util/getIntFromHex.js +6 -0
  386. package/dist/util/getNumberFromAttribute.d.ts +1 -0
  387. package/dist/util/getNumberFromAttribute.js +11 -0
  388. package/dist/util/getTileInfo.d.ts +31 -0
  389. package/dist/util/getTileInfo.js +107 -0
  390. package/dist/util/getZOrder.d.ts +1 -0
  391. package/dist/util/getZOrder.js +6 -0
  392. package/dist/util/isPointInside.d.ts +1 -0
  393. package/dist/util/isPointInside.js +18 -0
  394. package/dist/util/isSetEqual.d.ts +1 -0
  395. package/dist/util/isSetEqual.js +11 -0
  396. package/dist/util/isTile.d.ts +1 -0
  397. package/dist/util/isTile.js +5 -0
  398. package/dist/util/loadImageFromBlob.d.ts +1 -0
  399. package/dist/util/loadImageFromBlob.js +13 -0
  400. package/dist/util/loadImageFromUrl.d.ts +1 -0
  401. package/dist/util/loadImageFromUrl.js +14 -0
  402. package/dist/util/loadRoomTexture.d.ts +2 -0
  403. package/dist/util/loadRoomTexture.js +51 -0
  404. package/dist/util/mock.d.ts +1 -0
  405. package/dist/util/mock.js +6 -0
  406. package/dist/util/notNullOrUndefined.d.ts +1 -0
  407. package/dist/util/notNullOrUndefined.js +6 -0
  408. package/dist/util/parseTileMap.d.ts +49 -0
  409. package/dist/util/parseTileMap.js +188 -0
  410. package/dist/util/parseTileMapString.d.ts +2 -0
  411. package/dist/util/parseTileMapString.js +16 -0
  412. package/dist/util/tilemap/findEntranceTile.d.ts +5 -0
  413. package/dist/util/tilemap/findEntranceTile.js +24 -0
  414. package/dist/util/tilemap/getColumnWalls.d.ts +8 -0
  415. package/dist/util/tilemap/getColumnWalls.js +43 -0
  416. package/dist/util/tilemap/getRowWalls.d.ts +8 -0
  417. package/dist/util/tilemap/getRowWalls.js +43 -0
  418. package/dist/util/tilemap/hasWallTiles.d.ts +2 -0
  419. package/dist/util/tilemap/hasWallTiles.js +9 -0
  420. package/dist/util/tilemap/padTileMap.d.ts +6 -0
  421. package/dist/util/tilemap/padTileMap.js +24 -0
  422. package/dist/util/tilemap/traceWalls.d.ts +25 -0
  423. package/dist/util/tilemap/traceWalls.js +379 -0
  424. package/dist/util/tilemap/wallsFromContour.d.ts +20 -0
  425. package/dist/util/tilemap/wallsFromContour.js +48 -0
  426. package/dist/util/traverseDOMTree.d.ts +4 -0
  427. package/dist/util/traverseDOMTree.js +8 -0
  428. package/dist-esm/__mocks__/setupTests.js +34 -0
  429. package/dist-esm/assets/IAssetBundle.js +1 -0
  430. package/dist-esm/assets/LegacyAssetBundle.js +25 -0
  431. package/dist-esm/assets/WsproomAssetBundle.js +79 -0
  432. package/dist-esm/data/XmlData.js +11 -0
  433. package/dist-esm/index.js +33 -0
  434. package/dist-esm/interfaces/IAnimationTicker.js +1 -0
  435. package/dist-esm/interfaces/IAvatarLoader.js +1 -0
  436. package/dist-esm/interfaces/IConfiguration.js +1 -0
  437. package/dist-esm/interfaces/IFurnitureData.js +1 -0
  438. package/dist-esm/interfaces/IFurnitureLoader.js +1 -0
  439. package/dist-esm/interfaces/IHitDetection.js +1 -0
  440. package/dist-esm/interfaces/IRoomContext.js +1 -0
  441. package/dist-esm/interfaces/IRoomGeometry.js +1 -0
  442. package/dist-esm/interfaces/IRoomObject.js +1 -0
  443. package/dist-esm/interfaces/IRoomObjectContainer.js +1 -0
  444. package/dist-esm/interfaces/IRoomVisualization.js +1 -0
  445. package/dist-esm/interfaces/ITextureable.js +1 -0
  446. package/dist-esm/interfaces/ITileMap.js +1 -0
  447. package/dist-esm/objects/RoomObject.js +65 -0
  448. package/dist-esm/objects/Wsproom.js +49 -0
  449. package/dist-esm/objects/animation/AnimationTicker.js +33 -0
  450. package/dist-esm/objects/animation/ObjectAnimation.js +89 -0
  451. package/dist-esm/objects/avatar/Avatar.js +544 -0
  452. package/dist-esm/objects/avatar/AvatarAssetLibraryCollection.js +66 -0
  453. package/dist-esm/objects/avatar/AvatarEffectBundle.js +30 -0
  454. package/dist-esm/objects/avatar/AvatarLoader.js +211 -0
  455. package/dist-esm/objects/avatar/BaseAvatar.js +349 -0
  456. package/dist-esm/objects/avatar/data/AvatarActionsData.js +80 -0
  457. package/dist-esm/objects/avatar/data/AvatarAnimationData.js +122 -0
  458. package/dist-esm/objects/avatar/data/AvatarData.js +11 -0
  459. package/dist-esm/objects/avatar/data/AvatarEffectData.js +182 -0
  460. package/dist-esm/objects/avatar/data/AvatarEffectMap.js +34 -0
  461. package/dist-esm/objects/avatar/data/AvatarGeometryData.js +118 -0
  462. package/dist-esm/objects/avatar/data/AvatarManifestData.js +51 -0
  463. package/dist-esm/objects/avatar/data/AvatarOffsetsData.js +13 -0
  464. package/dist-esm/objects/avatar/data/AvatarPartSetsData.js +34 -0
  465. package/dist-esm/objects/avatar/data/FigureData.js +102 -0
  466. package/dist-esm/objects/avatar/data/FigureMapData.js +43 -0
  467. package/dist-esm/objects/avatar/data/ManifestLibrary.js +25 -0
  468. package/dist-esm/objects/avatar/data/interfaces/IAvatarActionsData.js +1 -0
  469. package/dist-esm/objects/avatar/data/interfaces/IAvatarAnimationData.js +1 -0
  470. package/dist-esm/objects/avatar/data/interfaces/IAvatarEffectBundle.js +1 -0
  471. package/dist-esm/objects/avatar/data/interfaces/IAvatarEffectData.js +1 -0
  472. package/dist-esm/objects/avatar/data/interfaces/IAvatarEffectMap.js +1 -0
  473. package/dist-esm/objects/avatar/data/interfaces/IAvatarGeometryData.js +1 -0
  474. package/dist-esm/objects/avatar/data/interfaces/IAvatarManifestData.js +1 -0
  475. package/dist-esm/objects/avatar/data/interfaces/IAvatarOffsetsData.js +1 -0
  476. package/dist-esm/objects/avatar/data/interfaces/IAvatarPartSetsData.js +1 -0
  477. package/dist-esm/objects/avatar/data/interfaces/IFigureData.js +1 -0
  478. package/dist-esm/objects/avatar/data/interfaces/IFigureMapData.js +1 -0
  479. package/dist-esm/objects/avatar/data/interfaces/IManifestLibrary.js +1 -0
  480. package/dist-esm/objects/avatar/data/static/actions.xml.js +1 -0
  481. package/dist-esm/objects/avatar/data/static/animation.xml.js +1 -0
  482. package/dist-esm/objects/avatar/data/static/geometry.xml.js +1 -0
  483. package/dist-esm/objects/avatar/data/static/partsets.xml.js +1 -0
  484. package/dist-esm/objects/avatar/enum/AvatarAction.js +30 -0
  485. package/dist-esm/objects/avatar/enum/AvatarFigurePartType.js +28 -0
  486. package/dist-esm/objects/avatar/structure/AvatarAdditionPart.js +132 -0
  487. package/dist-esm/objects/avatar/structure/AvatarBodyPart.js +92 -0
  488. package/dist-esm/objects/avatar/structure/AvatarBodyPartList.js +87 -0
  489. package/dist-esm/objects/avatar/structure/AvatarDrawDefinition.js +131 -0
  490. package/dist-esm/objects/avatar/structure/AvatarEffectPart.js +113 -0
  491. package/dist-esm/objects/avatar/structure/AvatarPart.js +158 -0
  492. package/dist-esm/objects/avatar/structure/AvatarPartList.js +76 -0
  493. package/dist-esm/objects/avatar/structure/BodyPartDrawOrder.js +166 -0
  494. package/dist-esm/objects/avatar/structure/interface/IAvatarDrawablePart.js +1 -0
  495. package/dist-esm/objects/avatar/structure/interface/IAvatarEffectPart.js +1 -0
  496. package/dist-esm/objects/avatar/types/index.js +1 -0
  497. package/dist-esm/objects/avatar/util/createLookServer.js +15 -0
  498. package/dist-esm/objects/avatar/util/getAssetForFrame.js +39 -0
  499. package/dist-esm/objects/avatar/util/getAssetFromPartMeta.js +46 -0
  500. package/dist-esm/objects/avatar/util/getAvatarDirection.js +15 -0
  501. package/dist-esm/objects/avatar/util/getAvatarDrawDefinition.js +27 -0
  502. package/dist-esm/objects/avatar/util/getDrawOrderForActions.js +19 -0
  503. package/dist-esm/objects/avatar/util/getEffectSprite.js +24 -0
  504. package/dist-esm/objects/avatar/util/getFlippedMetaData.js +89 -0
  505. package/dist-esm/objects/avatar/util/getLibrariesForLook.js +29 -0
  506. package/dist-esm/objects/avatar/util/index.js +1 -0
  507. package/dist-esm/objects/avatar/util/parseLookString.js +12 -0
  508. package/dist-esm/objects/events/EventEmitter.js +27 -0
  509. package/dist-esm/objects/events/EventManager.js +241 -0
  510. package/dist-esm/objects/events/EventManagerContainer.js +32 -0
  511. package/dist-esm/objects/events/EventManagerNode.js +51 -0
  512. package/dist-esm/objects/events/EventOverOutHandler.js +86 -0
  513. package/dist-esm/objects/events/interfaces/IEventGroup.js +3 -0
  514. package/dist-esm/objects/events/interfaces/IEventHandler.js +1 -0
  515. package/dist-esm/objects/events/interfaces/IEventHittable.js +1 -0
  516. package/dist-esm/objects/events/interfaces/IEventManager.js +1 -0
  517. package/dist-esm/objects/events/interfaces/IEventManagerEvent.js +1 -0
  518. package/dist-esm/objects/events/interfaces/IEventManagerNode.js +1 -0
  519. package/dist-esm/objects/events/interfaces/IEventTarget.js +1 -0
  520. package/dist-esm/objects/furniture/BaseFurniture.js +482 -0
  521. package/dist-esm/objects/furniture/FloorFurniture.js +316 -0
  522. package/dist-esm/objects/furniture/FurnitureData.js +69 -0
  523. package/dist-esm/objects/furniture/FurnitureExtraData.js +1 -0
  524. package/dist-esm/objects/furniture/FurnitureFetchInfo.js +1 -0
  525. package/dist-esm/objects/furniture/FurnitureHelper.js +53 -0
  526. package/dist-esm/objects/furniture/FurnitureLoader.js +81 -0
  527. package/dist-esm/objects/furniture/FurnitureRoomVisualization.js +22 -0
  528. package/dist-esm/objects/furniture/FurnitureSprite.js +65 -0
  529. package/dist-esm/objects/furniture/FurnitureVisualizationView.js +478 -0
  530. package/dist-esm/objects/furniture/IFurniture.js +1 -0
  531. package/dist-esm/objects/furniture/IFurnitureAssetBundle.js +1 -0
  532. package/dist-esm/objects/furniture/IFurnitureVisualization.js +1 -0
  533. package/dist-esm/objects/furniture/IFurnitureVisualizationView.js +1 -0
  534. package/dist-esm/objects/furniture/JsonFurnitureAssetBundle.js +52 -0
  535. package/dist-esm/objects/furniture/WallFurniture.js +225 -0
  536. package/dist-esm/objects/furniture/XmlFurnitureAssetBundle.js +31 -0
  537. package/dist-esm/objects/furniture/data/FurnitureAssetsData.js +47 -0
  538. package/dist-esm/objects/furniture/data/FurnitureAssetsJson.js +1 -0
  539. package/dist-esm/objects/furniture/data/FurnitureIndexData.js +26 -0
  540. package/dist-esm/objects/furniture/data/FurnitureIndexJson.js +1 -0
  541. package/dist-esm/objects/furniture/data/FurnitureJson.js +1 -0
  542. package/dist-esm/objects/furniture/data/FurnitureLogicData.js +39 -0
  543. package/dist-esm/objects/furniture/data/FurnitureLogicJson.js +1 -0
  544. package/dist-esm/objects/furniture/data/FurnitureVisualizationData.js +277 -0
  545. package/dist-esm/objects/furniture/data/FurnitureVisualizationJson.js +1 -0
  546. package/dist-esm/objects/furniture/data/JsonFurnitureAssetsData.js +12 -0
  547. package/dist-esm/objects/furniture/data/JsonFurnitureLogicData.js +8 -0
  548. package/dist-esm/objects/furniture/data/JsonFurnitureVisualizationData.js +91 -0
  549. package/dist-esm/objects/furniture/data/interfaces/IFurnitureAssetsData.js +1 -0
  550. package/dist-esm/objects/furniture/data/interfaces/IFurnitureIndexData.js +1 -0
  551. package/dist-esm/objects/furniture/data/interfaces/IFurnitureLogicData.js +1 -0
  552. package/dist-esm/objects/furniture/data/interfaces/IFurnitureVisualizationData.js +1 -0
  553. package/dist-esm/objects/furniture/filter/ActiveWiredFilter.js +40 -0
  554. package/dist-esm/objects/furniture/filter/HighlightFilter.js +56 -0
  555. package/dist-esm/objects/furniture/filter/filterVertex.js +29 -0
  556. package/dist-esm/objects/furniture/util/DrawDefinition.js +1 -0
  557. package/dist-esm/objects/furniture/util/IFurnitureEventHandlers.js +1 -0
  558. package/dist-esm/objects/furniture/util/getDirectionForFurniture.js +15 -0
  559. package/dist-esm/objects/furniture/util/getFurniDrawDefinition.js +98 -0
  560. package/dist-esm/objects/furniture/util/getFurnitureFetch.js +11 -0
  561. package/dist-esm/objects/furniture/util/index.js +4 -0
  562. package/dist-esm/objects/furniture/util/loadFurni.js +46 -0
  563. package/dist-esm/objects/furniture/util/visualization/VisualizationXml.js +1 -0
  564. package/dist-esm/objects/furniture/util/visualization/parseAnimations.js +32 -0
  565. package/dist-esm/objects/furniture/util/visualization/parseColors.js +16 -0
  566. package/dist-esm/objects/furniture/util/visualization/parseDirections.js +24 -0
  567. package/dist-esm/objects/furniture/util/visualization/parseLayers.js +16 -0
  568. package/dist-esm/objects/furniture/util/visualization/parseVisualization.js +41 -0
  569. package/dist-esm/objects/furniture/visualization/AnimatedFurnitureVisualization.js +210 -0
  570. package/dist-esm/objects/furniture/visualization/BasicFurnitureVisualization.js +50 -0
  571. package/dist-esm/objects/furniture/visualization/FurnitureBottleVisualization.js +61 -0
  572. package/dist-esm/objects/furniture/visualization/FurnitureGuildCustomizedVisualization.js +83 -0
  573. package/dist-esm/objects/furniture/visualization/FurnitureVisualization.js +20 -0
  574. package/dist-esm/objects/hitdetection/ClickHandler.js +75 -0
  575. package/dist-esm/objects/hitdetection/HitSprite.js +186 -0
  576. package/dist-esm/objects/hitdetection/HitTexture.js +116 -0
  577. package/dist-esm/objects/interfaces/IMoveable.js +1 -0
  578. package/dist-esm/objects/interfaces/IScreenPositioned.js +1 -0
  579. package/dist-esm/objects/room/ILandscapeContainer.js +1 -0
  580. package/dist-esm/objects/room/IRoomRectangle.js +1 -0
  581. package/dist-esm/objects/room/ITileColorable.js +1 -0
  582. package/dist-esm/objects/room/IWallColorable.js +1 -0
  583. package/dist-esm/objects/room/Landscape.js +349 -0
  584. package/dist-esm/objects/room/ParsedTileMap.js +22 -0
  585. package/dist-esm/objects/room/Pathfinding.js +204 -0
  586. package/dist-esm/objects/room/Room.js +357 -0
  587. package/dist-esm/objects/room/RoomCamera.js +321 -0
  588. package/dist-esm/objects/room/RoomLandscapeMaskSprite.js +63 -0
  589. package/dist-esm/objects/room/RoomModelVisualization.js +524 -0
  590. package/dist-esm/objects/room/RoomObjectContainer.js +31 -0
  591. package/dist-esm/objects/room/TileMapEditorLayer.js +294 -0
  592. package/dist-esm/objects/room/data/LandscapeData.js +128 -0
  593. package/dist-esm/objects/room/matrixes.js +30 -0
  594. package/dist-esm/objects/room/parts/IRoomPart.js +1 -0
  595. package/dist-esm/objects/room/parts/RoomPartData.js +1 -0
  596. package/dist-esm/objects/room/parts/Stair.js +90 -0
  597. package/dist-esm/objects/room/parts/StairCorner.js +155 -0
  598. package/dist-esm/objects/room/parts/Tile.js +101 -0
  599. package/dist-esm/objects/room/parts/TileCursor.js +156 -0
  600. package/dist-esm/objects/room/parts/WallLeft.js +142 -0
  601. package/dist-esm/objects/room/parts/WallOuterCorner.js +47 -0
  602. package/dist-esm/objects/room/parts/WallRight.js +14 -0
  603. package/dist-esm/objects/room/util/LegacyWallGeometry.js +89 -0
  604. package/dist-esm/objects/room/util/createPlaneMatrix.js +27 -0
  605. package/dist-esm/objects/room/util/getMaskId.js +10 -0
  606. package/dist-esm/objects/room/util/getPosition.js +11 -0
  607. package/dist-esm/objects/room/util/getTileColors.js +30 -0
  608. package/dist-esm/objects/room/util/getTileMapBounds.js +37 -0
  609. package/dist-esm/objects/room/util/getTilePosition.js +6 -0
  610. package/dist-esm/objects/room/util/getTilePositionForTile.js +8 -0
  611. package/dist-esm/types/RoomPosition.js +1 -0
  612. package/dist-esm/types/TileType.js +1 -0
  613. package/dist-esm/types/WallPosition.js +1 -0
  614. package/dist-esm/types/types.js +1 -0
  615. package/dist-esm/util/applyTextureProperties.js +3 -0
  616. package/dist-esm/util/associateBy.js +8 -0
  617. package/dist-esm/util/furnitureDataTransformers.js +53 -0
  618. package/dist-esm/util/getIntFromHex.js +3 -0
  619. package/dist-esm/util/getNumberFromAttribute.js +8 -0
  620. package/dist-esm/util/getTileInfo.js +103 -0
  621. package/dist-esm/util/getZOrder.js +3 -0
  622. package/dist-esm/util/isPointInside.js +15 -0
  623. package/dist-esm/util/isSetEqual.js +8 -0
  624. package/dist-esm/util/isTile.js +1 -0
  625. package/dist-esm/util/loadImageFromBlob.js +10 -0
  626. package/dist-esm/util/loadImageFromUrl.js +11 -0
  627. package/dist-esm/util/loadRoomTexture.js +15 -0
  628. package/dist-esm/util/mock.js +3 -0
  629. package/dist-esm/util/notNullOrUndefined.js +3 -0
  630. package/dist-esm/util/parseTileMap.js +185 -0
  631. package/dist-esm/util/parseTileMapString.js +13 -0
  632. package/dist-esm/util/tilemap/findEntranceTile.js +21 -0
  633. package/dist-esm/util/tilemap/getColumnWalls.js +40 -0
  634. package/dist-esm/util/tilemap/getRowWalls.js +40 -0
  635. package/dist-esm/util/tilemap/hasWallTiles.js +6 -0
  636. package/dist-esm/util/tilemap/padTileMap.js +21 -0
  637. package/dist-esm/util/tilemap/traceWalls.js +376 -0
  638. package/dist-esm/util/tilemap/wallsFromContour.js +45 -0
  639. package/dist-esm/util/traverseDOMTree.js +5 -0
  640. package/package.json +102 -3
@@ -0,0 +1,11 @@
1
+ import { BaseFurniture } from "./BaseFurniture";
2
+ import { IFurnitureVisualizationView } from "./IFurnitureVisualizationView";
3
+ export interface IFurnitureVisualization {
4
+ isAnimated(animation?: string): boolean;
5
+ setView(view: IFurnitureVisualizationView): void;
6
+ updateFrame(frame: number): void;
7
+ updateDirection(direction: number): void;
8
+ updateAnimation(animation: string | undefined): void;
9
+ update(furniture: BaseFurniture): void;
10
+ destroy(): void;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,63 @@
1
+ import type * as PIXI from "pixi.js";
2
+ import { IFurnitureVisualizationData } from "./data/interfaces/IFurnitureVisualizationData";
3
+ /**
4
+ * This is a intermediary interface injected into the visualization
5
+ * of a furniture (e.g. `AnimatedFurnitureVisualization`). This interface exposes
6
+ * all the necessary methods to manipulate the way the furniture displays on the screen.
7
+ */
8
+ export interface IFurnitureVisualizationView {
9
+ /**
10
+ * Sets the displaying animation of the furniture.
11
+ * @param animation
12
+ */
13
+ setDisplayAnimation(animation?: string): void;
14
+ /**
15
+ * Sets the displaying direction of the furniture.
16
+ * @param direction
17
+ */
18
+ setDisplayDirection(direction: number): void;
19
+ /**
20
+ * Updates the furniture display with the previously set animation and direction.
21
+ */
22
+ updateDisplay(): void;
23
+ /**
24
+ * Gets the display layers of the furniture.
25
+ * This can only be called after `updateDisplay` has been called.
26
+ */
27
+ getLayers(): IFurnitureVisualizationLayer[];
28
+ /**
29
+ * Gets the visualization data of the furniture.
30
+ */
31
+ getVisualizationData(): IFurnitureVisualizationData;
32
+ }
33
+ export interface IFurnitureVisualizationLayer {
34
+ tag?: string;
35
+ /**
36
+ * How often frames are repeated
37
+ */
38
+ frameRepeat: number;
39
+ /**
40
+ * The layer index specified as a number.
41
+ * a = 0
42
+ * b = 1
43
+ * c = 2
44
+ *
45
+ * etc.
46
+ */
47
+ layerIndex: number;
48
+ /**
49
+ * The amount of frames for this layer
50
+ */
51
+ assetCount: number;
52
+ /**
53
+ * Sets the active frame to display for this layer
54
+ * @param frame
55
+ */
56
+ setCurrentFrameIndex(frame: number): void;
57
+ setColor(color: number): void;
58
+ alpha: number;
59
+ readonly z: number;
60
+ readonly ink?: string;
61
+ update(): void;
62
+ getSprites(): PIXI.Sprite[];
63
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ import { IAssetBundle } from "../../assets/IAssetBundle";
2
+ import { HitTexture } from "../hitdetection/HitTexture";
3
+ import { IFurnitureAssetsData } from "./data/interfaces/IFurnitureAssetsData";
4
+ import { IFurnitureIndexData } from "./data/interfaces/IFurnitureIndexData";
5
+ import { IFurnitureVisualizationData } from "./data/interfaces/IFurnitureVisualizationData";
6
+ import { IFurnitureAssetBundle } from "./IFurnitureAssetBundle";
7
+ import { IFurnitureLogicData } from "./data/interfaces/IFurnitureLogicData";
8
+ export declare class JsonFurnitureAssetBundle implements IFurnitureAssetBundle {
9
+ private _assetBundle;
10
+ private _data;
11
+ constructor(_assetBundle: IAssetBundle);
12
+ getLogic(): Promise<IFurnitureLogicData>;
13
+ getAssets(): Promise<IFurnitureAssetsData>;
14
+ getVisualization(): Promise<IFurnitureVisualizationData>;
15
+ getTexture(name: string): Promise<HitTexture>;
16
+ getIndex(): Promise<IFurnitureIndexData>;
17
+ private _load;
18
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.JsonFurnitureAssetBundle = void 0;
37
+ const PIXI = __importStar(require("pixi.js"));
38
+ const HitTexture_1 = require("../hitdetection/HitTexture");
39
+ const JsonFurnitureAssetsData_1 = require("./data/JsonFurnitureAssetsData");
40
+ const JsonFurnitureVisualizationData_1 = require("./data/JsonFurnitureVisualizationData");
41
+ const JsonFurnitureLogicData_1 = require("./data/JsonFurnitureLogicData");
42
+ class JsonFurnitureAssetBundle {
43
+ constructor(_assetBundle) {
44
+ this._assetBundle = _assetBundle;
45
+ this._data = this._load();
46
+ }
47
+ async getLogic() {
48
+ const { logic } = await this._data;
49
+ return logic;
50
+ }
51
+ async getAssets() {
52
+ const { assets } = await this._data;
53
+ return assets;
54
+ }
55
+ async getVisualization() {
56
+ const { visualization } = await this._data;
57
+ return visualization;
58
+ }
59
+ async getTexture(name) {
60
+ const { spritesheet } = await this._data;
61
+ return HitTexture_1.HitTexture.fromSpriteSheet(spritesheet, name);
62
+ }
63
+ async getIndex() {
64
+ const { index } = await this._data;
65
+ return index;
66
+ }
67
+ async _load() {
68
+ const json = JSON.parse(await this._assetBundle.getString("index.json"));
69
+ const blob = await this._assetBundle.getBlob("spritesheet.png");
70
+ const baseTextureImage = await createImageBitmap(blob, {
71
+ premultiplyAlpha: "none",
72
+ colorSpaceConversion: "none",
73
+ });
74
+ const texture = PIXI.Texture.from(baseTextureImage);
75
+ texture.source.scaleMode = "nearest";
76
+ texture.source.antialias = false;
77
+ texture.source.autoGenerateMipmaps = false;
78
+ const spritesheet = new PIXI.Spritesheet(texture, json.spritesheet);
79
+ await spritesheet.parse();
80
+ return {
81
+ assets: new JsonFurnitureAssetsData_1.JsonFurnitureAssetsData(json.assets),
82
+ visualization: new JsonFurnitureVisualizationData_1.JsonFurnitureVisualizationData(json.visualization),
83
+ index: json.index,
84
+ spritesheet,
85
+ logic: new JsonFurnitureLogicData_1.JsonFurnitureLogicData(json.logic),
86
+ };
87
+ }
88
+ }
89
+ exports.JsonFurnitureAssetBundle = JsonFurnitureAssetBundle;
@@ -0,0 +1,90 @@
1
+ import { RoomObject } from "../RoomObject";
2
+ import { FurnitureFetchInfo } from "./FurnitureFetchInfo";
3
+ import { FurnitureId } from "../../interfaces/IFurnitureData";
4
+ export declare class WallFurniture extends RoomObject {
5
+ readonly placementType = "wall";
6
+ private _baseFurniture;
7
+ private readonly _type;
8
+ private readonly _id;
9
+ private _roomX;
10
+ private _roomY;
11
+ private _offsetX;
12
+ private _offsetY;
13
+ /**
14
+ * Absolute room height of the item, as Habbo ships it in the `a=` field of the
15
+ * wall location. When it is there we use it directly: it is the same value the
16
+ * server derived the offsets from, so it spares us guessing the height of the
17
+ * tile the item hangs on — which is exactly where a room model that only
18
+ * stores walkable tiles falls short.
19
+ */
20
+ private _altitude;
21
+ constructor(options: {
22
+ roomX: number;
23
+ roomY: number;
24
+ offsetX: number;
25
+ offsetY: number;
26
+ direction: number;
27
+ animation?: string;
28
+ altitude?: number;
29
+ } & FurnitureFetchInfo);
30
+ /**
31
+ * Moves the furniture to another spot on the walls.
32
+ *
33
+ * @param roomX New x-Position
34
+ * @param roomY New y-Position
35
+ * @param offsetX New x-Offset within the wall tile
36
+ * @param offsetY New y-Offset within the wall tile
37
+ */
38
+ move(roomX: number, roomY: number, offsetX: number, offsetY: number): void;
39
+ get extradata(): Promise<import("./FurnitureExtraData").FurnitureExtraData>;
40
+ get validDirections(): Promise<number[]>;
41
+ get validAnimations(): Promise<number[]>;
42
+ get height(): Promise<number | undefined>;
43
+ get id(): FurnitureId | undefined;
44
+ get highlight(): string | boolean;
45
+ set highlight(value: string | boolean);
46
+ get activeWired(): boolean;
47
+ set activeWired(value: boolean);
48
+ get alpha(): number;
49
+ set alpha(value: number);
50
+ get type(): string | undefined;
51
+ get animation(): string;
52
+ set animation(value: string);
53
+ get direction(): number;
54
+ set direction(value: number);
55
+ get roomX(): number;
56
+ set roomX(value: number);
57
+ get roomY(): number;
58
+ set roomY(value: number);
59
+ get offsetX(): number;
60
+ set offsetX(value: number);
61
+ get offsetY(): number;
62
+ set offsetY(value: number);
63
+ get visualization(): import("./IFurnitureVisualization").IFurnitureVisualization;
64
+ set visualization(value: import("./IFurnitureVisualization").IFurnitureVisualization);
65
+ get onClick(): import("../hitdetection/HitSprite").HitEventHandler | undefined;
66
+ set onClick(value: import("../hitdetection/HitSprite").HitEventHandler | undefined);
67
+ get onDoubleClick(): import("../hitdetection/HitSprite").HitEventHandler | undefined;
68
+ set onDoubleClick(value: import("../hitdetection/HitSprite").HitEventHandler | undefined);
69
+ get onPointerDown(): import("../hitdetection/HitSprite").HitEventHandler | undefined;
70
+ set onPointerDown(value: import("../hitdetection/HitSprite").HitEventHandler | undefined);
71
+ get onPointerUp(): import("../hitdetection/HitSprite").HitEventHandler | undefined;
72
+ set onPointerUp(value: import("../hitdetection/HitSprite").HitEventHandler | undefined);
73
+ get onPointerOver(): ((event: import("../events/interfaces/IEventManagerEvent").IEventManagerEvent) => void) | undefined;
74
+ set onPointerOver(value: ((event: import("../events/interfaces/IEventManagerEvent").IEventManagerEvent) => void) | undefined);
75
+ get onPointerOut(): ((event: import("../events/interfaces/IEventManagerEvent").IEventManagerEvent) => void) | undefined;
76
+ set onPointerOut(value: ((event: import("../events/interfaces/IEventManagerEvent").IEventManagerEvent) => void) | undefined);
77
+ destroyed(): void;
78
+ registered(): void;
79
+ /**
80
+ * A window only reveals the landscape while it sits in an actual wall plane —
81
+ * see RoomVisualization.updateRoomPlaneMasks, which binds a mask to a plane
82
+ * only when the object lies in it. Items dragged out into the room have no
83
+ * plane to cut open, so their glass stays transparent.
84
+ */
85
+ private _touchesWall;
86
+ private _getOffsets;
87
+ get altitude(): number | undefined;
88
+ set altitude(value: number | undefined);
89
+ private _updatePosition;
90
+ }
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WallFurniture = void 0;
4
+ const RoomObject_1 = require("../RoomObject");
5
+ const getZOrder_1 = require("../../util/getZOrder");
6
+ const BaseFurniture_1 = require("./BaseFurniture");
7
+ const getMaskId_1 = require("../room/util/getMaskId");
8
+ const getFurnitureFetch_1 = require("./util/getFurnitureFetch");
9
+ const LegacyWallGeometry_1 = require("../room/util/LegacyWallGeometry");
10
+ class WallFurniture extends RoomObject_1.RoomObject {
11
+ constructor(options) {
12
+ super();
13
+ this.placementType = "wall";
14
+ this._offsetX = 0;
15
+ this._offsetY = 0;
16
+ this._type = options.type;
17
+ this._id = options.id;
18
+ this._roomX = options.roomX;
19
+ this._roomY = options.roomY;
20
+ this._offsetX = options.offsetX;
21
+ this._offsetY = options.offsetY;
22
+ this._altitude = options.altitude;
23
+ this._baseFurniture = new BaseFurniture_1.BaseFurniture({
24
+ animation: options.animation,
25
+ direction: options.direction,
26
+ type: (0, getFurnitureFetch_1.getFurnitureFetch)(options, "wall"),
27
+ getMaskId: (direction) => this._touchesWall(direction)
28
+ ? (0, getMaskId_1.getMaskId)(direction, this.roomX, this.roomY)
29
+ : undefined,
30
+ });
31
+ }
32
+ /**
33
+ * Moves the furniture to another spot on the walls.
34
+ *
35
+ * @param roomX New x-Position
36
+ * @param roomY New y-Position
37
+ * @param offsetX New x-Offset within the wall tile
38
+ * @param offsetY New y-Offset within the wall tile
39
+ */
40
+ move(roomX, roomY, offsetX, offsetY) {
41
+ if (this._roomX === roomX &&
42
+ this._roomY === roomY &&
43
+ this._offsetX === offsetX &&
44
+ this._offsetY === offsetY) {
45
+ return;
46
+ }
47
+ this._roomX = roomX;
48
+ this._roomY = roomY;
49
+ this._offsetX = offsetX;
50
+ this._offsetY = offsetY;
51
+ this._updatePosition();
52
+ }
53
+ get extradata() {
54
+ return this._baseFurniture.extradata;
55
+ }
56
+ get validDirections() {
57
+ return this._baseFurniture.validDirections;
58
+ }
59
+ get validAnimations() {
60
+ return this._baseFurniture.validAnimations;
61
+ }
62
+ get height() {
63
+ return this._baseFurniture.height;
64
+ }
65
+ get id() {
66
+ return this._id;
67
+ }
68
+ get highlight() {
69
+ return this._baseFurniture.highlight;
70
+ }
71
+ set highlight(value) {
72
+ this._baseFurniture.highlight = value;
73
+ }
74
+ get activeWired() {
75
+ return this._baseFurniture.activeWired;
76
+ }
77
+ set activeWired(value) {
78
+ this._baseFurniture.activeWired = value;
79
+ }
80
+ get alpha() {
81
+ return this._baseFurniture.alpha;
82
+ }
83
+ set alpha(value) {
84
+ this._baseFurniture.alpha = value;
85
+ }
86
+ get type() {
87
+ return this._type;
88
+ }
89
+ get animation() {
90
+ return this._baseFurniture.animation;
91
+ }
92
+ set animation(value) {
93
+ this._baseFurniture.animation = value;
94
+ }
95
+ get direction() {
96
+ return this._baseFurniture.direction;
97
+ }
98
+ set direction(value) {
99
+ this._baseFurniture.direction = value;
100
+ }
101
+ get roomX() {
102
+ return this._roomX;
103
+ }
104
+ set roomX(value) {
105
+ this._roomX = value;
106
+ this._updatePosition();
107
+ }
108
+ get roomY() {
109
+ return this._roomY;
110
+ }
111
+ set roomY(value) {
112
+ this._roomY = value;
113
+ this._updatePosition();
114
+ }
115
+ get offsetX() {
116
+ return this._offsetX;
117
+ }
118
+ set offsetX(value) {
119
+ this._offsetX = value;
120
+ this._updatePosition();
121
+ }
122
+ get offsetY() {
123
+ return this._offsetY;
124
+ }
125
+ set offsetY(value) {
126
+ this._offsetY = value;
127
+ this._updatePosition();
128
+ }
129
+ get visualization() {
130
+ return this._baseFurniture.visualization;
131
+ }
132
+ set visualization(value) {
133
+ this._baseFurniture.visualization = value;
134
+ }
135
+ get onClick() {
136
+ return this._baseFurniture.onClick;
137
+ }
138
+ set onClick(value) {
139
+ this._baseFurniture.onClick = value;
140
+ }
141
+ get onDoubleClick() {
142
+ return this._baseFurniture.onDoubleClick;
143
+ }
144
+ set onDoubleClick(value) {
145
+ this._baseFurniture.onDoubleClick = value;
146
+ }
147
+ get onPointerDown() {
148
+ return this._baseFurniture.onPointerDown;
149
+ }
150
+ set onPointerDown(value) {
151
+ this._baseFurniture.onPointerDown = value;
152
+ }
153
+ get onPointerUp() {
154
+ return this._baseFurniture.onPointerUp;
155
+ }
156
+ set onPointerUp(value) {
157
+ this._baseFurniture.onPointerUp = value;
158
+ }
159
+ get onPointerOver() {
160
+ return this._baseFurniture.onPointerOver;
161
+ }
162
+ set onPointerOver(value) {
163
+ this._baseFurniture.onPointerOver = value;
164
+ }
165
+ get onPointerOut() {
166
+ return this._baseFurniture.onPointerOut;
167
+ }
168
+ set onPointerOut(value) {
169
+ this._baseFurniture.onPointerOut = value;
170
+ }
171
+ destroyed() {
172
+ this._baseFurniture.destroy();
173
+ }
174
+ registered() {
175
+ this._baseFurniture.dependencies = {
176
+ animationTicker: this.animationTicker,
177
+ furnitureLoader: this.furnitureLoader,
178
+ placeholder: undefined,
179
+ configuration: this.configuration,
180
+ visualization: this.roomVisualization,
181
+ eventManager: this.eventManager,
182
+ };
183
+ this._updatePosition();
184
+ }
185
+ /**
186
+ * A window only reveals the landscape while it sits in an actual wall plane —
187
+ * see RoomVisualization.updateRoomPlaneMasks, which binds a mask to a plane
188
+ * only when the object lies in it. Items dragged out into the room have no
189
+ * plane to cut open, so their glass stays transparent.
190
+ */
191
+ _touchesWall(direction) {
192
+ var _a, _b;
193
+ const row = (_b = (_a = this.room) === null || _a === void 0 ? void 0 : _a.getParsedTileTypes()) === null || _b === void 0 ? void 0 : _b[this.roomY];
194
+ const tile = row === null || row === void 0 ? void 0 : row[this.roomX];
195
+ if ((tile === null || tile === void 0 ? void 0 : tile.type) !== "wall")
196
+ return false;
197
+ switch (tile.kind) {
198
+ case "innerCorner":
199
+ case "outerCorner":
200
+ return true;
201
+ case "rowWall":
202
+ return direction === 2 || direction === 6;
203
+ case "colWall":
204
+ return direction === 0 || direction === 4;
205
+ }
206
+ }
207
+ _getOffsets(direction) {
208
+ var _a;
209
+ const geo = new LegacyWallGeometry_1.LegacyWallGeometry(this.room.getParsedTileTypes());
210
+ const roomPosition = geo.getLocation(this.roomX, this.roomY, this._offsetX, this._offsetY, direction === 2 ? "l" : "r");
211
+ return this.room.getPosition(roomPosition.x, roomPosition.y, (_a = this._altitude) !== null && _a !== void 0 ? _a : roomPosition.z);
212
+ }
213
+ get altitude() {
214
+ return this._altitude;
215
+ }
216
+ set altitude(value) {
217
+ this._altitude = value;
218
+ this._updatePosition();
219
+ }
220
+ _updatePosition() {
221
+ const position = this._getOffsets(this.direction);
222
+ if (position == null)
223
+ return;
224
+ this._baseFurniture.x = position.x;
225
+ this._baseFurniture.y = position.y;
226
+ this._baseFurniture.zIndex = (0, getZOrder_1.getZOrder)(this.roomX, this.roomY, 0) - 1;
227
+ }
228
+ }
229
+ exports.WallFurniture = WallFurniture;
@@ -0,0 +1,17 @@
1
+ import { IAssetBundle } from "../../assets/IAssetBundle";
2
+ import { HitTexture } from "../hitdetection/HitTexture";
3
+ import { IFurnitureAssetsData } from "./data/interfaces/IFurnitureAssetsData";
4
+ import { IFurnitureIndexData } from "./data/interfaces/IFurnitureIndexData";
5
+ import { IFurnitureLogicData } from "./data/interfaces/IFurnitureLogicData";
6
+ import { IFurnitureVisualizationData } from "./data/interfaces/IFurnitureVisualizationData";
7
+ import { IFurnitureAssetBundle } from "./IFurnitureAssetBundle";
8
+ export declare class XmlFurnitureAssetBundle implements IFurnitureAssetBundle {
9
+ private _type;
10
+ private _assetBundle;
11
+ constructor(_type: string, _assetBundle: IAssetBundle);
12
+ getAssets(): Promise<IFurnitureAssetsData>;
13
+ getVisualization(): Promise<IFurnitureVisualizationData>;
14
+ getTexture(name: string): Promise<HitTexture>;
15
+ getIndex(): Promise<IFurnitureIndexData>;
16
+ getLogic(): Promise<IFurnitureLogicData>;
17
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XmlFurnitureAssetBundle = void 0;
4
+ const HitTexture_1 = require("../hitdetection/HitTexture");
5
+ const FurnitureAssetsData_1 = require("./data/FurnitureAssetsData");
6
+ const FurnitureIndexData_1 = require("./data/FurnitureIndexData");
7
+ const FurnitureLogicData_1 = require("./data/FurnitureLogicData");
8
+ const FurnitureVisualizationData_1 = require("./data/FurnitureVisualizationData");
9
+ class XmlFurnitureAssetBundle {
10
+ constructor(_type, _assetBundle) {
11
+ this._type = _type;
12
+ this._assetBundle = _assetBundle;
13
+ }
14
+ async getAssets() {
15
+ const data = await this._assetBundle.getString(`${this._type}_assets.bin`);
16
+ return new FurnitureAssetsData_1.FurnitureAssetsData(data);
17
+ }
18
+ async getVisualization() {
19
+ const data = await this._assetBundle.getString(`${this._type}_visualization.bin`);
20
+ return new FurnitureVisualizationData_1.FurnitureVisualizationData(data);
21
+ }
22
+ async getTexture(name) {
23
+ const blob = await this._assetBundle.getBlob(`${name}.png`);
24
+ return HitTexture_1.HitTexture.fromBlob(blob);
25
+ }
26
+ async getIndex() {
27
+ const data = await this._assetBundle.getString(`index.bin`);
28
+ return new FurnitureIndexData_1.FurnitureIndexData(data);
29
+ }
30
+ async getLogic() {
31
+ const data = await this._assetBundle.getString(`${this._type}_logic.bin`);
32
+ return new FurnitureLogicData_1.FurnitureLogicData(data);
33
+ }
34
+ }
35
+ exports.XmlFurnitureAssetBundle = XmlFurnitureAssetBundle;
@@ -0,0 +1,11 @@
1
+ import { XmlData } from "../../../data/XmlData";
2
+ import { FurnitureAssetsJson } from "./FurnitureAssetsJson";
3
+ import { FurnitureAsset, IFurnitureAssetsData } from "./interfaces/IFurnitureAssetsData";
4
+ export declare class FurnitureAssetsData extends XmlData implements IFurnitureAssetsData {
5
+ private _assets;
6
+ constructor(xml: string);
7
+ static fromUrl(url: string): Promise<FurnitureAssetsData>;
8
+ toJson(): FurnitureAssetsJson;
9
+ getAsset(name: string): FurnitureAsset | undefined;
10
+ getAssets(): FurnitureAsset[];
11
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FurnitureAssetsData = void 0;
4
+ const XmlData_1 = require("../../../data/XmlData");
5
+ class FurnitureAssetsData extends XmlData_1.XmlData {
6
+ constructor(xml) {
7
+ super(xml);
8
+ this._assets = new Map();
9
+ this.querySelectorAll("asset").forEach((element) => {
10
+ const name = element.getAttribute("name");
11
+ const x = Number(element.getAttribute("x"));
12
+ const y = Number(element.getAttribute("y"));
13
+ const source = element.getAttribute("source");
14
+ const flipH = element.getAttribute("flipH") === "1";
15
+ if (name == null)
16
+ throw new Error("Invalid name");
17
+ if (isNaN(x))
18
+ throw new Error("x is not a number");
19
+ if (isNaN(y))
20
+ throw new Error("y is not a number");
21
+ this._assets.set(name, {
22
+ x,
23
+ y,
24
+ source: source !== null && source !== void 0 ? source : undefined,
25
+ flipH,
26
+ name,
27
+ valid: true,
28
+ });
29
+ });
30
+ }
31
+ static async fromUrl(url) {
32
+ const response = await fetch(url);
33
+ const text = await response.text();
34
+ return new FurnitureAssetsData(text);
35
+ }
36
+ toJson() {
37
+ const assets = this.getAssets();
38
+ const assetsObject = {};
39
+ assets.forEach((asset) => {
40
+ assetsObject[asset.name] = asset;
41
+ });
42
+ return assetsObject;
43
+ }
44
+ getAsset(name) {
45
+ return this._assets.get(name);
46
+ }
47
+ getAssets() {
48
+ return Array.from(this._assets.values());
49
+ }
50
+ }
51
+ exports.FurnitureAssetsData = FurnitureAssetsData;
@@ -0,0 +1,4 @@
1
+ import { FurnitureAsset } from "./interfaces/IFurnitureAssetsData";
2
+ export interface FurnitureAssetsJson {
3
+ [key: string]: FurnitureAsset | undefined;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ import { FurnitureIndexJson } from "./FurnitureIndexJson";
2
+ export declare class FurnitureIndexData {
3
+ private _visualization;
4
+ private _logic;
5
+ get visualization(): string | undefined;
6
+ get logic(): string | undefined;
7
+ constructor(xml: string);
8
+ static fromUrl(url: string): Promise<FurnitureIndexData>;
9
+ toJson(): FurnitureIndexJson;
10
+ toObject(): {
11
+ visualization: string | undefined;
12
+ logic: string | undefined;
13
+ };
14
+ }