diff --git a/package-lock.json b/package-lock.json index 089b8931..0ca1d791 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,2122 @@ { "name": "@nitrots/nitro-renderer", - "version": "1.0.0", - "lockfileVersion": 1, + "version": "1.1.0", + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "@nitrots/nitro-renderer", + "version": "1.1.0", + "hasInstallScript": true, + "dependencies": { + "@pixi/canvas-renderer": "^6.2.0", + "@pixi/extract": "^6.2.0", + "@pixi/filter-adjustment": "^4.1.3", + "@pixi/tilemap": "^3.2.2", + "pako": "^2.0.4", + "pixi.js": "^6.2.0", + "tslib": "^2.3.1" + }, + "devDependencies": { + "@types/pako": "^1.0.2", + "@typescript-eslint/eslint-plugin": "^5.6.0", + "@typescript-eslint/parser": "^5.6.0", + "eslint": "^7.32.0", + "typescript": "~4.4.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.0", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pixi/accessibility": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/app": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0" + } + }, + "node_modules/@pixi/canvas-renderer": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/compressed-textures": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/loaders": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/constants": { + "version": "6.2.0", + "license": "MIT" + }, + "node_modules/@pixi/core": { + "version": "6.2.0", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + }, + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/runner": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/ticker": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/display": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/math": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/extract": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/filter-adjustment": { + "version": "4.1.3", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "^6.0.0", + "@pixi/core": "^6.0.0" + } + }, + "node_modules/@pixi/filter-alpha": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0" + } + }, + "node_modules/@pixi/filter-blur": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/settings": "6.2.0" + } + }, + "node_modules/@pixi/filter-color-matrix": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0" + } + }, + "node_modules/@pixi/filter-displacement": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/math": "6.2.0" + } + }, + "node_modules/@pixi/filter-fxaa": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0" + } + }, + "node_modules/@pixi/filter-noise": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0" + } + }, + "node_modules/@pixi/graphics": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/sprite": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/interaction": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/ticker": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/loaders": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/math": { + "version": "6.2.0", + "license": "MIT" + }, + "node_modules/@pixi/mesh": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/mesh-extras": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/mesh": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/mixin-cache-as-bitmap": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/sprite": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/mixin-get-child-by-name": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/display": "6.2.0" + } + }, + "node_modules/@pixi/mixin-get-global-position": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/display": "6.2.0", + "@pixi/math": "6.2.0" + } + }, + "node_modules/@pixi/particle-container": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/polyfill": { + "version": "6.2.0", + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.1", + "promise-polyfill": "^8.2.0" + } + }, + "node_modules/@pixi/prepare": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/graphics": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/text": "6.2.0", + "@pixi/ticker": "6.2.0" + } + }, + "node_modules/@pixi/runner": { + "version": "6.2.0", + "license": "MIT" + }, + "node_modules/@pixi/settings": { + "version": "6.2.0", + "license": "MIT", + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/sprite": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/sprite-animated": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/sprite": "6.2.0", + "@pixi/ticker": "6.2.0" + } + }, + "node_modules/@pixi/sprite-tiling": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/sprite": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/spritesheet": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/loaders": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/text": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/sprite": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/text-bitmap": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/loaders": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/mesh": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/text": "6.2.0", + "@pixi/utils": "6.2.0" + } + }, + "node_modules/@pixi/ticker": { + "version": "6.2.0", + "license": "MIT", + "peerDependencies": { + "@pixi/settings": "6.2.0" + } + }, + "node_modules/@pixi/tilemap": { + "version": "3.2.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "^6.0.4", + "@pixi/core": "^6.0.4", + "@pixi/display": "^6.0.4", + "@pixi/graphics": "^6.0.4", + "@pixi/math": "^6.0.4", + "@pixi/utils": "^6.0.4" + } + }, + "node_modules/@pixi/utils": { + "version": "6.2.0", + "license": "MIT", + "dependencies": { + "@types/earcut": "^2.1.0", + "earcut": "^2.2.2", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + }, + "peerDependencies": { + "@pixi/constants": "6.2.0", + "@pixi/settings": "6.2.0" + } + }, + "node_modules/@types/earcut": { + "version": "2.1.1", + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "node_modules/@types/pako": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.6.0.tgz", + "integrity": "sha512-MIbeMy5qfLqtgs1hWd088k1hOuRsN9JrHUPwVVKCD99EOUqScd7SrwoZl4Gso05EAP9w1kvLWUVGJOVpRPkDPA==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "5.6.0", + "@typescript-eslint/scope-manager": "5.6.0", + "debug": "^4.3.2", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.2.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.6.0.tgz", + "integrity": "sha512-VDoRf3Qj7+W3sS/ZBXZh3LBzp0snDLEgvp6qj0vOAIiAPM07bd5ojQ3CTzF/QFl5AKh7Bh1ycgj6lFBJHUt/DA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.6.0", + "@typescript-eslint/types": "5.6.0", + "@typescript-eslint/typescript-estree": "5.6.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.6.0.tgz", + "integrity": "sha512-YVK49NgdUPQ8SpCZaOpiq1kLkYRPMv9U5gcMrywzI8brtwZjr/tG3sZpuHyODt76W/A0SufNjYt9ZOgrC4tLIQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.6.0", + "@typescript-eslint/types": "5.6.0", + "@typescript-eslint/typescript-estree": "5.6.0", + "debug": "^4.3.2" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.6.0.tgz", + "integrity": "sha512-1U1G77Hw2jsGWVsO2w6eVCbOg0HZ5WxL/cozVSTfqnL/eB9muhb8THsP0G3w+BB5xAHv9KptwdfYFAUfzcIh4A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.6.0", + "@typescript-eslint/visitor-keys": "5.6.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.6.0.tgz", + "integrity": "sha512-OIZffked7mXv4mXzWU5MgAEbCf9ecNJBKi+Si6/I9PpTaj+cf2x58h2oHW5/P/yTnPkKaayfjhLvx+crnl5ubA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.6.0.tgz", + "integrity": "sha512-92vK5tQaE81rK7fOmuWMrSQtK1IMonESR+RJR2Tlc7w4o0MeEdjgidY/uO2Gobh7z4Q1hhS94Cr7r021fMVEeA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.6.0", + "@typescript-eslint/visitor-keys": "5.6.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.6.0.tgz", + "integrity": "sha512-1p7hDp5cpRFUyE3+lvA74egs+RWSgumrBpzBCDzfTFv0aQ7lIeay80yU0hIxgAhwQ6PcasW35kaOCyDOv6O/Ng==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.6.0", + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", + "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/chalk/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/chalk/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/chalk/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/earcut": { + "version": "2.2.3", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/enquirer": { + "version": "2.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "3.1.2", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.11.0", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.2", + "dev": true, + "license": "ISC" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/glob": { + "version": "7.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "13.10.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/ismobilejs": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pako": { + "version": "2.0.4", + "license": "(MIT AND Zlib)" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pixi.js": { + "version": "6.2.0", + "license": "MIT", + "dependencies": { + "@pixi/accessibility": "6.2.0", + "@pixi/app": "6.2.0", + "@pixi/compressed-textures": "6.2.0", + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/extract": "6.2.0", + "@pixi/filter-alpha": "6.2.0", + "@pixi/filter-blur": "6.2.0", + "@pixi/filter-color-matrix": "6.2.0", + "@pixi/filter-displacement": "6.2.0", + "@pixi/filter-fxaa": "6.2.0", + "@pixi/filter-noise": "6.2.0", + "@pixi/graphics": "6.2.0", + "@pixi/interaction": "6.2.0", + "@pixi/loaders": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/mesh": "6.2.0", + "@pixi/mesh-extras": "6.2.0", + "@pixi/mixin-cache-as-bitmap": "6.2.0", + "@pixi/mixin-get-child-by-name": "6.2.0", + "@pixi/mixin-get-global-position": "6.2.0", + "@pixi/particle-container": "6.2.0", + "@pixi/polyfill": "6.2.0", + "@pixi/prepare": "6.2.0", + "@pixi/runner": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/sprite": "6.2.0", + "@pixi/sprite-animated": "6.2.0", + "@pixi/sprite-tiling": "6.2.0", + "@pixi/spritesheet": "6.2.0", + "@pixi/text": "6.2.0", + "@pixi/text-bitmap": "6.2.0", + "@pixi/ticker": "6.2.0", + "@pixi/utils": "6.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-polyfill": { + "version": "8.2.1", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.2", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/regexpp": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.3.5", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/string-width": { + "version": "4.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table": { + "version": "6.7.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "2.3.1", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url": { + "version": "0.11.0", + "license": "MIT", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "license": "MIT" + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + } + }, "dependencies": { "@babel/code-frame": { "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "requires": { "@babel/highlight": "^7.10.4" @@ -15,14 +2124,10 @@ }, "@babel/helper-validator-identifier": { "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", "dev": true }, "@babel/highlight": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.5", @@ -32,8 +2137,6 @@ "dependencies": { "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -45,8 +2148,6 @@ }, "@eslint/eslintrc": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -62,16 +2163,12 @@ "dependencies": { "ignore": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true } } }, "@humanwhocodes/config-array": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.0", @@ -81,14 +2178,10 @@ }, "@humanwhocodes/object-schema": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", "dev": true }, "@nodelib/fs.scandir": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", "dev": true, "requires": { "@nodelib/fs.stat": "2.0.4", @@ -97,14 +2190,10 @@ }, "@nodelib/fs.stat": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", "dev": true }, "@nodelib/fs.walk": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.4", @@ -112,196 +2201,157 @@ } }, "@pixi/accessibility": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-6.1.0.tgz", - "integrity": "sha512-SDbu08F0eXTc5jqkJdLoX5G6yrSD68V5X7nU9+AfVL5mYdR+wkAuDXjcOINbGq2vxHPN6fgoBNZIDNPfRHeATw==" + "version": "6.2.0", + "requires": {} }, "@pixi/app": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/app/-/app-6.1.0.tgz", - "integrity": "sha512-QIMNyMpswWAIXo1RhTbnem7DEdNnrYCV8RLK9E9nZ3NlzP3587IuMEmNfwZp7PsvMJXehH2opY/hlYxVOmYxew==" + "version": "6.2.0", + "requires": {} }, "@pixi/canvas-renderer": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/canvas-renderer/-/canvas-renderer-6.1.0.tgz", - "integrity": "sha512-dukgaw9OQyFjTZZ/R2jvf+cyxVQA7P+wJVtGO4Ev/TlaLs85KKy1xtnRpgYbF/etPhORRgN232H6rys50B0YjQ==" + "version": "6.2.0", + "requires": {} }, "@pixi/compressed-textures": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/compressed-textures/-/compressed-textures-6.1.0.tgz", - "integrity": "sha512-3Go+GT43avgzyX4+fFYiTEfjR5pHrzafKpVlMvttC9xGRhMV1BZFDi1rKjHYuYk8SgNycuqRa2RulsoVq0bQUw==" + "version": "6.2.0", + "requires": {} }, "@pixi/constants": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-6.1.0.tgz", - "integrity": "sha512-4mIvvyiovu/tT1m32fQO/pYwGxO/ch9ZGOArAcsVKx0gWEk/Whi0fuJVxgCemu8gpSFkcIJreWnOiLUzZCVpdQ==" + "version": "6.2.0" }, "@pixi/core": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/core/-/core-6.1.0.tgz", - "integrity": "sha512-u6pXk8K05ZLhFNQxg+mtlHA6IjV0+lr/IDrEbx55eDZo+ImJwI4ummkJ/uiXaNn04GG0tVAQt+y5+e3fJjVFEQ==" + "version": "6.2.0", + "requires": {} }, "@pixi/display": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/display/-/display-6.1.0.tgz", - "integrity": "sha512-Jb1V54kpJXiGjKFx1qe5NhZyl1u6Z1t3o6mWawIFbXKiOJs+nkouUqRyPX2877cu1zkufbAalEe5V8WXOkqixg==" + "version": "6.2.0", + "requires": {} }, "@pixi/extract": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-6.1.0.tgz", - "integrity": "sha512-QqOb9jZ473mt8NDuAnfD/oUuXefspGLOoVTfHD+NVRP0J3P4Mnzq98ljHHpOFII/XgM8Jam6YRuOlTGyT7H+vg==" + "version": "6.2.0", + "requires": {} }, "@pixi/filter-adjustment": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@pixi/filter-adjustment/-/filter-adjustment-4.1.3.tgz", - "integrity": "sha512-W+NhPiZRYKoRToa5+tkU95eOw8gnS5dfIp3ZP+pLv2mdER9RI+4xHxp1uLHMqUYZViTaMdZIIoVOuCgHFPYCbQ==" + "requires": {} }, "@pixi/filter-alpha": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-6.1.0.tgz", - "integrity": "sha512-giNst0xR8h3Ulkk3u6JEN8L1TmZsE5JEPZ+brvdZ336k6wiRMxkqIZ2wt1w9cQLq3PY3MAiUO+SZkYr4Zr1GJg==" + "version": "6.2.0", + "requires": {} }, "@pixi/filter-blur": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-6.1.0.tgz", - "integrity": "sha512-EskO2DjKGyOwSMQIqVkONJgG8rdF7Ja9EtBBuWGL6V+lE7DUQ0I25+D13+12HD3OMUsEnXyZWmlYtGW9BD9P7g==" + "version": "6.2.0", + "requires": {} }, "@pixi/filter-color-matrix": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-6.1.0.tgz", - "integrity": "sha512-8OE8EDyV8KEUhcqwQxeNvW6r0YMBrQXS7IZLUlCvIVdM5rI24qBA1n9ec5w8ofe7A6jdMArmV4NwiNiSHCkYvw==" + "version": "6.2.0", + "requires": {} }, "@pixi/filter-displacement": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-6.1.0.tgz", - "integrity": "sha512-ZmsLEYhLQLxVbhP688ofv0bmfRXObYk2Xa3ORwKgivyJeX3UqizP+OUHa1mJ+4n6Q50BwtCra/Cg+TJ0q2R0wQ==" + "version": "6.2.0", + "requires": {} }, "@pixi/filter-fxaa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-6.1.0.tgz", - "integrity": "sha512-htFHMvW7GId9UTw5c8Mdd4FU3RGTg9aSsQ04yQCJekm54pwQsTGzkbElGTVWHznurflOhjAJJRib6dtWW1CY8A==" + "version": "6.2.0", + "requires": {} }, "@pixi/filter-noise": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-6.1.0.tgz", - "integrity": "sha512-5qdW1UZOcN8pJsyp/L7qNzGvigGwKB0c+RvI9LKWn/DsWC4WfAhatMtKV7dTsYNSRE+MWaFbelBQZT6wYw05Jg==" + "version": "6.2.0", + "requires": {} }, "@pixi/graphics": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-6.1.0.tgz", - "integrity": "sha512-NfbVX/TIXYrzUDItrXCg6c9LKM6Td1O+xXFnM9uP6EQQ1cyH5uUHtkSR0xgnPpdcs8IEa/FgyOmABEJ+G17syA==" + "version": "6.2.0", + "requires": {} }, "@pixi/interaction": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-6.1.0.tgz", - "integrity": "sha512-0GijG3v7oWET96FaFC59ozNrXa5D/fROpZSh2ywwL0NRvftLcjHOSDMGxDXhrlfpsjPgLVqDQQUHAcpIKigleA==" + "version": "6.2.0", + "requires": {} }, "@pixi/loaders": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-6.1.0.tgz", - "integrity": "sha512-0RcJuWKJx+4r2lZoVWMfSdaMjC+gGTouDrnGFNX6NGRRXXE3vKQdyFlwwkaJzUefvsjbNe4cYxC7iws9lqL3oA==" + "version": "6.2.0", + "requires": {} }, "@pixi/math": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/math/-/math-6.1.0.tgz", - "integrity": "sha512-4INGyMqO7z02kTzHEp/7sl1TOrIhPmKLx3jNUDyQ/J7RPJJE3ZbgEktZcfmG0tofJoW3KbLqL4fd6k/FIi5Hsw==" + "version": "6.2.0" }, "@pixi/mesh": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-6.1.0.tgz", - "integrity": "sha512-l3zFMs9ENGB8y5PIRMCf2/7nHXu40yfeBZq4bPYIJJeHztkzaNKDbEFtDOx/Y1+QrG8VX4LiDWQ+sE7Tk+qIRA==" + "version": "6.2.0", + "requires": {} }, "@pixi/mesh-extras": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-6.1.0.tgz", - "integrity": "sha512-/l/ohKrxDRkho85TcGPZrturJPQRUSGLoctIkWCqhNePMk9ATLVQ2ihg7GR1glaYqvxMOQXj5qqIfEC/T7eMlw==" + "version": "6.2.0", + "requires": {} }, "@pixi/mixin-cache-as-bitmap": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-6.1.0.tgz", - "integrity": "sha512-nwmXcfw7cFyhZwNDFHZLyE7dhJvLEZbm0BJ5cpiDb2HC1g4U5+BfGkjxQulUh2JfdOaqTp7EeU8K5okMVvcdnQ==" + "version": "6.2.0", + "requires": {} }, "@pixi/mixin-get-child-by-name": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-6.1.0.tgz", - "integrity": "sha512-F78olhSbF9ukDigA27hqcPFYrqw0Yj6Z+2NLYVxyWD8vys8Cfev8wtztDk50WYVnCRk8BRYiTiEAtBGYIPSbYA==" + "version": "6.2.0", + "requires": {} }, "@pixi/mixin-get-global-position": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-6.1.0.tgz", - "integrity": "sha512-c/mrnEv7ZuKnjjaME+8jyOiP/Mtk2cq/UXDEM+lwOX98zVdxiaBFf13BhnMPnVq7Vq1+HeDDRZ2/VIlrLkU9Ag==" + "version": "6.2.0", + "requires": {} }, "@pixi/particle-container": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/particle-container/-/particle-container-6.1.0.tgz", - "integrity": "sha512-Nu/UqG6n66b51UPdfQjuVfuGnM+D3caUqQCq2rLGVJIJmfrd38J0AooOaTtqePuadQWII2g3pFZ+dXv0oN1Blg==" + "version": "6.2.0", + "requires": {} }, "@pixi/polyfill": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-6.1.0.tgz", - "integrity": "sha512-gLz7eyfz5PAKxL7y9qI47O91WQyzuPFvuWm9sTxyncsgY7nchJxi6vUuxjLtFDd9vzl+/PXFDHyRGFyDe8tSkg==", + "version": "6.2.0", "requires": { "object-assign": "^4.1.1", "promise-polyfill": "^8.2.0" } }, "@pixi/prepare": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-6.1.0.tgz", - "integrity": "sha512-IdQ0gefbDt4anT59MxZznaY3EZQwvGE9K2Jo3+6t+3ZOvRlsgOLHdMFbNy9N0/MzKp9TAvuvzEj5WW2NoHx5Yw==" + "version": "6.2.0", + "requires": {} }, "@pixi/runner": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-6.1.0.tgz", - "integrity": "sha512-Pf6WmyBZSQg9mf3wpB3UvnZNX9GeRDoC4gMcQEYxw0rZDe0Z0JwzrkV0EGGyGHCZSssdx4+K1+vUxUIyFWdymw==" + "version": "6.2.0" }, "@pixi/settings": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-6.1.0.tgz", - "integrity": "sha512-dVVOGqnCwZIHNtuAyzhw9QXZPtaxq8daDXYyRfmxfKS5SWX86HMl65KJW7rmA9TIua53i/igSSQVWgAhzRkUeg==", + "version": "6.2.0", "requires": { "ismobilejs": "^1.1.0" } }, "@pixi/sprite": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-6.1.0.tgz", - "integrity": "sha512-BnaRNiXgiqNNTN2a9WaeMPZtLP+v/D8W/fymNkjg2wWrs4FwnpT0lPGAL0YHFoBO328LI8qTCy6BCBZg74V4aQ==" + "version": "6.2.0", + "requires": {} }, "@pixi/sprite-animated": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-6.1.0.tgz", - "integrity": "sha512-yL6Fe+xyXb9m/NkofUcigE3+NYUA3VrKajacf/ONXND897A7JLCihqXS9cHJHJGTNL3X+wsba1iZc9Rax5H0Sg==" + "version": "6.2.0", + "requires": {} }, "@pixi/sprite-tiling": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-6.1.0.tgz", - "integrity": "sha512-7a0NubCDrLG5pK7rrLAQJoju0EydL71kljm1TgqhcnoYV7n70Dbpoz+N4OuPyObOyEz9VvcnPMy5srp9FNllfw==" + "version": "6.2.0", + "requires": {} }, "@pixi/spritesheet": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-6.1.0.tgz", - "integrity": "sha512-7kh7OuYujRGOAw1Pe6EtwH2Yzov80Qss2MtDlHNplJ+loImd/SCthFhsmpRrOb/lSBtxVn3h+pUzV0bc7bxQXg==" + "version": "6.2.0", + "requires": {} }, "@pixi/text": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/text/-/text-6.1.0.tgz", - "integrity": "sha512-Yul5LqVYr/XW21uNAoMrkjn7p63RfD19c0S6EWCV18QOJaOjz6ZwzPMg6wpm6b+2i/Ob6F8ZFZdSwAM0hznRYg==" + "version": "6.2.0", + "requires": {} }, "@pixi/text-bitmap": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-6.1.0.tgz", - "integrity": "sha512-xcpRzXueq/XPqVJyd0FeJhdnmXcap8clZMrzLjND8blIWS9sJDJKXrpTmNco/JdOrU+vuOkWRau2OSJJKd882A==" + "version": "6.2.0", + "requires": {} }, "@pixi/ticker": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-6.1.0.tgz", - "integrity": "sha512-tCh1dhmriLKLMcxTJ9usm1UZEK2+M5nEwvyec9kouF4EMi/PiGup65+pwTHK4SvjXD+9vbtTDam39fWYXCpRxg==" + "version": "6.2.0", + "requires": {} + }, + "@pixi/tilemap": { + "version": "3.2.2", + "requires": {} }, "@pixi/utils": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-6.1.0.tgz", - "integrity": "sha512-N7LaVjo2NiP0/4DMX6Hj6SsSoFFEA1Pc3U/I/kQJHj9OyLrNSpcl9PZEiPusnuhpMr+zlQKa+MMU+RyTj+06Hw==", + "version": "6.2.0", "requires": { "@types/earcut": "^2.1.0", "earcut": "^2.2.2", @@ -310,126 +2360,120 @@ } }, "@types/earcut": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/earcut/-/earcut-2.1.1.tgz", - "integrity": "sha512-w8oigUCDjElRHRRrMvn/spybSMyX8MTkKA5Dv+tS1IE/TgmNZPqUYtvYBXGY8cieSE66gm+szeK+bnbxC2xHTQ==" + "version": "2.1.1" }, "@types/json-schema": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", - "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==", - "dev": true - }, - "@types/node": { - "version": "14.17.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.7.tgz", - "integrity": "sha512-SYTdMaW47se8499q8m0fYKZZRlmq0RaRv6oYmlVm6DUm31l0fhOl1D03X8hGxohCKTI2Bg6w7W0TiYB51aJzag==", + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, "@types/pako": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/pako/-/pako-1.0.2.tgz", - "integrity": "sha512-8UJl2MjkqqS6ncpLZqRZ5LmGiFBkbYxocD4e4jmBqGvfRG1RS23gKsBQbdtV9O9GvRyjFTiRHRByjSlKCLlmZw==", "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.0.tgz", - "integrity": "sha512-eiREtqWRZ8aVJcNru7cT/AMVnYd9a2UHsfZT8MR1dW3UUEg6jDv9EQ9Cq4CUPZesyQ58YUpoAADGv71jY8RwgA==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.6.0.tgz", + "integrity": "sha512-MIbeMy5qfLqtgs1hWd088k1hOuRsN9JrHUPwVVKCD99EOUqScd7SrwoZl4Gso05EAP9w1kvLWUVGJOVpRPkDPA==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.0", - "@typescript-eslint/scope-manager": "4.29.0", - "debug": "^4.3.1", + "@typescript-eslint/experimental-utils": "5.6.0", + "@typescript-eslint/scope-manager": "5.6.0", + "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.1.0", + "ignore": "^5.1.8", + "regexpp": "^3.2.0", "semver": "^7.3.5", "tsutils": "^3.21.0" } }, "@typescript-eslint/experimental-utils": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.0.tgz", - "integrity": "sha512-FpNVKykfeaIxlArLUP/yQfv/5/3rhl1ov6RWgud4OgbqWLkEq7lqgQU9iiavZRzpzCRQV4XddyFz3wFXdkiX9w==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.6.0.tgz", + "integrity": "sha512-VDoRf3Qj7+W3sS/ZBXZh3LBzp0snDLEgvp6qj0vOAIiAPM07bd5ojQ3CTzF/QFl5AKh7Bh1ycgj6lFBJHUt/DA==", "dev": true, "requires": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.0", - "@typescript-eslint/types": "4.29.0", - "@typescript-eslint/typescript-estree": "4.29.0", + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.6.0", + "@typescript-eslint/types": "5.6.0", + "@typescript-eslint/typescript-estree": "5.6.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/parser": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.0.tgz", - "integrity": "sha512-+92YRNHFdXgq+GhWQPT2bmjX09X7EH36JfgN2/4wmhtwV/HPxozpCNst8jrWcngLtEVd/4zAwA6BKojAlf+YqA==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.6.0.tgz", + "integrity": "sha512-YVK49NgdUPQ8SpCZaOpiq1kLkYRPMv9U5gcMrywzI8brtwZjr/tG3sZpuHyODt76W/A0SufNjYt9ZOgrC4tLIQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.29.0", - "@typescript-eslint/types": "4.29.0", - "@typescript-eslint/typescript-estree": "4.29.0", - "debug": "^4.3.1" + "@typescript-eslint/scope-manager": "5.6.0", + "@typescript-eslint/types": "5.6.0", + "@typescript-eslint/typescript-estree": "5.6.0", + "debug": "^4.3.2" } }, "@typescript-eslint/scope-manager": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.0.tgz", - "integrity": "sha512-HPq7XAaDMM3DpmuijxLV9Io8/6pQnliiXMQUcAdjpJJSR+fdmbD/zHCd7hMkjJn04UQtCQBtshgxClzg6NIS2w==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.6.0.tgz", + "integrity": "sha512-1U1G77Hw2jsGWVsO2w6eVCbOg0HZ5WxL/cozVSTfqnL/eB9muhb8THsP0G3w+BB5xAHv9KptwdfYFAUfzcIh4A==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.0", - "@typescript-eslint/visitor-keys": "4.29.0" + "@typescript-eslint/types": "5.6.0", + "@typescript-eslint/visitor-keys": "5.6.0" } }, "@typescript-eslint/types": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.0.tgz", - "integrity": "sha512-2YJM6XfWfi8pgU2HRhTp7WgRw78TCRO3dOmSpAvIQ8MOv4B46JD2chnhpNT7Jq8j0APlIbzO1Bach734xxUl4A==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.6.0.tgz", + "integrity": "sha512-OIZffked7mXv4mXzWU5MgAEbCf9ecNJBKi+Si6/I9PpTaj+cf2x58h2oHW5/P/yTnPkKaayfjhLvx+crnl5ubA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.0.tgz", - "integrity": "sha512-8ZpNHDIOyqzzgZrQW9+xQ4k5hM62Xy2R4RPO3DQxMc5Rq5QkCdSpk/drka+DL9w6sXNzV5nrdlBmf8+x495QXQ==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.6.0.tgz", + "integrity": "sha512-92vK5tQaE81rK7fOmuWMrSQtK1IMonESR+RJR2Tlc7w4o0MeEdjgidY/uO2Gobh7z4Q1hhS94Cr7r021fMVEeA==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.0", - "@typescript-eslint/visitor-keys": "4.29.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", + "@typescript-eslint/types": "5.6.0", + "@typescript-eslint/visitor-keys": "5.6.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", "semver": "^7.3.5", "tsutils": "^3.21.0" } }, "@typescript-eslint/visitor-keys": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.0.tgz", - "integrity": "sha512-LoaofO1C/jAJYs0uEpYMXfHboGXzOJeV118X4OsZu9f7rG7Pr9B3+4HTU8+err81rADa4xfQmAxnRnPAI2jp+Q==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.6.0.tgz", + "integrity": "sha512-1p7hDp5cpRFUyE3+lvA74egs+RWSgumrBpzBCDzfTFv0aQ7lIeay80yU0hIxgAhwQ6PcasW35kaOCyDOv6O/Ng==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.0", - "eslint-visitor-keys": "^2.0.0" + "@typescript-eslint/types": "5.6.0", + "eslint-visitor-keys": "^3.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", + "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", + "dev": true + } } }, "acorn": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -440,20 +2484,14 @@ }, "ansi-colors": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-regex": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -461,8 +2499,6 @@ }, "argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" @@ -476,20 +2512,14 @@ }, "astral-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -498,8 +2528,6 @@ }, "braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { "fill-range": "^7.0.1" @@ -507,20 +2535,10 @@ }, "callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -529,8 +2547,6 @@ "dependencies": { "ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" @@ -538,8 +2554,6 @@ }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -547,20 +2561,14 @@ }, "color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -568,21 +2576,8 @@ } } }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -590,66 +2585,14 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "create-ts-index": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/create-ts-index/-/create-ts-index-1.13.6.tgz", - "integrity": "sha512-vBcuficF62laj/wZv01D4YBz1TXTtEM8hsUq7J1k1uyPUHYq3YTWTVQlmlp+Y311KdM6HhPQeC2aHktvQR8u3w==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "commander": "^2.19.0", - "dayjs": "^1.8.14", - "debug": "^4.1.1", - "deepmerge": "^4.2.2", - "fast-glob": "^3.2.2", - "glob": "^7.1.3", - "json5": "^2.1.3", - "merge": "^1.2.1", - "minimatch": "^3.0.4", - "my-easy-fp": "^0.5.1", - "tslib": "^1.10.0", - "yargs": "^15.3.1" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, "cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -657,37 +2600,17 @@ "which": "^2.0.1" } }, - "dayjs": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz", - "integrity": "sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==", - "dev": true - }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "requires": { "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, "deep-is": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true }, "dir-glob": { @@ -701,28 +2624,20 @@ }, "doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" } }, "earcut": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.3.tgz", - "integrity": "sha512-iRDI1QeCQIhMCZk48DRDMVgQSSBDmbzzNhnxIo+pwx3swkfjMh6vh0nWLq1NdvGHLKH6wIrAM3vQWeTj6qeoug==" + "version": "2.2.3" }, "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "enquirer": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "requires": { "ansi-colors": "^4.1.1" @@ -730,14 +2645,10 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "eslint": { "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", @@ -784,14 +2695,10 @@ "dependencies": { "escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, "eslint-utils": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" @@ -799,24 +2706,18 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "ignore": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true } } }, "eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -834,14 +2735,10 @@ }, "eslint-visitor-keys": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true }, "espree": { "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { "acorn": "^7.4.0", @@ -851,22 +2748,16 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -874,16 +2765,12 @@ "dependencies": { "estraverse": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" @@ -891,39 +2778,27 @@ "dependencies": { "estraverse": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + "version": "3.1.2" }, "fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-glob": { "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -936,20 +2811,14 @@ }, "fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "fastq": { "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -957,8 +2826,6 @@ }, "file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -966,27 +2833,13 @@ }, "fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -995,32 +2848,18 @@ }, "flatted": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", "dev": true }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "functional-red-black-tree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -1033,8 +2872,6 @@ }, "glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -1042,8 +2879,6 @@ }, "globals": { "version": "13.10.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", - "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -1065,20 +2900,16 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", "dev": true }, "import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -1087,14 +2918,10 @@ }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -1103,26 +2930,20 @@ }, "inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -1130,31 +2951,21 @@ }, "is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "ismobilejs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz", - "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==" + "version": "1.1.1" }, "js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -1163,87 +2974,45 @@ }, "json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, "lodash.clonedeep": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, "lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lodash.truncate": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, "lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" } }, - "merge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", - "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", - "dev": true - }, "merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "micromatch": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, "requires": { "braces": "^3.0.1", @@ -1252,58 +3021,24 @@ }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "my-easy-fp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/my-easy-fp/-/my-easy-fp-0.5.1.tgz", - "integrity": "sha512-musRCJYBnEDDzod5ugUykOqHoZYudhtC90J536tFrMqXfjpBzb0PRzLkadM2chgNFsCebzm9GtC+qjQ7xKgpGg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "tslib": "1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", - "dev": true - } - } - }, "natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "version": "4.1.1" }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -1311,8 +3046,6 @@ }, "optionator": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -1323,60 +3056,22 @@ "word-wrap": "^1.2.3" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "pako": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", - "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" + "version": "2.0.4" }, "parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-type": { @@ -1387,126 +3082,88 @@ }, "picomatch": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, "pixi.js": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-6.1.0.tgz", - "integrity": "sha512-uBcM3wivcLq7CPwLGkcyGscsvRST4TcXSlgXaH46P6mxNnJoDgVJtEYwYP+5H9g7b96ZBo5We6lddO+mmz7cXw==", + "version": "6.2.0", "requires": { - "@pixi/accessibility": "6.1.0", - "@pixi/app": "6.1.0", - "@pixi/compressed-textures": "6.1.0", - "@pixi/constants": "6.1.0", - "@pixi/core": "6.1.0", - "@pixi/display": "6.1.0", - "@pixi/extract": "6.1.0", - "@pixi/filter-alpha": "6.1.0", - "@pixi/filter-blur": "6.1.0", - "@pixi/filter-color-matrix": "6.1.0", - "@pixi/filter-displacement": "6.1.0", - "@pixi/filter-fxaa": "6.1.0", - "@pixi/filter-noise": "6.1.0", - "@pixi/graphics": "6.1.0", - "@pixi/interaction": "6.1.0", - "@pixi/loaders": "6.1.0", - "@pixi/math": "6.1.0", - "@pixi/mesh": "6.1.0", - "@pixi/mesh-extras": "6.1.0", - "@pixi/mixin-cache-as-bitmap": "6.1.0", - "@pixi/mixin-get-child-by-name": "6.1.0", - "@pixi/mixin-get-global-position": "6.1.0", - "@pixi/particle-container": "6.1.0", - "@pixi/polyfill": "6.1.0", - "@pixi/prepare": "6.1.0", - "@pixi/runner": "6.1.0", - "@pixi/settings": "6.1.0", - "@pixi/sprite": "6.1.0", - "@pixi/sprite-animated": "6.1.0", - "@pixi/sprite-tiling": "6.1.0", - "@pixi/spritesheet": "6.1.0", - "@pixi/text": "6.1.0", - "@pixi/text-bitmap": "6.1.0", - "@pixi/ticker": "6.1.0", - "@pixi/utils": "6.1.0" + "@pixi/accessibility": "6.2.0", + "@pixi/app": "6.2.0", + "@pixi/compressed-textures": "6.2.0", + "@pixi/constants": "6.2.0", + "@pixi/core": "6.2.0", + "@pixi/display": "6.2.0", + "@pixi/extract": "6.2.0", + "@pixi/filter-alpha": "6.2.0", + "@pixi/filter-blur": "6.2.0", + "@pixi/filter-color-matrix": "6.2.0", + "@pixi/filter-displacement": "6.2.0", + "@pixi/filter-fxaa": "6.2.0", + "@pixi/filter-noise": "6.2.0", + "@pixi/graphics": "6.2.0", + "@pixi/interaction": "6.2.0", + "@pixi/loaders": "6.2.0", + "@pixi/math": "6.2.0", + "@pixi/mesh": "6.2.0", + "@pixi/mesh-extras": "6.2.0", + "@pixi/mixin-cache-as-bitmap": "6.2.0", + "@pixi/mixin-get-child-by-name": "6.2.0", + "@pixi/mixin-get-global-position": "6.2.0", + "@pixi/particle-container": "6.2.0", + "@pixi/polyfill": "6.2.0", + "@pixi/prepare": "6.2.0", + "@pixi/runner": "6.2.0", + "@pixi/settings": "6.2.0", + "@pixi/sprite": "6.2.0", + "@pixi/sprite-animated": "6.2.0", + "@pixi/sprite-tiling": "6.2.0", + "@pixi/spritesheet": "6.2.0", + "@pixi/text": "6.2.0", + "@pixi/text-bitmap": "6.2.0", + "@pixi/ticker": "6.2.0", + "@pixi/utils": "6.2.0" } }, "prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "progress": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "promise-polyfill": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz", - "integrity": "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==" + "version": "8.2.1" }, "punycode": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "version": "0.2.0" }, "queue-microtask": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz", - "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==", "dev": true }, "regexpp": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-from-string": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -1514,8 +3171,6 @@ }, "run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { "queue-microtask": "^1.2.2" @@ -1523,23 +3178,13 @@ }, "semver": { "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -1547,8 +3192,6 @@ }, "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "slash": { @@ -1559,8 +3202,6 @@ }, "slice-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -1570,8 +3211,6 @@ "dependencies": { "ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" @@ -1579,8 +3218,6 @@ }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -1588,22 +3225,16 @@ }, "color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true } } }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "string-width": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -1613,8 +3244,6 @@ }, "strip-ansi": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { "ansi-regex": "^5.0.0" @@ -1622,14 +3251,10 @@ }, "strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -1637,8 +3262,6 @@ }, "table": { "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", "dev": true, "requires": { "ajv": "^8.0.1", @@ -1651,8 +3274,6 @@ "dependencies": { "ajv": { "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -1663,31 +3284,23 @@ }, "json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" } }, "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + "version": "2.3.1" }, "tsutils": { "version": "3.21.0", @@ -1708,8 +3321,6 @@ }, "type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -1717,20 +3328,16 @@ }, "type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "typescript": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", "dev": true }, "uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -1738,130 +3345,38 @@ }, "url": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "requires": { "punycode": "1.3.2", "querystring": "0.2.0" }, "dependencies": { "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "version": "1.3.2" } } }, "v8-compile-cache": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "word-wrap": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } } diff --git a/package.json b/package.json index c56be1bc..f1884571 100644 --- a/package.json +++ b/package.json @@ -1,30 +1,32 @@ { "name": "@nitrots/nitro-renderer", - "version": "1.0.0", + "version": "1.1.0", "repository": { "type": "git", "url": "https://git.krews.org/nitro/nitro-renderer" }, + "type": "module", + "main": "./index.ts", "scripts": { "compile": "tsc --project ./tsconfig.json", - "eslint": "eslint ./src --fix" + "eslint": "eslint ./src --fix", + "postinstall": "node ./post-install.js" }, "private": true, "dependencies": { - "@pixi/canvas-renderer": "^6.1.0", - "@pixi/extract": "^6.1.0", + "@pixi/canvas-renderer": "^6.2.0", + "@pixi/extract": "^6.2.0", "@pixi/filter-adjustment": "^4.1.3", + "@pixi/tilemap": "^3.2.2", "pako": "^2.0.4", - "pixi.js": "^6.1.0", - "tslib": "^2.3.0" + "pixi.js": "^6.2.0", + "tslib": "^2.3.1" }, "devDependencies": { - "@types/node": "^14.17.7", "@types/pako": "^1.0.2", - "@typescript-eslint/eslint-plugin": "^4.29.0", - "@typescript-eslint/parser": "^4.29.0", - "create-ts-index": "^1.13.6", + "@typescript-eslint/eslint-plugin": "^5.6.0", + "@typescript-eslint/parser": "^5.6.0", "eslint": "^7.32.0", - "typescript": "^4.3.5" + "typescript": "~4.4.4" } } diff --git a/post-install.js b/post-install.js new file mode 100644 index 00000000..24f31d7c --- /dev/null +++ b/post-install.js @@ -0,0 +1,44 @@ +import { request as httpsRequest } from 'https'; + +function install() +{ + try + { + const params = {}; + const userAgent = process.env.npm_config_user_agent; + + if(userAgent) + { + const agentParts = userAgent.split(/[\s/]+/); + + params['packageName'] = process.env.npm_package_name; + params['packageVersion'] = process.env.npm_package_version; + params['nodeVersion'] = agentParts[3]; + params['npmVersion'] = agentParts[1]; + params['osType'] = agentParts[4]; + params['osArch'] = agentParts[5]; + } + + const data = JSON.stringify(params); + const request = httpsRequest({ + hostname: 'install.nitrots.co', + port: 443, + path: '/collect', + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Content-Length': data.length + } + }); + + request.write(data); + request.end(); + } + + catch (e) + { + // + } +} + +install(); diff --git a/src/core/asset/interfaces/IAssetData.ts b/src/core/asset/interfaces/IAssetData.ts index df67309f..ff4524c8 100644 --- a/src/core/asset/interfaces/IAssetData.ts +++ b/src/core/asset/interfaces/IAssetData.ts @@ -1,11 +1,9 @@ import { IAssetAnimation } from './animation'; import { IAsset } from './IAsset'; import { IAssetAlias } from './IAssetAlias'; -import { IAssetDimension } from './IAssetDimension'; import { IAssetPalette } from './IAssetPalette'; -import { IPlanetSystem } from './IPlanetSystem'; -import { IParticleSystem } from './particlesystem'; -import { ISpritesheet } from './spritesheet'; +import { IAssetLogicData } from './logic'; +import { ISpritesheetData } from './spritesheet'; import { IAssetVisualizationData } from './visualization'; export interface IAssetData { @@ -13,15 +11,8 @@ export interface IAssetData { name?: string; visualizationType?: string; logicType?: string; - maskType?: string; - credits?: string; - soundSample?: { id?: number, noPitch?: boolean }; - action?: { link?: string, startState?: number }; - planetSystems?: IPlanetSystem[]; - particleSystems?: IParticleSystem[]; - spritesheet?: ISpritesheet; - dimensions?: IAssetDimension; - directions?: number[]; + spritesheet?: ISpritesheetData; + logic?: IAssetLogicData; assets?: { [index: string]: IAsset }; aliases?: { [index: string]: IAssetAlias }; animations?: { [index: string]: IAssetAnimation }; diff --git a/src/core/asset/interfaces/index.ts b/src/core/asset/interfaces/index.ts index 88559df8..3d5fabbc 100644 --- a/src/core/asset/interfaces/index.ts +++ b/src/core/asset/interfaces/index.ts @@ -2,8 +2,7 @@ export * from './animation'; export * from './IAsset'; export * from './IAssetAlias'; export * from './IAssetData'; -export * from './IAssetDimension'; export * from './IAssetPalette'; -export * from './IPlanetSystem'; +export * from './logic'; export * from './spritesheet'; export * from './visualization'; diff --git a/src/core/asset/interfaces/logic/IAssetLogicCustomVars.ts b/src/core/asset/interfaces/logic/IAssetLogicCustomVars.ts new file mode 100644 index 00000000..1ebd4a86 --- /dev/null +++ b/src/core/asset/interfaces/logic/IAssetLogicCustomVars.ts @@ -0,0 +1,4 @@ +export interface ICustomVars +{ + variables?: string[]; +} diff --git a/src/core/asset/interfaces/logic/IAssetLogicData.ts b/src/core/asset/interfaces/logic/IAssetLogicData.ts new file mode 100644 index 00000000..acf484c9 --- /dev/null +++ b/src/core/asset/interfaces/logic/IAssetLogicData.ts @@ -0,0 +1,17 @@ +import { ICustomVars } from './IAssetLogicCustomVars'; +import { IAssetLogicPlanetSystem } from './IAssetLogicPlanetSystem'; +import { ISoundSample } from './ISoundSample'; +import { IAssetLogicModel } from './model/IAssetLogicModel'; +import { IParticleSystem } from './particlesystem'; + +export interface IAssetLogicData +{ + model?: IAssetLogicModel; + maskType?: string; + credits?: string; + soundSample?: ISoundSample; + action?: { link?: string, startState?: number }; + planetSystems?: IAssetLogicPlanetSystem[]; + particleSystems?: IParticleSystem[]; + customVars?: ICustomVars; +} diff --git a/src/core/asset/interfaces/IPlanetSystem.ts b/src/core/asset/interfaces/logic/IAssetLogicPlanetSystem.ts similarity index 80% rename from src/core/asset/interfaces/IPlanetSystem.ts rename to src/core/asset/interfaces/logic/IAssetLogicPlanetSystem.ts index 16acf871..47521bc6 100644 --- a/src/core/asset/interfaces/IPlanetSystem.ts +++ b/src/core/asset/interfaces/logic/IAssetLogicPlanetSystem.ts @@ -1,4 +1,4 @@ -export interface IPlanetSystem +export interface IAssetLogicPlanetSystem { id?: number; name?: string; diff --git a/src/core/asset/interfaces/logic/ISoundSample.ts b/src/core/asset/interfaces/logic/ISoundSample.ts new file mode 100644 index 00000000..003f9f62 --- /dev/null +++ b/src/core/asset/interfaces/logic/ISoundSample.ts @@ -0,0 +1,5 @@ +export interface ISoundSample +{ + id?: number; + noPitch?: boolean; +} diff --git a/src/core/asset/interfaces/logic/index.ts b/src/core/asset/interfaces/logic/index.ts new file mode 100644 index 00000000..569907b3 --- /dev/null +++ b/src/core/asset/interfaces/logic/index.ts @@ -0,0 +1,6 @@ +export * from './IAssetLogicCustomVars'; +export * from './IAssetLogicData'; +export * from './IAssetLogicPlanetSystem'; +export * from './ISoundSample'; +export * from './model'; +export * from './particlesystem'; diff --git a/src/core/asset/interfaces/IAssetDimension.ts b/src/core/asset/interfaces/logic/model/IAssetDimension.ts similarity index 100% rename from src/core/asset/interfaces/IAssetDimension.ts rename to src/core/asset/interfaces/logic/model/IAssetDimension.ts diff --git a/src/core/asset/interfaces/logic/model/IAssetLogicModel.ts b/src/core/asset/interfaces/logic/model/IAssetLogicModel.ts new file mode 100644 index 00000000..eef3245d --- /dev/null +++ b/src/core/asset/interfaces/logic/model/IAssetLogicModel.ts @@ -0,0 +1,7 @@ +import { IAssetDimension } from './IAssetDimension'; + +export interface IAssetLogicModel +{ + dimensions?: IAssetDimension; + directions?: number[]; +} diff --git a/src/core/asset/interfaces/logic/model/index.ts b/src/core/asset/interfaces/logic/model/index.ts new file mode 100644 index 00000000..4d08a724 --- /dev/null +++ b/src/core/asset/interfaces/logic/model/index.ts @@ -0,0 +1,2 @@ +export * from './IAssetDimension'; +export * from './IAssetLogicModel'; diff --git a/src/core/asset/interfaces/particlesystem/IParticleSystem.ts b/src/core/asset/interfaces/logic/particlesystem/IParticleSystem.ts similarity index 100% rename from src/core/asset/interfaces/particlesystem/IParticleSystem.ts rename to src/core/asset/interfaces/logic/particlesystem/IParticleSystem.ts diff --git a/src/core/asset/interfaces/particlesystem/IParticleSystemEmitter.ts b/src/core/asset/interfaces/logic/particlesystem/IParticleSystemEmitter.ts similarity index 100% rename from src/core/asset/interfaces/particlesystem/IParticleSystemEmitter.ts rename to src/core/asset/interfaces/logic/particlesystem/IParticleSystemEmitter.ts diff --git a/src/core/asset/interfaces/particlesystem/IParticleSystemParticle.ts b/src/core/asset/interfaces/logic/particlesystem/IParticleSystemParticle.ts similarity index 100% rename from src/core/asset/interfaces/particlesystem/IParticleSystemParticle.ts rename to src/core/asset/interfaces/logic/particlesystem/IParticleSystemParticle.ts diff --git a/src/core/asset/interfaces/particlesystem/IParticleSystemSimulation.ts b/src/core/asset/interfaces/logic/particlesystem/IParticleSystemSimulation.ts similarity index 100% rename from src/core/asset/interfaces/particlesystem/IParticleSystemSimulation.ts rename to src/core/asset/interfaces/logic/particlesystem/IParticleSystemSimulation.ts diff --git a/src/core/asset/interfaces/particlesystem/index.ts b/src/core/asset/interfaces/logic/particlesystem/index.ts similarity index 100% rename from src/core/asset/interfaces/particlesystem/index.ts rename to src/core/asset/interfaces/logic/particlesystem/index.ts diff --git a/src/core/asset/interfaces/spritesheet/ISpritesheet.ts b/src/core/asset/interfaces/spritesheet/ISpritesheet.ts deleted file mode 100644 index ff1900a8..00000000 --- a/src/core/asset/interfaces/spritesheet/ISpritesheet.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { ISpritesheetData } from '@pixi/spritesheet'; -import { ISpritesheetMeta } from './ISpritesheetMeta'; - -export interface ISpritesheet extends ISpritesheetData -{ - meta: ISpritesheetMeta; -} diff --git a/src/core/asset/interfaces/spritesheet/ISpritesheetData.ts b/src/core/asset/interfaces/spritesheet/ISpritesheetData.ts new file mode 100644 index 00000000..28589583 --- /dev/null +++ b/src/core/asset/interfaces/spritesheet/ISpritesheetData.ts @@ -0,0 +1,7 @@ +import { ISpritesheetData as PixiSpritesheet } from '@pixi/spritesheet'; +import { ISpritesheetMeta } from './ISpritesheetMeta'; + +export interface ISpritesheetData extends PixiSpritesheet +{ + meta: ISpritesheetMeta; +} diff --git a/src/core/asset/interfaces/spritesheet/ISpritesheetFrame.ts b/src/core/asset/interfaces/spritesheet/ISpritesheetFrame.ts new file mode 100644 index 00000000..0833b502 --- /dev/null +++ b/src/core/asset/interfaces/spritesheet/ISpritesheetFrame.ts @@ -0,0 +1,25 @@ +export interface ISpritesheetFrame +{ + frame: { + x: number; + y: number; + w: number; + h: number; + }; + rotated: boolean; + trimmed: boolean; + spriteSourceSize: { + x: number; + y: number; + w: number; + h: number; + }; + sourceSize: { + w: number; + h: number; + }; + pivot: { + x: number; + y: number; + }; +} diff --git a/src/core/asset/interfaces/spritesheet/index.ts b/src/core/asset/interfaces/spritesheet/index.ts index e3f8d384..9c94e8ba 100644 --- a/src/core/asset/interfaces/spritesheet/index.ts +++ b/src/core/asset/interfaces/spritesheet/index.ts @@ -1,2 +1,3 @@ -export * from './ISpritesheet'; +export * from './ISpritesheetData'; +export * from './ISpritesheetFrame'; export * from './ISpritesheetMeta'; diff --git a/src/core/asset/interfaces/visualization/IAssetVisualizationData.ts b/src/core/asset/interfaces/visualization/IAssetVisualizationData.ts index e0a2d1de..e17ecdc6 100644 --- a/src/core/asset/interfaces/visualization/IAssetVisualizationData.ts +++ b/src/core/asset/interfaces/visualization/IAssetVisualizationData.ts @@ -14,6 +14,7 @@ export interface IAssetVisualizationData colors?: { [index: string]: IAssetColor }; directions?: { [index: string]: IAssetVisualizationDirection }; animations?: { [index: string]: IAssetVisualAnimation }; - postures?: { [index: string]: IAssetPosture }; - gestures?: { [index: string]: IAssetGesture }; + defaultPosture?: string; + postures?: { defaultPosture?: string, postures?: IAssetPosture[] }; + gestures?: IAssetGesture[]; } diff --git a/src/core/communication/codec/BinaryReader.ts b/src/core/communication/codec/BinaryReader.ts index 6409eb82..4ff2b469 100644 --- a/src/core/communication/codec/BinaryReader.ts +++ b/src/core/communication/codec/BinaryReader.ts @@ -9,15 +9,6 @@ export class BinaryReader this._dataView = new DataView(buffer); } - public readByte(): number - { - const byte = this._dataView.getInt8(this._position); - - this._position++; - - return byte; - } - public readBytes(length: number): BinaryReader { const buffer = new BinaryReader(this._dataView.buffer.slice(this._position, this._position + length)); @@ -27,6 +18,15 @@ export class BinaryReader return buffer; } + public readByte(): number + { + const byte = this._dataView.getInt8(this._position); + + this._position++; + + return byte; + } + public readShort(): number { const short = this._dataView.getInt16(this._position); @@ -45,6 +45,24 @@ export class BinaryReader return int; } + public readFloat(): number + { + const float = this._dataView.getFloat32(this._position); + + this._position += 4; + + return float; + } + + public readDouble(): number + { + const double = this._dataView.getFloat64(this._position); + + this._position += 8; + + return double; + } + public remaining(): number { return this._dataView.byteLength - this._position; @@ -59,4 +77,4 @@ export class BinaryReader { return this._dataView.buffer; } -} \ No newline at end of file +} diff --git a/src/core/communication/codec/evawire/EvaWireDataWrapper.ts b/src/core/communication/codec/evawire/EvaWireDataWrapper.ts index c03c45e1..50a7a68b 100644 --- a/src/core/communication/codec/evawire/EvaWireDataWrapper.ts +++ b/src/core/communication/codec/evawire/EvaWireDataWrapper.ts @@ -12,13 +12,6 @@ export class EvaWireDataWrapper implements IMessageDataWrapper this._buffer = buffer; } - public readByte(): number - { - if(!this._buffer) return -1; - - return this._buffer.readByte(); - } - public readBytes(length: number): BinaryReader { if(!this._buffer) return null; @@ -26,6 +19,13 @@ export class EvaWireDataWrapper implements IMessageDataWrapper return this._buffer.readBytes(length); } + public readByte(): number + { + if(!this._buffer) return -1; + + return this._buffer.readByte(); + } + public readBoolean(): boolean { return (this.readByte() === 1); @@ -45,6 +45,20 @@ export class EvaWireDataWrapper implements IMessageDataWrapper return this._buffer.readInt(); } + public readFloat(): number + { + if(!this._buffer) return -1; + + return this._buffer.readFloat(); + } + + public readDouble(): number + { + if(!this._buffer) return -1; + + return this._buffer.readDouble(); + } + public readString(): string { const length = this.readShort(); @@ -62,4 +76,4 @@ export class EvaWireDataWrapper implements IMessageDataWrapper { return (this._buffer && (this._buffer.remaining() > 0)); } -} \ No newline at end of file +} diff --git a/src/core/communication/messages/IMessageDataWrapper.ts b/src/core/communication/messages/IMessageDataWrapper.ts index 0623d859..87337b8a 100644 --- a/src/core/communication/messages/IMessageDataWrapper.ts +++ b/src/core/communication/messages/IMessageDataWrapper.ts @@ -7,7 +7,9 @@ export interface IMessageDataWrapper readBoolean(): boolean; readShort(): number; readInt(): number; + readFloat(): number; + readDouble(): number; readString(): string; header: number; bytesAvailable: boolean; -} \ No newline at end of file +} diff --git a/src/core/utils/proxy/NitroAlphaFilter.ts b/src/core/utils/proxy/NitroAlphaFilter.ts new file mode 100644 index 00000000..26eba360 --- /dev/null +++ b/src/core/utils/proxy/NitroAlphaFilter.ts @@ -0,0 +1,4 @@ +import { AlphaFilter } from '@pixi/filter-alpha'; + +export class NitroAlphaFilter extends AlphaFilter +{} diff --git a/src/core/utils/proxy/NitroBaseTexture.ts b/src/core/utils/proxy/NitroBaseTexture.ts new file mode 100644 index 00000000..bf75bf04 --- /dev/null +++ b/src/core/utils/proxy/NitroBaseTexture.ts @@ -0,0 +1,4 @@ +import { BaseTexture } from '@pixi/core'; + +export class NitroBaseTexture extends BaseTexture +{} diff --git a/src/core/utils/proxy/NitroPolygon.ts b/src/core/utils/proxy/NitroPolygon.ts new file mode 100644 index 00000000..de946083 --- /dev/null +++ b/src/core/utils/proxy/NitroPolygon.ts @@ -0,0 +1,4 @@ +import { Polygon } from '@pixi/math'; + +export class NitroPolygon extends Polygon +{} diff --git a/src/core/utils/proxy/NitroSpritesheet.ts b/src/core/utils/proxy/NitroSpritesheet.ts new file mode 100644 index 00000000..25fdfce7 --- /dev/null +++ b/src/core/utils/proxy/NitroSpritesheet.ts @@ -0,0 +1,4 @@ +import { Spritesheet } from '@pixi/spritesheet'; + +export class NitroSpritesheet extends Spritesheet +{} diff --git a/src/core/utils/proxy/index.ts b/src/core/utils/proxy/index.ts index 95551ec3..3e9d870a 100644 --- a/src/core/utils/proxy/index.ts +++ b/src/core/utils/proxy/index.ts @@ -1,12 +1,17 @@ export * from './INitroPoint'; export * from './NitroAdjustmentFilter'; +export * from './NitroAlphaFilter'; +export * from './NitroBaseTexture'; export * from './NitroContainer'; export * from './NitroFilter'; export * from './NitroPoint'; +export * from './NitroPolygon'; export * from './NitroRectangle'; export * from './NitroRenderTexture'; export * from './NitroSprite'; +export * from './NitroSpritesheet'; export * from './NitroTexture'; export * from './PixiApplicationProxy'; export * from './PixiInteractionEventProxy'; export * from './PixiLoaderProxy'; +export * from './tilemap'; diff --git a/src/core/utils/proxy/tilemap/NitroTilemap.ts b/src/core/utils/proxy/tilemap/NitroTilemap.ts new file mode 100644 index 00000000..00477776 --- /dev/null +++ b/src/core/utils/proxy/tilemap/NitroTilemap.ts @@ -0,0 +1,6 @@ +import { Tilemap } from '@pixi/tilemap'; + +export class NitroTilemap extends Tilemap +{ + +} diff --git a/src/core/utils/proxy/tilemap/index.ts b/src/core/utils/proxy/tilemap/index.ts new file mode 100644 index 00000000..d14e1ff8 --- /dev/null +++ b/src/core/utils/proxy/tilemap/index.ts @@ -0,0 +1,2 @@ +export { POINT_STRUCT_SIZE } from '@pixi/tilemap'; +export * from './NitroTilemap'; diff --git a/src/nitro/Plugins.ts b/src/nitro/Plugins.ts index a630cc61..fd7ae350 100644 --- a/src/nitro/Plugins.ts +++ b/src/nitro/Plugins.ts @@ -12,6 +12,7 @@ import { TilingSpriteRenderer } from '@pixi/sprite-tiling'; import { SpritesheetLoader } from '@pixi/spritesheet'; import { BitmapFontLoader } from '@pixi/text-bitmap'; import { TickerPlugin } from '@pixi/ticker'; +import { TileRenderer } from '@pixi/tilemap'; Renderer.registerPlugin('accessibility', AccessibilityManager); Renderer.registerPlugin('extract', Extract); @@ -20,6 +21,7 @@ Renderer.registerPlugin('particle', ParticleRenderer); Renderer.registerPlugin('prepare', Prepare); Renderer.registerPlugin('batch', BatchRenderer); Renderer.registerPlugin('tilingSprite', TilingSpriteRenderer); +Renderer.registerPlugin('tilemap', TileRenderer); Loader.registerPlugin(BitmapFontLoader); Loader.registerPlugin(CompressedTextureLoader); diff --git a/src/nitro/avatar/AvatarImage.ts b/src/nitro/avatar/AvatarImage.ts index a09400d7..9593206e 100644 --- a/src/nitro/avatar/AvatarImage.ts +++ b/src/nitro/avatar/AvatarImage.ts @@ -523,12 +523,6 @@ export class AvatarImage implements IAvatarImage, IAvatarEffectListener const setTypes = this.getBodyParts(setType, this._mainAction.definition.geometryType, this._mainDirection); const container = new NitroContainer(); - const sprite = new NitroSprite(Texture.EMPTY); - - sprite.width = avatarCanvas.width; - sprite.height = avatarCanvas.height; - - container.addChild(sprite); let partCount = (setTypes.length - 1); @@ -576,7 +570,9 @@ export class AvatarImage implements IAvatarImage, IAvatarEffectListener partCount--; } - const image = TextureUtils.generateImage(container); + const texture = TextureUtils.generateTexture(container, new Rectangle(0, 0, avatarCanvas.width, avatarCanvas.height)); + + const image = TextureUtils.generateImage(texture); if(!image) return null; diff --git a/src/nitro/avatar/AvatarRenderManager.ts b/src/nitro/avatar/AvatarRenderManager.ts index 5675bec1..391abd02 100644 --- a/src/nitro/avatar/AvatarRenderManager.ts +++ b/src/nitro/avatar/AvatarRenderManager.ts @@ -352,7 +352,7 @@ export class AvatarRenderManager extends NitroManager implements IAvatarRenderMa return !(isValid); } - public getFigureClubLevel(container: IAvatarFigureContainer, gender: string, searchParts: string[]): number + public getFigureClubLevel(container: IAvatarFigureContainer, gender: string, searchParts: string[] = null): number { if(!this._structure) return 0; @@ -363,7 +363,10 @@ export class AvatarRenderManager extends NitroManager implements IAvatarRenderMa for(const part of parts) { - const set = figureData.getSetType(part); + const set = figureData.getSetType(part); + + if(!set) continue; + const setId = container.getPartSetId(part); const partSet = set.getPartSet(setId); @@ -378,6 +381,8 @@ export class AvatarRenderManager extends NitroManager implements IAvatarRenderMa { const color = palette.getColor(colorId); + if(!color) continue; + clubLevel = Math.max(color.clubLevel, clubLevel); } } @@ -389,6 +394,8 @@ export class AvatarRenderManager extends NitroManager implements IAvatarRenderMa { const set = figureData.getSetType(part); + if(!set) continue; + if(parts.indexOf(part) === -1) clubLevel = Math.max(set.optionalFromClubLevel(gender), clubLevel); } diff --git a/src/nitro/avatar/IAvatarRenderManager.ts b/src/nitro/avatar/IAvatarRenderManager.ts index 3bee9b2b..5b380022 100644 --- a/src/nitro/avatar/IAvatarRenderManager.ts +++ b/src/nitro/avatar/IAvatarRenderManager.ts @@ -15,7 +15,7 @@ export interface IAvatarRenderManager extends INitroManager isFigureContainerReady(container: IAvatarFigureContainer): boolean; createAvatarImage(figure: string, size: string, gender: string, listener?: IAvatarImageListener, effectListener?: IAvatarEffectListener): IAvatarImage; downloadAvatarFigure(container: IAvatarFigureContainer, listener: IAvatarImageListener): void; - getFigureClubLevel(container: IAvatarFigureContainer, gender: string, searchParts: string[]): number; + getFigureClubLevel(container: IAvatarFigureContainer, gender: string, searchParts?: string[]): number; isValidFigureSetForGender(setId: number, gender: string): boolean; getFigureStringWithFigureIds(k: string, _arg_2: string, _arg_3: number[]): string; getMandatoryAvatarPartSetIds(k: string, _arg_2: number): string[]; diff --git a/src/nitro/avatar/structure/figure/PartColor.ts b/src/nitro/avatar/structure/figure/PartColor.ts index 06e558b5..0bd79036 100644 --- a/src/nitro/avatar/structure/figure/PartColor.ts +++ b/src/nitro/avatar/structure/figure/PartColor.ts @@ -13,11 +13,11 @@ export class PartColor implements IPartColor { if(!data) throw new Error('invalid_data'); - this._id = data.id; - this._index = data.index; - this._clubLevel = data.club; - this._isSelectable = data.selectable; - this._rgb = parseInt('0x' + data.hexCode, 16); + this._id = data.id; + this._index = data.index; + this._clubLevel = (data.club || 0); + this._isSelectable = data.selectable; + this._rgb = parseInt('0x' + data.hexCode, 16); } public get id(): number diff --git a/src/nitro/communication/INitroCommunicationManager.ts b/src/nitro/communication/INitroCommunicationManager.ts index 39041234..e5a8af3a 100644 --- a/src/nitro/communication/INitroCommunicationManager.ts +++ b/src/nitro/communication/INitroCommunicationManager.ts @@ -1,6 +1,6 @@ +import { IMessageEvent } from '../../core'; import { INitroManager } from '../../core/common/INitroManager'; import { IConnection } from '../../core/communication/connections/IConnection'; -import { IMessageEvent } from '../../core/communication/messages/IMessageEvent'; import { NitroCommunicationDemo } from './demo/NitroCommunicationDemo'; export interface INitroCommunicationManager extends INitroManager @@ -9,4 +9,4 @@ export interface INitroCommunicationManager extends INitroManager removeMessageEvent(event: IMessageEvent): void; demo: NitroCommunicationDemo; connection: IConnection; -} \ No newline at end of file +} diff --git a/src/nitro/communication/NitroCommunicationManager.ts b/src/nitro/communication/NitroCommunicationManager.ts index cccae233..c906cc6a 100644 --- a/src/nitro/communication/NitroCommunicationManager.ts +++ b/src/nitro/communication/NitroCommunicationManager.ts @@ -1,10 +1,10 @@ +import { IMessageEvent } from '../../core'; import { NitroManager } from '../../core/common/NitroManager'; import { IConnection } from '../../core/communication/connections/IConnection'; import { IConnectionStateListener } from '../../core/communication/connections/IConnectionStateListener'; import { SocketConnectionEvent } from '../../core/communication/events/SocketConnectionEvent'; import { ICommunicationManager } from '../../core/communication/ICommunicationManager'; import { IMessageConfiguration } from '../../core/communication/messages/IMessageConfiguration'; -import { IMessageEvent } from '../../core/communication/messages/IMessageEvent'; import { NitroEvent } from '../../core/events/NitroEvent'; import { Nitro } from '../Nitro'; import { NitroCommunicationDemo } from './demo/NitroCommunicationDemo'; diff --git a/src/nitro/communication/NitroMessages.ts b/src/nitro/communication/NitroMessages.ts index 62b97436..0322e7e0 100644 --- a/src/nitro/communication/NitroMessages.ts +++ b/src/nitro/communication/NitroMessages.ts @@ -1,35 +1,23 @@ import { IMessageConfiguration } from '../../core/communication/messages/IMessageConfiguration'; -import { ApproveNameMessageComposer, BadgeReceivedEvent, BonusRareInfoMessageEvent, CatalogApproveNameResultEvent, ChangeUserNameResultMessageEvent, FurnitureGuildInfoComposer, GetBonusRareInfoMessageComposer, MysteryBoxKeysEvent, PetExperienceEvent, PetMountComposer, PetSupplementComposer, RemoveAllRightsMessageComposer, RemoveOwnRoomRightsRoomMessageComposer, RemovePetSaddleComposer, RoomUnitGiveHandItemPetComposer, SellablePetPalettesEvent, TogglePetBreedingComposer, TogglePetRidingComposer, UnseenResetCategoryComposer, UnseenResetItemsComposer, UsePetProductComposer } from './messages'; +import { AchievementNotificationMessageEvent, ActivityPointNotificationMessageEvent, AddJukeboxDiskComposer, ApproveNameMessageComposer, ApproveNameMessageEvent, AvailabilityTimeMessageEvent, BadgePointLimitsEvent, BadgeReceivedEvent, BonusRareInfoMessageEvent, BuildersClubFurniCountMessageEvent, BuildersClubSubscriptionStatusMessageEvent, BundleDiscountRulesetMessageEvent, BuyMarketplaceOfferMessageComposer, BuyMarketplaceTokensMessageComposer, CallForHelpFromForumMessageMessageComposer, CallForHelpFromForumThreadMessageComposer, CallForHelpFromIMMessageComposer, CallForHelpFromPhotoMessageComposer, CallForHelpFromSelfieMessageComposer, CallForHelpMessageComposer, CallForHelpPendingCallsDeletedMessageEvent, CallForHelpPendingCallsMessageEvent, CallForHelpReplyMessageEvent, CancelMarketplaceOfferMessageComposer, ChangeUserNameMessageComposer, ChangeUserNameResultMessageEvent, ChatReviewGuideDecidesOnOfferMessageComposer, ChatReviewGuideDetachedMessageComposer, ChatReviewGuideVoteMessageComposer, ChatReviewSessionCreateMessageComposer, ChatReviewSessionDetachedMessageEvent, ChatReviewSessionOfferedToGuideMessageEvent, ChatReviewSessionResultsMessageEvent, ChatReviewSessionStartedMessageEvent, ChatReviewSessionVotingStatusMessageEvent, CheckUserNameMessageComposer, CheckUserNameResultMessageEvent, CloseIssueDefaultActionMessageComposer, CloseIssuesMessageComposer, ClubGiftNotificationEvent, ControlYoutubeDisplayPlaybackMessageComposer, DeletePendingCallsForHelpMessageComposer, DirectSMSClubBuyAvailableMessageEvent, FigureUpdateEvent, ForwardToASubmittableRoomMessageComposer, ForwardToRandomCompetitionRoomMessageComposer, FurnitureGroupInfoComposer, GetBonusRareInfoMessageComposer, GetCatalogPageExpirationComposer, GetCatalogPageWithEarliestExpiryComposer, GetCfhChatlogMessageComposer, GetCfhStatusMessageComposer, GetCurrentTimingCodeMessageComposer, GetDirectClubBuyAvailableComposer, GetExtendedProfileByNameMessageComposer, GetFaqCategoryMessageComposer, GetFaqTextMessageComposer, GetForumsListMessageComposer, GetForumStatsMessageComposer, GetGiftMessageComposer, GetGuideReportingStatusMessageComposer, GetHabboBasicMembershipExtendOfferComposer, GetHabboClubExtendOfferMessageComposer, GetInterstitialMessageComposer, GetJukeboxPlayListMessageComposer, GetLimitedOfferAppearingNextComposer, GetMarketplaceConfigurationMessageComposer, GetMarketplaceItemStatsComposer, GetMarketplaceOffersMessageComposer, GetMarketplaceOwnOffersMessageComposer, GetMessagesMessageComposer, GetNextTargetedOfferComposer, GetNowPlayingMessageComposer, GetOfficialSongIdMessageComposer, GetPendingCallsForHelpMessageComposer, GetQuizQuestionsComposer, GetRoomAdPurchaseInfoComposer, GetSeasonalCalendarDailyOfferComposer, GetSecondsUntilMessageComposer, GetSongInfoMessageComposer, GetSoundMachinePlayListMessageComposer, GetThreadMessageComposer, GetThreadsMessageComposer, GetUnreadForumsCountMessageComposer, GetUserSongDisksMessageComposer, GetYoutubeDisplayStatusMessageComposer, GoToFlatMessageComposer, GroupBadgesComposer, GroupBadgesEvent, GuideOnDutyStatusMessageEvent, GuideSessionAttachedMessageEvent, GuideSessionCreateMessageComposer, GuideSessionDetachedMessageEvent, GuideSessionEndedMessageEvent, GuideSessionErrorMessageEvent, GuideSessionFeedbackMessageComposer, GuideSessionGetRequesterRoomMessageComposer, GuideSessionGuideDecidesMessageComposer, GuideSessionInvitedToGuideRoomMessageEvent, GuideSessionInviteRequesterMessageComposer, GuideSessionIsTypingMessageComposer, GuideSessionMessageMessageComposer, GuideSessionMessageMessageEvent, GuideSessionOnDutyUpdateMessageComposer, GuideSessionPartnerIsTypingMessageEvent, GuideSessionReportMessageComposer, GuideSessionRequesterCancelsMessageComposer, GuideSessionRequesterRoomMessageEvent, GuideSessionResolvedMessageComposer, GuideSessionStartedMessageEvent, GuideTicketCreationResultMessageEvent, GuideTicketResolutionMessageEvent, HabboClubExtendOfferMessageEvent, HotelClosedAndOpensEvent, HotelClosesAndWillOpenAtEvent, HotelMergeNameChangeEvent, HotelWillCloseInMinutesEvent, InfoFeedEnableMessageEvent, InterstitialMessageEvent, InterstitialShownMessageComposer, IsBadgeRequestFulfilledEvent, IsOfferGiftableMessageEvent, IssueCloseNotificationMessageEvent, JukeboxPlayListFullMessageEvent, JukeboxSongDisksMessageEvent, LimitedOfferAppearingNextMessageEvent, MaintenanceStatusMessageEvent, MarkCatalogNewAdditionsPageOpenedComposer, ModerateMessageMessageComposer, ModerateThreadMessageComposer, ModToolPreferencesComposer, ModToolSanctionComposer, MysteryBoxKeysEvent, NotEnoughBalanceMessageEvent, NowPlayingMessageEvent, OfficialSongIdMessageEvent, OpenCampaignCalendarDoorAsStaffComposer, OpenCampaignCalendarDoorComposer, PetExperienceEvent, PetMountComposer, PetSupplementComposer, PickIssuesMessageComposer, PlayListMessageEvent, PlayListSongAddedMessageEvent, PollAnswerComposer, PollContentsEvent, PollErrorEvent, PollOfferEvent, PollRejectComposer, PollStartComposer, PostMessageMessageComposer, PostQuizAnswersComposer, PurchaseBasicMembershipExtensionComposer, PurchaseRoomAdMessageComposer, PurchaseTargetedOfferComposer, PurchaseVipMembershipExtensionComposer, QuestionAnsweredEvent, QuestionEvent, QuestionFinishedEvent, QuizDataMessageEvent, QuizResultsMessageEvent, RedeemMarketplaceOfferCreditsMessageComposer, ReleaseIssuesMessageComposer, RemoveAllRightsMessageComposer, RemoveJukeboxDiskComposer, RemoveOwnRoomRightsRoomMessageComposer, RemovePetSaddleComposer, ResetPhoneNumberStateMessageComposer, RoomAdErrorEvent, RoomAdPurchaseInfoEvent, RoomCompetitionInitMessageComposer, RoomUnitGiveHandItemPetComposer, ScrGetKickbackInfoMessageComposer, ScrSendKickbackInfoMessageEvent, SearchFaqsMessageComposer, SeasonalCalendarDailyOfferMessageEvent, SellablePetPalettesMessageEvent, SetPhoneNumberVerificationStatusMessageComposer, SetTargetedOfferStateComposer, SetYoutubeDisplayPlaylistMessageComposer, ShopTargetedOfferViewedComposer, SubmitRoomToCompetitionMessageComposer, TalentTrackMessageEvent, TargetedOfferEvent, TargetedOfferNotFoundEvent, TogglePetBreedingComposer, TogglePetRidingComposer, TraxSongInfoMessageEvent, TryPhoneNumberMessageComposer, UnseenResetCategoryComposer, UnseenResetItemsComposer, UpdateForumReadMarkerMessageComposer, UpdateForumSettingsMessageComposer, UpdateThreadMessageComposer, UsePetProductComposer, UserSongDisksInventoryMessageEvent, VerifyCodeMessageComposer, VoteForRoomMessageComposer, WardrobeMessageEvent } from './messages'; import { AvailabilityStatusMessageEvent } from './messages/incoming/availability/AvailabilityStatusMessageEvent'; +import { BotAddedToInventoryEvent, BotInventoryMessageEvent, BotReceivedMessageEvent, BotRemovedFromInventoryEvent } from './messages/incoming/bots'; +import { CfhSanctionMessageEvent, CfhTopicsInitEvent, SanctionStatusEvent } from './messages/incoming/callforhelp'; import { CameraPublishStatusMessageEvent } from './messages/incoming/camera/CameraPublishStatusMessageEvent'; import { CameraPurchaseOKMessageEvent } from './messages/incoming/camera/CameraPurchaseOKMessageEvent'; import { CameraStorageUrlMessageEvent } from './messages/incoming/camera/CameraStorageUrlMessageEvent'; import { CompetitionStatusMessageEvent } from './messages/incoming/camera/CompetitionStatusMessageEvent'; import { InitCameraMessageEvent } from './messages/incoming/camera/InitCameraMessageEvent'; import { ThumbnailStatusMessageEvent } from './messages/incoming/camera/ThumbnailStatusMessageEvent'; -import { CatalogClubEvent } from './messages/incoming/catalog/CatalogClubEvent'; -import { CatalogClubGiftsEvent } from './messages/incoming/catalog/CatalogClubGiftsEvent'; -import { CatalogGiftConfigurationEvent } from './messages/incoming/catalog/CatalogGiftConfigurationEvent'; -import { CatalogGiftUsernameUnavailableEvent } from './messages/incoming/catalog/CatalogGiftUsernameUnavailableEvent'; -import { CatalogGroupsEvent } from './messages/incoming/catalog/CatalogGroupsEvent'; -import { CatalogModeEvent } from './messages/incoming/catalog/CatalogModeEvent'; -import { CatalogPageEvent } from './messages/incoming/catalog/CatalogPageEvent'; -import { CatalogPagesEvent } from './messages/incoming/catalog/CatalogPagesEvent'; -import { CatalogPurchaseEvent } from './messages/incoming/catalog/CatalogPurchaseEvent'; -import { CatalogPurchaseFailedEvent } from './messages/incoming/catalog/CatalogPurchaseFailedEvent'; -import { CatalogPurchaseUnavailableEvent } from './messages/incoming/catalog/CatalogPurchaseUnavailableEvent'; -import { CatalogRedeemVoucherErrorEvent } from './messages/incoming/catalog/CatalogRedeemVoucherErrorEvent'; -import { CatalogRedeemVoucherOkEvent } from './messages/incoming/catalog/CatalogRedeemVoucherOkEvent'; -import { CatalogSearchEvent } from './messages/incoming/catalog/CatalogSearchEvent'; -import { CatalogSoldOutEvent } from './messages/incoming/catalog/CatalogSoldOutEvent'; -import { CatalogUpdatedEvent } from './messages/incoming/catalog/CatalogUpdatedEvent'; -import { MarketplaceBuyOfferResultEvent } from './messages/incoming/catalog/marketplace/MarketplaceBuyOfferResultEvent'; -import { MarketplaceCancelItemEvent } from './messages/incoming/catalog/marketplace/MarketplaceCancelItemEvent'; -import { MarketplaceOffersReceivedEvent } from './messages/incoming/catalog/marketplace/MarketplaceOffersReceivedEvent'; -import { MarketplaceOwnItemsEvent } from './messages/incoming/catalog/marketplace/MarketplaceOwnItemsEvent'; -import { MarketplaceConfigEvent } from './messages/incoming/catalog/MarketplaceConfigEvent'; -import { MarketplaceItemStatsEvent } from './messages/incoming/catalog/MarketplaceItemStatsEvent'; +import { CampaignCalendarDataMessageEvent, CampaignCalendarDoorOpenedMessageEvent } from './messages/incoming/campaign'; +import { CatalogPageExpirationEvent, CatalogPageMessageEvent, CatalogPagesListEvent, CatalogPageWithEarliestExpiryMessageEvent, CatalogPublishedMessageEvent, ClubGiftInfoEvent, ClubGiftSelectedEvent, GiftReceiverNotFoundEvent, GiftWrappingConfigurationEvent, HabboClubOffersMessageEvent, LimitedEditionSoldOutEvent, ProductOfferEvent, PurchaseErrorMessageEvent, PurchaseNotAllowedMessageEvent, PurchaseOKMessageEvent, VoucherRedeemErrorMessageEvent, VoucherRedeemOkMessageEvent } from './messages/incoming/catalog'; import { ClientPingEvent } from './messages/incoming/client/ClientPingEvent'; +import { CompetitionEntrySubmitResultEvent } from './messages/incoming/competition/CompetitionEntrySubmitResultEvent'; +import { CompetitionVotingInfoMessageEvent } from './messages/incoming/competition/CompetitionVotingInfoMessageEvent'; +import { CurrentTimingCodeMessageEvent } from './messages/incoming/competition/CurrentTimingCodeMessageEvent'; +import { IsUserPartOfCompetitionMessageEvent } from './messages/incoming/competition/IsUserPartOfCompetitionMessageEvent'; +import { NoOwnedRoomsAlertMessageEvent } from './messages/incoming/competition/NoOwnedRoomsAlertMessageEvent'; +import { SecondsUntilMessageEvent } from './messages/incoming/competition/SecondsUntilMessageEvent'; import { CraftableProductsEvent } from './messages/incoming/crafting/CraftableProductsEvent'; import { CraftingRecipeEvent } from './messages/incoming/crafting/CraftingRecipeEvent'; import { CraftingRecipesAvailableEvent } from './messages/incoming/crafting/CraftingRecipesAvailableEvent'; @@ -47,6 +35,7 @@ import { InstantMessageErrorEvent } from './messages/incoming/friendlist/Instant import { MessageErrorEvent } from './messages/incoming/friendlist/MessageErrorEvent'; import { MessengerInitEvent } from './messages/incoming/friendlist/MessengerInitEvent'; import { MiniMailNewMessageEvent } from './messages/incoming/friendlist/MiniMailNewMessageEvent'; +import { MiniMailUnreadCountEvent } from './messages/incoming/friendlist/MiniMailUnreadCountEvent'; import { NewConsoleMessageEvent } from './messages/incoming/friendlist/NewConsoleMessageEvent'; import { NewFriendRequestEvent } from './messages/incoming/friendlist/NewFriendRequestEvent'; import { RoomInviteErrorEvent } from './messages/incoming/friendlist/RoomInviteErrorEvent'; @@ -58,8 +47,11 @@ import { GroupBuyDataEvent } from './messages/incoming/group/GroupBuyDataEvent'; import { GroupConfirmMemberRemoveEvent } from './messages/incoming/group/GroupConfirmMemberRemoveEvent'; import { GroupInformationEvent } from './messages/incoming/group/GroupInformationEvent'; import { GroupMembersEvent } from './messages/incoming/group/GroupMembersEvent'; +import { GroupPurchasedEvent } from './messages/incoming/group/GroupPurchasedEvent'; import { GroupSettingsEvent } from './messages/incoming/group/GroupSettingsEvent'; +import { CallForHelpDisabledNotifyMessageEvent } from './messages/incoming/help/CallForHelpDisabledNotifyMessageEvent'; import { CallForHelpResultMessageEvent } from './messages/incoming/help/CallForHelpResultMessageEvent'; +import { GuideReportingStatusMessageEvent } from './messages/incoming/help/GuideReportingStatusMessageEvent'; import { IncomingHeader } from './messages/incoming/IncomingHeader'; import { AchievementEvent } from './messages/incoming/inventory/achievements/AchievementEvent'; import { AchievementsEvent } from './messages/incoming/inventory/achievements/AchievementsEvent'; @@ -69,9 +61,6 @@ import { AvatarEffectAddedEvent } from './messages/incoming/inventory/avatareffe import { AvatarEffectExpiredEvent } from './messages/incoming/inventory/avatareffect/AvatarEffectExpiredEvent'; import { AvatarEffectsEvent } from './messages/incoming/inventory/avatareffect/AvatarEffectsEvent'; import { BadgesEvent } from './messages/incoming/inventory/badges/BadgesEvent'; -import { BotAddedToInventoryEvent } from './messages/incoming/inventory/bots/BotAddedToInventoryEvent'; -import { BotInventoryMessageEvent } from './messages/incoming/inventory/bots/BotInventoryMessageEvent'; -import { BotRemovedFromInventoryEvent } from './messages/incoming/inventory/bots/BotRemovedFromInventoryEvent'; import { FigureSetIdsMessageEvent } from './messages/incoming/inventory/clothes/FigureSetIdsMessageEvent'; import { FurnitureListAddOrUpdateEvent } from './messages/incoming/inventory/furni/FurnitureListAddOrUpdateEvent'; import { FurnitureListEvent } from './messages/incoming/inventory/furni/FurnitureListEvent'; @@ -79,10 +68,9 @@ import { FurnitureListInvalidateEvent } from './messages/incoming/inventory/furn import { FurnitureListRemovedEvent } from './messages/incoming/inventory/furni/FurnitureListRemovedEvent'; import { FurniturePostItPlacedEvent } from './messages/incoming/inventory/furni/FurniturePostItPlacedEvent'; import { PresentOpenedMessageEvent } from './messages/incoming/inventory/furni/gifts/PresentOpenedMessageEvent'; -import { MarketplaceItemPostedEvent } from './messages/incoming/inventory/marketplace/MarketplaceItemPostedEvent'; -import { MarketplaceSellItemEvent } from './messages/incoming/inventory/marketplace/MarketplaceSellItemEvent'; import { PetAddedToInventoryEvent } from './messages/incoming/inventory/pets/PetAddedToInventoryEvent'; import { PetInventoryEvent } from './messages/incoming/inventory/pets/PetInventoryEvent'; +import { PetReceivedMessageEvent } from './messages/incoming/inventory/pets/PetReceivedMessageEvent'; import { PetRemovedFromInventory } from './messages/incoming/inventory/pets/PetRemovedFromInventoryEvent'; import { TradingAcceptEvent } from './messages/incoming/inventory/trading/TradingAcceptEvent'; import { TradingCloseEvent } from './messages/incoming/inventory/trading/TradingCloseEvent'; @@ -96,14 +84,16 @@ import { TradingOtherNotAllowedEvent } from './messages/incoming/inventory/tradi import { TradingYouAreNotAllowedEvent } from './messages/incoming/inventory/trading/TradingYouAreNotAllowedEvent'; import { PromoArticlesMessageEvent } from './messages/incoming/landingview/PromoArticlesMessageEvent'; import { CommunityGoalVoteMessageEvent } from './messages/incoming/landingview/votes/CommunityGoalVoteMessageEvent'; -import { ModeratorMessageEvent } from './messages/incoming/moderation/ModeratorMessageEvent'; -import { ModtoolCallForHelpTopicsEvent } from './messages/incoming/modtool/ModtoolCallForHelpTopicsEvent'; -import { ModtoolMainEvent } from './messages/incoming/modtool/ModtoolMainEvent'; -import { ModtoolReceivedRoomsUserEvent } from './messages/incoming/modtool/ModtoolReceivedRoomsUserEvent'; -import { ModtoolRoomChatlogEvent } from './messages/incoming/modtool/ModtoolRoomChatlogEvent'; -import { ModtoolRoomInfoEvent } from './messages/incoming/modtool/ModtoolRoomInfoEvent'; -import { ModtoolUserChatlogEvent } from './messages/incoming/modtool/ModtoolUserChatlogEvent'; -import { ModtoolUserInfoEvent } from './messages/incoming/modtool/ModtoolUserInfoEvent'; +import { MarketplaceBuyOfferResultEvent } from './messages/incoming/marketplace/MarketplaceBuyOfferResultEvent'; +import { MarketplaceCancelOfferResultEvent } from './messages/incoming/marketplace/MarketplaceCancelOfferResultEvent'; +import { MarketplaceCanMakeOfferResult } from './messages/incoming/marketplace/MarketplaceCanMakeOfferResult'; +import { MarketplaceConfigurationEvent } from './messages/incoming/marketplace/MarketplaceConfigurationEvent'; +import { MarketplaceItemStatsEvent } from './messages/incoming/marketplace/MarketplaceItemStatsEvent'; +import { MarketplaceMakeOfferResult } from './messages/incoming/marketplace/MarketplaceMakeOfferResult'; +import { MarketPlaceOffersEvent } from './messages/incoming/marketplace/MarketplaceOffersEvent'; +import { MarketplaceOwnOffersEvent } from './messages/incoming/marketplace/MarketplaceOwnOffersEvent'; +import { CfhChatlogEvent, IssueDeletedMessageEvent, IssueInfoMessageEvent, IssuePickFailedMessageEvent, ModeratorActionResultMessageEvent, ModeratorInitMessageEvent, ModeratorMessageEvent, ModeratorRoomInfoEvent, ModeratorToolPreferencesEvent, ModeratorUserInfoEvent, RoomChatlogEvent, RoomVisitsEvent, UserBannedMessageEvent, UserChatlogEvent } from './messages/incoming/moderation'; +import { ModeratorCautionEvent } from './messages/incoming/moderation/ModeratorCautionEvent'; import { NavigatorCategoriesEvent } from './messages/incoming/navigator/NavigatorCategoriesEvent'; import { NavigatorCollapsedEvent } from './messages/incoming/navigator/NavigatorCollapsedEvent'; import { NavigatorEventCategoriesEvent } from './messages/incoming/navigator/NavigatorEventCategoriesEvent'; @@ -116,12 +106,12 @@ import { NavigatorSearchEvent } from './messages/incoming/navigator/NavigatorSea import { NavigatorSettingsEvent } from './messages/incoming/navigator/NavigatorSettingsEvent'; import { BotErrorEvent } from './messages/incoming/notifications/BotErrorEvent'; import { HabboBroadcastMessageEvent } from './messages/incoming/notifications/HabboBroadcastMessageEvent'; -import { HotelWillShutdownEvent } from './messages/incoming/notifications/HotelWillShutdownEvent'; import { MOTDNotificationEvent } from './messages/incoming/notifications/MOTDNotificationEvent'; import { NotificationDialogMessageEvent } from './messages/incoming/notifications/NotificationDialogMessageEvent'; +import { PetLevelNotificationEvent } from './messages/incoming/notifications/PetLevelNotificationEvent'; import { PetPlacingErrorEvent } from './messages/incoming/notifications/PetPlacingErrorEvent'; -import { RespectReceivedEvent } from './messages/incoming/notifications/RespectReceivedEvent'; import { UnseenItemsEvent } from './messages/incoming/notifications/UnseenItemsEvent'; +import { PerkAllowancesMessageEvent } from './messages/incoming/perk'; import { CommunityGoalEarnedPrizesMessageEvent } from './messages/incoming/quest/CommunityGoalEarnedPrizesMessageEvent'; import { CommunityGoalHallOfFameMessageEvent } from './messages/incoming/quest/CommunityGoalHallOfFameMessageEvent'; import { CommunityGoalProgressMessageEvent } from './messages/incoming/quest/CommunityGoalProgressMessageEvent'; @@ -143,10 +133,10 @@ import { RoomEnterErrorEvent } from './messages/incoming/room/access/RoomEnterEr import { RoomEnterEvent } from './messages/incoming/room/access/RoomEnterEvent'; import { RoomForwardEvent } from './messages/incoming/room/access/RoomForwardEvent'; import { BotCommandConfigurationEvent } from './messages/incoming/room/bots/BotCommandConfigurationEvent'; +import { GetGuestRoomResultEvent } from './messages/incoming/room/data/GetGuestRoomResultEvent'; import { RoomBannedUsersEvent } from './messages/incoming/room/data/RoomBannedUsersEvent'; import { RoomChatSettingsEvent } from './messages/incoming/room/data/RoomChatSettingsEvent'; -import { RoomInfoEvent } from './messages/incoming/room/data/RoomInfoEvent'; -import { RoomInfoOwnerEvent } from './messages/incoming/room/data/RoomInfoOwnerEvent'; +import { RoomEntryInfoMessageEvent } from './messages/incoming/room/data/RoomEntryInfoMessageEvent'; import { RoomScoreEvent } from './messages/incoming/room/data/RoomScoreEvent'; import { RoomSettingsErrorEvent } from './messages/incoming/room/data/RoomSettingsErrorEvent'; import { RoomSettingsEvent } from './messages/incoming/room/data/RoomSettingsEvent'; @@ -156,32 +146,37 @@ import { RoomUsersWithRightsEvent } from './messages/incoming/room/data/RoomUser import { ObjectsDataUpdateEvent } from './messages/incoming/room/engine/ObjectsDataUpdateEvent'; import { ObjectsRollingEvent } from './messages/incoming/room/engine/ObjectsRollingEvent'; import { RoomCreatedEvent } from './messages/incoming/room/engine/RoomCreatedEvent'; +import { DiceValueMessageEvent } from './messages/incoming/room/furniture/DiceValueMessageEvent'; import { FurnitureFloorAddEvent } from './messages/incoming/room/furniture/floor/FurnitureFloorAddEvent'; import { FurnitureFloorEvent } from './messages/incoming/room/furniture/floor/FurnitureFloorEvent'; import { FurnitureFloorRemoveEvent } from './messages/incoming/room/furniture/floor/FurnitureFloorRemoveEvent'; import { FurnitureFloorUpdateEvent } from './messages/incoming/room/furniture/floor/FurnitureFloorUpdateEvent'; import { FurnitureAliasesEvent } from './messages/incoming/room/furniture/FurnitureAliasesEvent'; import { FurnitureDataEvent } from './messages/incoming/room/furniture/FurnitureDataEvent'; -import { FurnitureItemDataEvent } from './messages/incoming/room/furniture/FurnitureItemDataEvent'; +import { FurniturePostItStickyPoleOpenEvent } from './messages/incoming/room/furniture/FurniturePostItStickyPoleOpenEvent'; import { FurnitureStackHeightEvent } from './messages/incoming/room/furniture/FurnitureStackHeightEvent'; -import { FurnitureState2Event } from './messages/incoming/room/furniture/FurnitureState2Event'; -import { FurnitureStateEvent } from './messages/incoming/room/furniture/FurnitureStateEvent'; +import { GroupFurniContextMenuInfoMessageEvent } from './messages/incoming/room/furniture/GroupFurniContextMenuInfoMessageEvent'; +import { ItemDataUpdateMessageEvent } from './messages/incoming/room/furniture/ItemDataUpdateMessageEvent'; import { LoveLockFurniFinishedEvent } from './messages/incoming/room/furniture/LoveLockFurniFinishedEvent'; import { LoveLockFurniFriendConfirmedEvent } from './messages/incoming/room/furniture/LoveLockFurniFriendConfirmedEvent'; import { LoveLockFurniStartEvent } from './messages/incoming/room/furniture/LoveLockFurniStartEvent'; +import { OneWayDoorStatusMessageEvent } from './messages/incoming/room/furniture/OneWayDoorStatusMessageEvent'; import { RoomDimmerPresetsEvent } from './messages/incoming/room/furniture/RoomDimmerPresetsMessageEvent'; import { FurnitureWallAddEvent } from './messages/incoming/room/furniture/wall/FurnitureWallAddEvent'; import { FurnitureWallEvent } from './messages/incoming/room/furniture/wall/FurnitureWallEvent'; import { FurnitureWallRemoveEvent } from './messages/incoming/room/furniture/wall/FurnitureWallRemoveEvent'; import { FurnitureWallUpdateEvent } from './messages/incoming/room/furniture/wall/FurnitureWallUpdateEvent'; -import { RoomBlockedTilesEvent } from './messages/incoming/room/mapping/RoomBlockedTilesEvent'; -import { RoomDoorEvent } from './messages/incoming/room/mapping/RoomDoorEvent'; +import { YoutubeControlVideoMessageEvent } from './messages/incoming/room/furniture/youtube/YoutubeControlVideoMessageEvent'; +import { YoutubeDisplayPlaylistsEvent } from './messages/incoming/room/furniture/youtube/YoutubeDisplayPlaylistsEvent'; +import { YoutubeDisplayVideoMessageEvent } from './messages/incoming/room/furniture/youtube/YoutubeDisplayVideoMessageEvent'; +import { FloorHeightMapEvent } from './messages/incoming/room/mapping/FloorHeightMapEvent'; +import { RoomEntryTileMessageEvent } from './messages/incoming/room/mapping/RoomEntryTileMessageEvent'; import { RoomHeightMapEvent } from './messages/incoming/room/mapping/RoomHeightMapEvent'; import { RoomHeightMapUpdateEvent } from './messages/incoming/room/mapping/RoomHeightMapUpdateEvent'; -import { RoomModelEvent } from './messages/incoming/room/mapping/RoomModelEvent'; -import { RoomModelNameEvent } from './messages/incoming/room/mapping/RoomModelNameEvent'; +import { RoomOccupiedTilesMessageEvent } from './messages/incoming/room/mapping/RoomOccupiedTilesMessageEvent'; import { RoomPaintEvent } from './messages/incoming/room/mapping/RoomPaintEvent'; -import { RoomThicknessEvent } from './messages/incoming/room/mapping/RoomThicknessEvent'; +import { RoomReadyMessageEvent } from './messages/incoming/room/mapping/RoomReadyMessageEvent'; +import { RoomVisualizationSettingsEvent } from './messages/incoming/room/mapping/RoomVisualizationSettingsEvent'; import { PetFigureUpdateEvent } from './messages/incoming/room/pet/PetFigureUpdateEvent'; import { PetInfoEvent } from './messages/incoming/room/pet/PetInfoEvent'; import { YouArePlayingGameEvent } from './messages/incoming/room/session/YouArePlayingGameEvent'; @@ -211,62 +206,62 @@ import { WiredRewardResultMessageEvent } from './messages/incoming/roomevents/Wi import { WiredSaveSuccessEvent } from './messages/incoming/roomevents/WiredSaveSuccessEvent'; import { WiredValidationErrorEvent } from './messages/incoming/roomevents/WiredValidationErrorEvent'; import { AuthenticatedEvent } from './messages/incoming/security/AuthenticatedEvent'; -import { UserPerksEvent } from './messages/incoming/user/access/UserPerksEvent'; import { UserPermissionsEvent } from './messages/incoming/user/access/UserPermissionsEvent'; import { RelationshipStatusInfoEvent } from './messages/incoming/user/data/RelationshipStatusInfoEvent'; import { UserCurrentBadgesEvent } from './messages/incoming/user/data/UserCurrentBadgesEvent'; -import { UserFigureEvent } from './messages/incoming/user/data/UserFigureEvent'; import { UserInfoEvent } from './messages/incoming/user/data/UserInfoEvent'; import { UserNameChangeMessageEvent } from './messages/incoming/user/data/UserNameChangeMessageEvent'; import { UserProfileEvent } from './messages/incoming/user/data/UserProfileEvent'; import { UserSettingsEvent } from './messages/incoming/user/data/UserSettingsEvent'; +import { GuildMembershipsMessageEvent } from './messages/incoming/user/GuildMembershipsMessageEvent'; import { IgnoredUsersEvent } from './messages/incoming/user/IgnoredUsersEvent'; import { IgnoreResultEvent } from './messages/incoming/user/IgnoreResultEvent'; import { InClientLinkEvent } from './messages/incoming/user/InClientLinkEvent'; import { UserCreditsEvent } from './messages/incoming/user/inventory/currency/UserCreditsEvent'; import { UserCurrencyEvent } from './messages/incoming/user/inventory/currency/UserCurrencyEvent'; -import { UserCurrencyUpdateEvent } from './messages/incoming/user/inventory/currency/UserCurrencyUpdateEvent'; import { UserSubscriptionEvent } from './messages/incoming/user/inventory/subscription/UserSubscriptionEvent'; +import { RespectReceivedEvent } from './messages/incoming/user/RespectReceivedEvent'; import { UserWardrobePageEvent } from './messages/incoming/user/wardrobe/UserWardrobePageEvent'; -import { RequestAchievementsMessageComposer } from './messages/outgoing/achievements/RequestAchievementsMessageComposer'; +import { RequestAchievementsMessageComposer } from './messages/outgoing/advertisement/RequestAchievementsMessageComposer'; +import { GetWardrobeMessageComposer } from './messages/outgoing/avatar/GetWardrobeMessageComposer'; +import { SaveWardrobeOutfitMessageComposer } from './messages/outgoing/avatar/SaveWardrobeOutfitMessageComposer'; import { PhotoCompetitionMessageComposer } from './messages/outgoing/camera/PhotoCompetitionMessageComposer'; import { PublishPhotoMessageComposer } from './messages/outgoing/camera/PublishPhotoMessageComposer'; import { PurchasePhotoMessageComposer } from './messages/outgoing/camera/PurchasePhotoMessageComposer'; import { RenderRoomMessageComposer } from './messages/outgoing/camera/RenderRoomMessageComposer'; import { RenderRoomThumbnailMessageComposer } from './messages/outgoing/camera/RenderRoomThumbnailMessageComposer'; import { RequestCameraConfigurationComposer } from './messages/outgoing/camera/RequestCameraConfigurationComposer'; -import { CatalogGroupsComposer } from './messages/outgoing/catalog/CatalogGroupsComposer'; -import { CatalogModeComposer } from './messages/outgoing/catalog/CatalogModeComposer'; -import { CatalogPageComposer } from './messages/outgoing/catalog/CatalogPageComposer'; -import { CatalogPurchaseComposer } from './messages/outgoing/catalog/CatalogPurchaseComposer'; -import { CatalogPurchaseGiftComposer } from './messages/outgoing/catalog/CatalogPurchaseGiftComposer'; -import { CatalogRequestGiftConfigurationComposer } from './messages/outgoing/catalog/CatalogRequestGiftConfigurationComposer'; -import { CatalogRequestPetBreedsComposer } from './messages/outgoing/catalog/CatalogRequestPetBreedsComposer'; -import { CatalogRequestVipGiftsComposer } from './messages/outgoing/catalog/CatalogRequestVipGiftsComposer'; -import { CatalogRequestVipOffersComposer } from './messages/outgoing/catalog/CatalogRequestVipOffersComposer'; -import { CatalogSearchComposer } from './messages/outgoing/catalog/CatalogSearchComposer'; -import { CatalogSelectClubGiftComposer } from './messages/outgoing/catalog/CatalogSelectClubGiftComposer'; -import { MarketplaceBuyOfferComposer } from './messages/outgoing/catalog/marketplace/MarketplaceBuyOfferComposer'; -import { MarketplaceRedeemCreditsComposer } from './messages/outgoing/catalog/marketplace/MarketplaceRedeemCreditsComposer'; -import { MarketplaceRequesstItemStatsComposer } from './messages/outgoing/catalog/marketplace/MarketplaceRequesstItemStatsComposer'; -import { MarketplaceRequestComposer } from './messages/outgoing/catalog/marketplace/MarketplaceRequestComposer'; -import { MarketplaceRequestOffersComposer } from './messages/outgoing/catalog/marketplace/MarketplaceRequestOffersComposer'; -import { MarketplaceRequestOwnItemsComposer } from './messages/outgoing/catalog/marketplace/MarketplaceRequestOwnItemsComposer'; -import { MarketplaceTakeItemBackComposer } from './messages/outgoing/catalog/marketplace/MarketplaceTakeItemBackComposer'; -import { RedeemItemClothingComposer } from './messages/outgoing/catalog/RedeemItemClothingComposer'; -import { CatalogRedeemVoucherComposer } from './messages/outgoing/catalog/RedeemVoucherComposer'; -import { ClientPongComposer } from './messages/outgoing/client/ClientPongComposer'; -import { ClientReleaseVersionComposer } from './messages/outgoing/client/ClientReleaseVersionComposer'; +import { BuildersClubPlaceRoomItemMessageComposer } from './messages/outgoing/catalog/BuildersClubPlaceRoomItemMessageComposer'; +import { BuildersClubPlaceWallItemMessageComposer } from './messages/outgoing/catalog/BuildersClubPlaceWallItemMessageComposer'; +import { BuildersClubQueryFurniCountMessageComposer } from './messages/outgoing/catalog/BuildersClubQueryFurniCountMessageComposer'; +import { GetBundleDiscountRulesetComposer } from './messages/outgoing/catalog/GetBundleDiscountRulesetComposer'; +import { GetCatalogIndexComposer } from './messages/outgoing/catalog/GetCatalogIndexComposer'; +import { GetCatalogPageComposer } from './messages/outgoing/catalog/GetCatalogPageComposer'; +import { GetClubGiftInfo } from './messages/outgoing/catalog/GetClubGiftInfo'; +import { GetClubOffersMessageComposer } from './messages/outgoing/catalog/GetClubOffersMessageComposer'; +import { GetGiftWrappingConfigurationComposer } from './messages/outgoing/catalog/GetGiftWrappingConfigurationComposer'; +import { GetIsOfferGiftableComposer } from './messages/outgoing/catalog/GetIsOfferGiftableComposer'; +import { GetProductOfferComposer } from './messages/outgoing/catalog/GetProductOfferComposer'; +import { GetSellablePetPalettesComposer } from './messages/outgoing/catalog/GetSellablePetPalettesComposer'; +import { GetTargetedOfferComposer } from './messages/outgoing/catalog/GetTargetedOfferComposer'; +import { PurchaseFromCatalogAsGiftComposer } from './messages/outgoing/catalog/PurchaseFromCatalogAsGiftComposer'; +import { PurchaseFromCatalogComposer } from './messages/outgoing/catalog/PurchaseFromCatalogComposer'; +import { RedeemVoucherMessageComposer } from './messages/outgoing/catalog/RedeemVoucherMessageComposer'; +import { RoomAdPurchaseInitiatedComposer } from './messages/outgoing/catalog/RoomAdPurchaseInitiatedComposer'; +import { SelectClubGiftComposer } from './messages/outgoing/catalog/SelectClubGiftComposer'; +import { ForwardToACompetitionRoomMessageComposer } from './messages/outgoing/competition/ForwardToACompetitionRoomMessageComposer'; +import { GetIsUserPartOfCompetitionMessageComposer } from './messages/outgoing/competition/GetIsUserPartOfCompetitionMessageComposer'; import { CraftComposer } from './messages/outgoing/crafting/CraftComposer'; import { CraftSecretComposer } from './messages/outgoing/crafting/CraftSecretComposer'; import { GetCraftableProductsComposer } from './messages/outgoing/crafting/GetCraftableProductsComposer'; import { GetCraftingRecipeComposer } from './messages/outgoing/crafting/GetCraftingRecipeComposer'; import { GetCraftingRecipesAvailableComposer } from './messages/outgoing/crafting/GetCraftingRecipesAvailableComposer'; import { DesktopViewComposer } from './messages/outgoing/desktop/DesktopViewComposer'; -import { AcceptFriendComposer } from './messages/outgoing/friendlist/AcceptFriendComposer'; -import { DeclineFriendComposer } from './messages/outgoing/friendlist/DeclineFriendComposer'; -import { FindNewFriendsComposer } from './messages/outgoing/friendlist/FindNewFriendsComposer'; -import { FollowFriendComposer } from './messages/outgoing/friendlist/FollowFriendComposer'; +import { FriendFurniConfirmLockMessageComposer } from './messages/outgoing/friendfurni/FriendFurniConfirmLockMessageComposer'; +import { AcceptFriendMessageComposer } from './messages/outgoing/friendlist/AcceptFriendMessageComposer'; +import { DeclineFriendMessageComposer } from './messages/outgoing/friendlist/DeclineFriendMessageComposer'; +import { FindNewFriendsMessageComposer } from './messages/outgoing/friendlist/FindNewFriendsMessageComposer'; +import { FollowFriendMessageComposer } from './messages/outgoing/friendlist/FollowFriendMessageComposer'; import { FriendListUpdateComposer } from './messages/outgoing/friendlist/FriendListUpdateComposer'; import { GetFriendRequestsComposer } from './messages/outgoing/friendlist/GetFriendRequestsComposer'; import { HabboSearchComposer } from './messages/outgoing/friendlist/HabboSearchComposer'; @@ -284,6 +279,7 @@ import { GroupBuyComposer } from './messages/outgoing/group/GroupBuyComposer'; import { GroupBuyDataComposer } from './messages/outgoing/group/GroupBuyDataComposer'; import { GroupConfirmRemoveMemberComposer } from './messages/outgoing/group/GroupConfirmRemoveMemberComposer'; import { GroupDeleteComposer } from './messages/outgoing/group/GroupDeleteComposer'; +import { GroupFavoriteComposer } from './messages/outgoing/group/GroupFavoriteComposer'; import { GroupInformationComposer } from './messages/outgoing/group/GroupInformationComposer'; import { GroupJoinComposer } from './messages/outgoing/group/GroupJoinComposer'; import { GroupMembersComposer } from './messages/outgoing/group/GroupMembersComposer'; @@ -296,15 +292,18 @@ import { GroupSaveInformationComposer } from './messages/outgoing/group/GroupSav import { GroupSavePreferencesComposer } from './messages/outgoing/group/GroupSavePreferencesComposer'; import { GroupSettingsComposer } from './messages/outgoing/group/GroupSettingsComposer'; import { AuthenticationMessageComposer } from './messages/outgoing/handshake/AuthenticationMessageComposer'; -import { InfoRetrieveBaseMessageComposer } from './messages/outgoing/handshake/InfoRetrieveBaseMessageComposer'; -import { SecurityTicketComposer } from './messages/outgoing/handshake/SecurityTicketComposer'; +import { ClientHelloMessageComposer } from './messages/outgoing/handshake/ClientHelloMessageComposer'; +import { DisconnectMessageComposer } from './messages/outgoing/handshake/DisconnectMessageComposer'; +import { InfoRetrieveMessageComposer } from './messages/outgoing/handshake/InfoRetrieveMessageComposer'; +import { PongMessageComposer } from './messages/outgoing/handshake/PongMessageComposer'; +import { SSOTicketMessageComposer } from './messages/outgoing/handshake/SSOTicketMessageComposer'; +import { UniqueIDMessageComposer } from './messages/outgoing/handshake/UniqueIDMessageComposer'; +import { VersionCheckMessageComposer } from './messages/outgoing/handshake/VersionCheckMessageComposer'; import { RequestBadgesComposer } from './messages/outgoing/inventory/badges/RequestBadgesComposer'; import { SetActivatedBadgesComposer } from './messages/outgoing/inventory/badges/SetActivatedBadgesComposer'; import { GetBotInventoryComposer } from './messages/outgoing/inventory/bots/GetBotInventoryComposer'; import { FurnitureList2Composer } from './messages/outgoing/inventory/furni/FurnitureList2Composer'; import { FurnitureListComposer } from './messages/outgoing/inventory/furni/FurnitureListComposer'; -import { MarketplaceSellItemComposer } from './messages/outgoing/inventory/marketplace/MarketplaceSellItemComposer'; -import { RequestSellItemComposer } from './messages/outgoing/inventory/marketplace/RequestSellItemComposer'; import { RequestPetsComposer } from './messages/outgoing/inventory/pets/RequestPetsComposer'; import { TradingAcceptComposer } from './messages/outgoing/inventory/trading/TradingAcceptComposer'; import { TradingCancelComposer } from './messages/outgoing/inventory/trading/TradingCancelComposer'; @@ -317,19 +316,22 @@ import { TradingOpenComposer } from './messages/outgoing/inventory/trading/Tradi import { TradingUnacceptComposer } from './messages/outgoing/inventory/trading/TradingUnacceptComposer'; import { GetPromoArticlesComposer } from './messages/outgoing/landingview/GetPromoArticlesComposer'; import { CommunityGoalVoteMessageComposer } from './messages/outgoing/landingview/votes/CommunityGoalVoteMessageComposer'; -import { ModtoolChangeRoomSettingsComposer } from './messages/outgoing/modtool/ModtoolChangeRoomSettingsComposer'; -import { ModtoolEventAlertComposer } from './messages/outgoing/modtool/ModtoolEventAlertComposer'; -import { ModtoolRequestRoomChatlogComposer } from './messages/outgoing/modtool/ModtoolRequestRoomChatlogComposer'; -import { ModtoolRequestRoomInfoComposer } from './messages/outgoing/modtool/ModtoolRequestRoomInfoComposer'; -import { ModtoolRequestUserChatlogComposer } from './messages/outgoing/modtool/ModtoolRequestUserChatlogComposer'; -import { ModtoolRequestUserInfoComposer } from './messages/outgoing/modtool/ModtoolRequestUserInfoComposer'; -import { ModtoolRequestUserRoomsComposer } from './messages/outgoing/modtool/ModtoolRequestUserRoomsComposer'; -import { ModtoolRoomAlertComposer } from './messages/outgoing/modtool/ModtoolRoomAlertComposer'; -import { ModtoolSanctionAlertComposer } from './messages/outgoing/modtool/ModtoolSanctionAlertComposer'; -import { ModtoolSanctionBanComposer } from './messages/outgoing/modtool/ModtoolSanctionBanComposer'; -import { ModtoolSanctionKickComposer } from './messages/outgoing/modtool/ModtoolSanctionKickComposer'; -import { ModtoolSanctionMuteComposer } from './messages/outgoing/modtool/ModtoolSanctionMuteComposer'; -import { ModtoolSanctionTradelockComposer } from './messages/outgoing/modtool/ModtoolSanctionTradelockComposer'; +import { GetMarketplaceCanMakeOfferComposer } from './messages/outgoing/marketplace/GetMarketplaceCanMakeOfferComposer'; +import { MakeOfferMessageComposer } from './messages/outgoing/marketplace/MakeOfferMessageComposer'; +import { DefaultSanctionMessageComposer } from './messages/outgoing/moderation/DefaultSanctionMessageComposer'; +import { GetModeratorRoomInfoMessageComposer } from './messages/outgoing/moderation/GetModeratorRoomInfoMessageComposer'; +import { GetModeratorUserInfoMessageComposer } from './messages/outgoing/moderation/GetModeratorUserInfoMessageComposer'; +import { GetRoomChatlogMessageComposer } from './messages/outgoing/moderation/GetRoomChatlogMessageComposer'; +import { GetRoomVisitsMessageComposer } from './messages/outgoing/moderation/GetRoomVisitsMessageComposer'; +import { GetUserChatlogMessageComposer } from './messages/outgoing/moderation/GetUserChatlogMessageComposer'; +import { ModAlertMessageComposer } from './messages/outgoing/moderation/ModAlertMessageComposer'; +import { ModBanMessageComposer } from './messages/outgoing/moderation/ModBanMessageComposer'; +import { ModerateRoomMessageComposer } from './messages/outgoing/moderation/ModerateRoomMessageComposer'; +import { ModeratorActionMessageComposer } from './messages/outgoing/moderation/ModeratorActionMessageComposer'; +import { ModKickMessageComposer } from './messages/outgoing/moderation/ModKickMessageComposer'; +import { ModMessageMessageComposer } from './messages/outgoing/moderation/ModMessageMessageComposer'; +import { ModMuteMessageComposer } from './messages/outgoing/moderation/ModMuteMessageComposer'; +import { ModTradingLockMessageComposer } from './messages/outgoing/moderation/ModTradingLockMessageComposer'; import { ConvertGlobalRoomIdMessageComposer } from './messages/outgoing/navigator/ConvertGlobalRoomIdComposer'; import { NavigatorCategoriesComposer } from './messages/outgoing/navigator/NavigatorCategoriesComposer'; import { NavigatorCategoryListModeComposer } from './messages/outgoing/navigator/NavigatorCategoryListModeComposer'; @@ -381,12 +383,12 @@ import { BotPlaceComposer } from './messages/outgoing/room/engine/BotPlaceCompos import { BotRemoveComposer } from './messages/outgoing/room/engine/BotRemoveComposer'; import { BotSkillSaveComposer } from './messages/outgoing/room/engine/BotSkillSaveComposer'; import { GetItemDataComposer } from './messages/outgoing/room/engine/GetItemDataComposer'; -import { ModifyWallItemDataComposer } from './messages/outgoing/room/engine/ModifyWallItemDataComposer'; import { PetMoveComposer } from './messages/outgoing/room/engine/PetMoveComposer'; import { PetPlaceComposer } from './messages/outgoing/room/engine/PetPlaceComposer'; import { PetRemoveComposer } from './messages/outgoing/room/engine/PetRemoveComposer'; import { RemoveWallItemComposer } from './messages/outgoing/room/engine/RemoveWallItemComposer'; -import { RoomAdsUpdateComposer } from './messages/outgoing/room/furniture/ads/RoomAdsUpdateComposer'; +import { SetItemDataMessageComposer } from './messages/outgoing/room/engine/SetItemDataMessageComposer'; +import { SetObjectDataMessageComposer } from './messages/outgoing/room/engine/SetObjectDataMessageComposer'; import { MoodlightSettingsComposer } from './messages/outgoing/room/furniture/dimmer/MoodlightSettingsComposer'; import { MoodlightSettingsSaveComposer } from './messages/outgoing/room/furniture/dimmer/MoodlightSettingsSaveComposer'; import { MoodlightTogggleStateComposer } from './messages/outgoing/room/furniture/dimmer/MoodlightTogggleStateComposer'; @@ -396,6 +398,7 @@ import { FurniturePickupComposer } from './messages/outgoing/room/furniture/Furn import { FurniturePlaceComposer } from './messages/outgoing/room/furniture/FurniturePlaceComposer'; import { FurniturePlacePaintComposer } from './messages/outgoing/room/furniture/FurniturePlacePaintComposer'; import { FurniturePostItPlaceComposer } from './messages/outgoing/room/furniture/FurniturePostItPlaceComposer'; +import { FurniturePostItSaveStickyPoleComposer } from './messages/outgoing/room/furniture/FurniturePostItSaveStickyPoleComposer'; import { FurnitureColorWheelComposer } from './messages/outgoing/room/furniture/logic/FurnitureColorWheelComposer'; import { FurnitureDiceActivateComposer } from './messages/outgoing/room/furniture/logic/FurnitureDiceActivateComposer'; import { FurnitureDiceDeactivateComposer } from './messages/outgoing/room/furniture/logic/FurnitureDiceDeactivateComposer'; @@ -405,16 +408,16 @@ import { FurnitureOneWayDoorComposer } from './messages/outgoing/room/furniture/ import { FurnitureRandomStateComposer } from './messages/outgoing/room/furniture/logic/FurnitureRandomStateComposer'; import { FurnitureStackHeightComposer } from './messages/outgoing/room/furniture/logic/FurnitureStackHeightComposer'; import { FurnitureWallMultiStateComposer } from './messages/outgoing/room/furniture/logic/FurnitureWallMultiStateComposer'; -import { LoveLockStartConfirmComposer } from './messages/outgoing/room/furniture/logic/LoveLockStartConfirmComposer'; import { FurnitureMannequinSaveLookComposer } from './messages/outgoing/room/furniture/mannequin/FurnitureMannequinSaveLookComposer'; import { FurnitureMannequinSaveNameComposer } from './messages/outgoing/room/furniture/mannequin/FurnitureMannequinSaveNameComposer'; import { OpenPresentComposer } from './messages/outgoing/room/furniture/presents/OpenPresentComposer'; import { ApplyTonerComposer } from './messages/outgoing/room/furniture/toner/ApplyTonerComposer'; import { FurnitureWallUpdateComposer } from './messages/outgoing/room/furniture/wall/FurnitureWallUpdateComposer'; -import { RoomBlockedTilesComposer } from './messages/outgoing/room/mapping/RoomBlockedTilesComposer'; -import { RoomDoorSettingsComposer } from './messages/outgoing/room/mapping/RoomDoorSettingsComposer'; -import { RoomModelComposer } from './messages/outgoing/room/mapping/RoomModelComposer'; -import { RoomModelSaveComposer } from './messages/outgoing/room/mapping/RoomModelSaveComposer'; +import { GetOccupiedTilesMessageComposer } from './messages/outgoing/room/layout/GetOccupiedTilesMessageComposer'; +import { GetRoomEntryDataMessageComposer } from './messages/outgoing/room/layout/GetRoomEntryDataMessageComposer'; +import { GetRoomEntryTileMessageComposer } from './messages/outgoing/room/layout/GetRoomEntryTileMessageComposer'; +import { UpdateFloorPropertiesMessageComposer } from './messages/outgoing/room/layout/UpdateFloorPropertiesMessageComposer'; +import { RedeemItemClothingComposer } from './messages/outgoing/room/RedeemItemClothingComposer'; import { RoomCreateComposer } from './messages/outgoing/room/RoomCreateComposer'; import { RoomUnitChatComposer } from './messages/outgoing/room/unit/chat/RoomUnitChatComposer'; import { RoomUnitChatShoutComposer } from './messages/outgoing/room/unit/chat/RoomUnitChatShoutComposer'; @@ -436,6 +439,9 @@ import { RoomMuteComposer } from './messages/outgoing/roomevents/RoomMuteCompose import { UpdateActionMessageComposer } from './messages/outgoing/roomevents/UpdateActionMessageComposer'; import { UpdateConditionMessageComposer } from './messages/outgoing/roomevents/UpdateConditionMessageComposer'; import { UpdateTriggerMessageComposer } from './messages/outgoing/roomevents/UpdateTriggerMessageComposer'; +import { GetSoundSettingsComposer } from './messages/outgoing/sound/GetSoundSettingsComposer'; +import { TalentTrackComposer } from './messages/outgoing/talent/TalentTrackComposer'; +import { CatalogGroupsComposer } from './messages/outgoing/user/CatalogGroupsComposer'; import { GetIgnoredUsersComposer } from './messages/outgoing/user/data/GetIgnoredUsersComposer'; import { IgnoreUserComposer } from './messages/outgoing/user/data/IgnoreUserComposer'; import { IgnoreUserIdComposer } from './messages/outgoing/user/data/IgnoreUserIdComposer'; @@ -453,9 +459,6 @@ import { UserSettingsOldChatComposer } from './messages/outgoing/user/settings/U import { UserSettingsRoomInvitesComposer } from './messages/outgoing/user/settings/UserSettingsRoomInvitesComposer'; import { UserSettingsSoundComposer } from './messages/outgoing/user/settings/UserSettingsSoundComposer'; import { UserRespectComposer } from './messages/outgoing/user/UserRespectComposer'; -import { UserWardrobePageComposer } from './messages/outgoing/user/wardrobe/UserWardrobePageComposer'; -import { UserWardrobeSaveComposer } from './messages/outgoing/user/wardrobe/UserWardrobeSaveComposer'; -import { MiniMailUnreadCountParser } from './messages/parser/friendlist/MiniMailUnreadCountParser'; export class NitroMessages implements IMessageConfiguration { @@ -473,36 +476,97 @@ export class NitroMessages implements IMessageConfiguration private registerEvents(): void { + // ADVERTISEMENT + this._events.set(IncomingHeader.INTERSTITIAL_MESSAGE, InterstitialMessageEvent); + this._events.set(IncomingHeader.ROOM_AD_ERROR, RoomAdErrorEvent); + // AVAILABILITY this._events.set(IncomingHeader.AVAILABILITY_STATUS, AvailabilityStatusMessageEvent); - this._events.set(IncomingHeader.GENERIC_ERROR, GenericErrorEvent); + this._events.set(IncomingHeader.AVAILABILITY_TIME, AvailabilityTimeMessageEvent); + this._events.set(IncomingHeader.HOTEL_CLOSED_AND_OPENS, HotelClosedAndOpensEvent); + this._events.set(IncomingHeader.HOTEL_CLOSES_AND_OPENS_AT, HotelClosesAndWillOpenAtEvent); + this._events.set(IncomingHeader.HOTEL_WILL_CLOSE_MINUTES, HotelWillCloseInMinutesEvent); + this._events.set(IncomingHeader.HOTEL_MAINTENANCE, MaintenanceStatusMessageEvent); // AVATAR this._events.set(IncomingHeader.USER_CHANGE_NAME, ChangeUserNameResultMessageEvent); + this._events.set(IncomingHeader.CHECK_USER_NAME, CheckUserNameResultMessageEvent); + this._events.set(IncomingHeader.USER_FIGURE, FigureUpdateEvent); + this._events.set(IncomingHeader.USER_OUTFITS, WardrobeMessageEvent); + + // BOTS + this._events.set(IncomingHeader.ADD_BOT_TO_INVENTORY, BotAddedToInventoryEvent); + this._events.set(IncomingHeader.USER_BOTS, BotInventoryMessageEvent); + this._events.set(IncomingHeader.BOT_RECEIVED, BotReceivedMessageEvent); + this._events.set(IncomingHeader.REMOVE_BOT_FROM_INVENTORY, BotRemovedFromInventoryEvent); + + // CALL FOR HELP + this._events.set(IncomingHeader.CFH_SANCTION, CfhSanctionMessageEvent); + this._events.set(IncomingHeader.CFH_TOPICS, CfhTopicsInitEvent); + this._events.set(IncomingHeader.CFH_SANCTION_STATUS, SanctionStatusEvent); + + // CAMERA + this._events.set(IncomingHeader.CAMERA_PUBLISH_STATUS, CameraPublishStatusMessageEvent); + this._events.set(IncomingHeader.CAMERA_PURCHASE_OK, CameraPurchaseOKMessageEvent); + this._events.set(IncomingHeader.CAMERA_STORAGE_URL, CameraStorageUrlMessageEvent); + this._events.set(IncomingHeader.COMPETITION_STATUS, CompetitionStatusMessageEvent); + this._events.set(IncomingHeader.INIT_CAMERA, InitCameraMessageEvent); + this._events.set(IncomingHeader.THUMBNAIL_STATUS, ThumbnailStatusMessageEvent); + + // CAMPAIGN + this._events.set(IncomingHeader.CAMPAIGN_CALENDAR_DATA, CampaignCalendarDataMessageEvent); + this._events.set(IncomingHeader.CAMPAIGN_CALENDAR_DOOR_OPENED, CampaignCalendarDoorOpenedMessageEvent); // CATALOG - this._events.set(IncomingHeader.CATALOG_CLUB, CatalogClubEvent); - this._events.set(IncomingHeader.CATALOG_MODE, CatalogModeEvent); - this._events.set(IncomingHeader.CATALOG_PAGE, CatalogPageEvent); - this._events.set(IncomingHeader.CATALOG_PAGES, CatalogPagesEvent); - this._events.set(IncomingHeader.CATALOG_PURCHASE, CatalogPurchaseEvent); - this._events.set(IncomingHeader.CATALOG_PURCHASE_FAILED, CatalogPurchaseFailedEvent); - this._events.set(IncomingHeader.CATALOG_PURCHASE_UNAVAILABLE, CatalogPurchaseUnavailableEvent); - this._events.set(IncomingHeader.CATALOG_SEARCH, CatalogSearchEvent); - this._events.set(IncomingHeader.CATALOG_SOLD_OUT, CatalogSoldOutEvent); - this._events.set(IncomingHeader.CATALOG_UPDATED, CatalogUpdatedEvent); - this._events.set(IncomingHeader.CATALOG_CLUB_GIFTS, CatalogClubGiftsEvent); - this._events.set(IncomingHeader.GROUP_LIST, CatalogGroupsEvent); - this._events.set(IncomingHeader.GIFT_CONFIG, CatalogGiftConfigurationEvent); - this._events.set(IncomingHeader.REDEEM_VOUCHER_ERROR, CatalogRedeemVoucherErrorEvent); - this._events.set(IncomingHeader.REDEEM_VOUCHER_OK, CatalogRedeemVoucherOkEvent); - this._events.set(IncomingHeader.CATALOG_RECEIVE_PET_BREEDS, SellablePetPalettesEvent); - this._events.set(IncomingHeader.CATALOG_APPROVE_NAME_RESULT, CatalogApproveNameResultEvent); this._events.set(IncomingHeader.BONUS_RARE_INFO, BonusRareInfoMessageEvent); + this._events.set(IncomingHeader.BUILDERS_CLUB_FURNI_COUNT, BuildersClubFurniCountMessageEvent); + this._events.set(IncomingHeader.BUILDERS_CLUB_SUBSCRIPTION, BuildersClubSubscriptionStatusMessageEvent); + this._events.set(IncomingHeader.BUNDLE_DISCOUNT_RULESET, BundleDiscountRulesetMessageEvent); + this._events.set(IncomingHeader.CATALOG_PAGE_EXPIRATION, CatalogPageExpirationEvent); + this._events.set(IncomingHeader.CATALOG_PAGE, CatalogPageMessageEvent); + this._events.set(IncomingHeader.CATALOG_PAGE_LIST, CatalogPagesListEvent); + this._events.set(IncomingHeader.CATALOG_EARLIEST_EXPIRY, CatalogPageWithEarliestExpiryMessageEvent); + this._events.set(IncomingHeader.CATALOG_PUBLISHED, CatalogPublishedMessageEvent); + this._events.set(IncomingHeader.CLUB_GIFT_INFO, ClubGiftInfoEvent); + this._events.set(IncomingHeader.CLUB_GIFT_SELECTED, ClubGiftSelectedEvent); + this._events.set(IncomingHeader.DIRECT_SMS_CLUB_BUY, DirectSMSClubBuyAvailableMessageEvent); + this._events.set(IncomingHeader.GIFT_RECEIVER_NOT_FOUND, GiftReceiverNotFoundEvent); + this._events.set(IncomingHeader.GIFT_WRAPPER_CONFIG, GiftWrappingConfigurationEvent); + this._events.set(IncomingHeader.CLUB_EXTENDED_OFFER, HabboClubExtendOfferMessageEvent); + this._events.set(IncomingHeader.CLUB_OFFERS, HabboClubOffersMessageEvent); + this._events.set(IncomingHeader.IS_OFFER_GIFTABLE, IsOfferGiftableMessageEvent); + this._events.set(IncomingHeader.LIMITED_SOLD_OUT, LimitedEditionSoldOutEvent); + this._events.set(IncomingHeader.LIMITED_OFFER_APPEARING_NEXT, LimitedOfferAppearingNextMessageEvent); + this._events.set(IncomingHeader.NOT_ENOUGH_BALANCE, NotEnoughBalanceMessageEvent); + this._events.set(IncomingHeader.PRODUCT_OFFER, ProductOfferEvent); + this._events.set(IncomingHeader.CATALOG_PURCHASE_ERROR, PurchaseErrorMessageEvent); + this._events.set(IncomingHeader.CATALOG_PURCHASE_NOT_ALLOWED, PurchaseNotAllowedMessageEvent); + this._events.set(IncomingHeader.CATALOG_PURCHASE_OK, PurchaseOKMessageEvent); + this._events.set(IncomingHeader.ROOM_AD_PURCHASE, RoomAdPurchaseInfoEvent); + this._events.set(IncomingHeader.SEASONAL_CALENDAR_OFFER, SeasonalCalendarDailyOfferMessageEvent); + this._events.set(IncomingHeader.CATALOG_RECEIVE_PET_BREEDS, SellablePetPalettesMessageEvent); + this._events.set(IncomingHeader.TARGET_OFFER, TargetedOfferEvent); + this._events.set(IncomingHeader.TARGET_OFFER_NOT_FOUND, TargetedOfferNotFoundEvent); + this._events.set(IncomingHeader.REDEEM_VOUCHER_ERROR, VoucherRedeemErrorMessageEvent); + this._events.set(IncomingHeader.REDEEM_VOUCHER_OK, VoucherRedeemOkMessageEvent); // CLIENT this._events.set(IncomingHeader.CLIENT_PING, ClientPingEvent); + // COMPETITION + this._events.set(IncomingHeader.COMPETITION_ENTRY_SUBMIT, CompetitionEntrySubmitResultEvent); + this._events.set(IncomingHeader.COMPETITION_VOTING_INFO, CompetitionVotingInfoMessageEvent); + this._events.set(IncomingHeader.COMPETITION_TIMING_CODE, CurrentTimingCodeMessageEvent); + this._events.set(IncomingHeader.COMPETITION_USER_PART_OF, IsUserPartOfCompetitionMessageEvent); + this._events.set(IncomingHeader.COMPETITION_NO_OWNED_ROOMS, NoOwnedRoomsAlertMessageEvent); + this._events.set(IncomingHeader.COMPETITION_SECONDS_UNTIL, SecondsUntilMessageEvent); + + // CRAFTING + this._events.set(IncomingHeader.CRAFTABLE_PRODUCTS, CraftableProductsEvent); + this._events.set(IncomingHeader.CRAFTING_RECIPE, CraftingRecipeEvent); + this._events.set(IncomingHeader.CRAFTING_RECIPES_AVAILABLE, CraftingRecipesAvailableEvent); + this._events.set(IncomingHeader.CRAFTING_RESULT, CraftingResultEvent); + // DESKTOP this._events.set(IncomingHeader.DESKTOP_VIEW, DesktopViewEvent); @@ -519,12 +583,15 @@ export class NitroMessages implements IMessageConfiguration this._events.set(IncomingHeader.MESSENGER_MESSAGE_ERROR, MessageErrorEvent); this._events.set(IncomingHeader.MESSENGER_INIT, MessengerInitEvent); this._events.set(IncomingHeader.MESSENGER_MINIMAIL_NEW, MiniMailNewMessageEvent); - this._events.set(IncomingHeader.MESSENGER_MINIMAIL_COUNT, MiniMailUnreadCountParser); + this._events.set(IncomingHeader.MESSENGER_MINIMAIL_COUNT, MiniMailUnreadCountEvent); this._events.set(IncomingHeader.MESSENGER_CHAT, NewConsoleMessageEvent); this._events.set(IncomingHeader.MESSENGER_REQUEST, NewFriendRequestEvent); this._events.set(IncomingHeader.MESSENGER_INVITE_ERROR, RoomInviteErrorEvent); this._events.set(IncomingHeader.MESSENGER_INVITE, RoomInviteEvent); + // GAMES + this._events.set(IncomingHeader.LOAD_GAME_URL, LoadGameUrlEvent); + // GROUP this._events.set(IncomingHeader.GROUP_INFO, GroupInformationEvent); this._events.set(IncomingHeader.GROUP_MEMBER_REMOVE_CONFIRM, GroupConfirmMemberRemoveEvent); @@ -532,32 +599,64 @@ export class NitroMessages implements IMessageConfiguration this._events.set(IncomingHeader.GROUP_CREATE_OPTIONS, GroupBuyDataEvent); this._events.set(IncomingHeader.GROUP_BADGE_PARTS, GroupBadgePartsEvent); this._events.set(IncomingHeader.GROUP_SETTINGS, GroupSettingsEvent); + this._events.set(IncomingHeader.GROUP_PURCHASED, GroupPurchasedEvent); + this._events.set(IncomingHeader.GROUP_BADGES, GroupBadgesEvent); // HELP + this._events.set(IncomingHeader.CFH_DISABLED_NOTIFY, CallForHelpDisabledNotifyMessageEvent); + this._events.set(IncomingHeader.CFH_PENDING_CALLS_DELETED, CallForHelpPendingCallsDeletedMessageEvent); + this._events.set(IncomingHeader.CFH_PENDING_CALLS, CallForHelpPendingCallsMessageEvent); + this._events.set(IncomingHeader.CFH_REPLY, CallForHelpReplyMessageEvent); this._events.set(IncomingHeader.CFH_RESULT_MESSAGE, CallForHelpResultMessageEvent); + this._events.set(IncomingHeader.GUIDE_ON_DUTY_STATUS, GuideOnDutyStatusMessageEvent); + this._events.set(IncomingHeader.GUIDE_SESSION_ATTACHED, GuideSessionAttachedMessageEvent); + this._events.set(IncomingHeader.GUIDE_SESSION_DETACHED, GuideSessionDetachedMessageEvent); + this._events.set(IncomingHeader.GUIDE_SESSION_ENDED, GuideSessionEndedMessageEvent); + this._events.set(IncomingHeader.GUIDE_SESSION_ERROR, GuideSessionErrorMessageEvent); + this._events.set(IncomingHeader.GUIDE_SESSION_INVITED_TO_GUIDE_ROOM, GuideSessionInvitedToGuideRoomMessageEvent); + this._events.set(IncomingHeader.GUIDE_SESSION_MESSAGE, GuideSessionMessageMessageEvent); + this._events.set(IncomingHeader.GUIDE_SESSION_PARTNER_IS_TYPING, GuideSessionPartnerIsTypingMessageEvent); + this._events.set(IncomingHeader.GUIDE_SESSION_REQUESTER_ROOM, GuideSessionRequesterRoomMessageEvent); + this._events.set(IncomingHeader.GUIDE_SESSION_STARTED, GuideSessionStartedMessageEvent); + this._events.set(IncomingHeader.GUIDE_TICKET_CREATION_RESULT, GuideTicketCreationResultMessageEvent); + this._events.set(IncomingHeader.GUIDE_TICKET_RESOLUTION, GuideTicketResolutionMessageEvent); + this._events.set(IncomingHeader.GUIDE_REPORTING_STATUS, GuideReportingStatusMessageEvent); + this._events.set(IncomingHeader.HOTEL_MERGE_NAME_CHANGE, HotelMergeNameChangeEvent); + this._events.set(IncomingHeader.ISSUE_CLOSE_NOTIFICATION, IssueCloseNotificationMessageEvent); + this._events.set(IncomingHeader.QUIZ_DATA, QuizDataMessageEvent); + this._events.set(IncomingHeader.QUIZ_RESULTS, QuizResultsMessageEvent); + this._events.set(IncomingHeader.CHAT_REVIEW_SESSION_DETACHED, ChatReviewSessionDetachedMessageEvent); + this._events.set(IncomingHeader.CHAT_REVIEW_SESSION_OFFERED_TO_GUIDE, ChatReviewSessionOfferedToGuideMessageEvent); + this._events.set(IncomingHeader.CHAT_REVIEW_SESSION_RESULTS, ChatReviewSessionResultsMessageEvent); + this._events.set(IncomingHeader.CHAT_REVIEW_SESSION_STARTED, ChatReviewSessionStartedMessageEvent); + this._events.set(IncomingHeader.CHAT_REVIEW_SESSION_VOTING_STATUS, ChatReviewSessionVotingStatusMessageEvent); // INVENTORY - - // ACHIEVEMENTS this._events.set(IncomingHeader.ACHIEVEMENT_PROGRESSED, AchievementEvent); this._events.set(IncomingHeader.ACHIEVEMENT_LIST, AchievementsEvent); this._events.set(IncomingHeader.USER_ACHIEVEMENT_SCORE,AchievementsScoreEvent); - - // EFFECTS this._events.set(IncomingHeader.USER_EFFECT_ACTIVATE, AvatarEffectActivatedEvent); this._events.set(IncomingHeader.USER_EFFECT_LIST_ADD, AvatarEffectAddedEvent); this._events.set(IncomingHeader.USER_EFFECT_LIST_REMOVE, AvatarEffectExpiredEvent); this._events.set(IncomingHeader.USER_EFFECT_LIST, AvatarEffectsEvent); - - // CLOTHES + this._events.set(IncomingHeader.USER_BADGES, BadgesEvent); + this._events.set(IncomingHeader.USER_BADGES_ADD, BadgeReceivedEvent); + this._events.set(IncomingHeader.BADGE_POINT_LIMITS, BadgePointLimitsEvent); + this._events.set(IncomingHeader.BADGE_REQUEST_FULFILLED, IsBadgeRequestFulfilledEvent); this._events.set(IncomingHeader.USER_CLOTHING, FigureSetIdsMessageEvent); - - // FURNITURE this._events.set(IncomingHeader.USER_FURNITURE_ADD, FurnitureListAddOrUpdateEvent); this._events.set(IncomingHeader.USER_FURNITURE, FurnitureListEvent); this._events.set(IncomingHeader.USER_FURNITURE_REFRESH, FurnitureListInvalidateEvent); this._events.set(IncomingHeader.USER_FURNITURE_REMOVE, FurnitureListRemovedEvent); this._events.set(IncomingHeader.USER_FURNITURE_POSTIT_PLACED, FurniturePostItPlacedEvent); + this._events.set(IncomingHeader.USER_PETS, PetInventoryEvent); + this._events.set(IncomingHeader.USER_PET_REMOVE, PetRemovedFromInventory); + this._events.set(IncomingHeader.USER_PET_ADD, PetAddedToInventoryEvent); + this._events.set(IncomingHeader.PET_RECEIVED, PetReceivedMessageEvent); + this._events.set(IncomingHeader.PET_PLACING_ERROR, PetPlacingErrorEvent); + this._events.set(IncomingHeader.YOUTUBE_CONTROL_VIDEO, YoutubeControlVideoMessageEvent); + this._events.set(IncomingHeader.YOUTUBE_DISPLAY_PLAYLISTS, YoutubeDisplayPlaylistsEvent); + this._events.set(IncomingHeader.YOUTUBE_DISPLAY_VIDEO, YoutubeDisplayVideoMessageEvent); // TRADING this._events.set(IncomingHeader.TRADE_ACCEPTED, TradingAcceptEvent); @@ -571,13 +670,36 @@ export class NitroMessages implements IMessageConfiguration this._events.set(IncomingHeader.TRADE_OTHER_NOT_ALLOWED, TradingOtherNotAllowedEvent); this._events.set(IncomingHeader.TRADE_YOU_NOT_ALLOWED, TradingYouAreNotAllowedEvent); - // MODERATION - this._events.set(IncomingHeader.GENERIC_ALERT_LINK, ModeratorMessageEvent); + // LANDING VIEW + this._events.set(IncomingHeader.COMMUNITY_GOAL_VOTE_EVENT, CommunityGoalVoteMessageEvent); + this._events.set(IncomingHeader.PROMO_ARTICLES, PromoArticlesMessageEvent); - // MODTOOL - this._events.set(IncomingHeader.MODTOOL_ROOM_INFO, ModtoolRoomInfoEvent); - this._events.set(IncomingHeader.MODTOOL_USER_CHATLOG, ModtoolUserChatlogEvent); - this._events.set(IncomingHeader.MODTOOL_ROOM_CHATLOG, ModtoolRoomChatlogEvent); + // MARKETPLACE + this._events.set(IncomingHeader.MARKETPLACE_AFTER_ORDER_STATUS, MarketplaceBuyOfferResultEvent); + this._events.set(IncomingHeader.MARKETPLACE_CANCEL_SALE, MarketplaceCancelOfferResultEvent); + this._events.set(IncomingHeader.MARKETPLACE_SELL_ITEM, MarketplaceCanMakeOfferResult); + this._events.set(IncomingHeader.MARKETPLACE_CONFIG, MarketplaceConfigurationEvent); + this._events.set(IncomingHeader.MARKETPLACE_ITEM_STATS, MarketplaceItemStatsEvent); + this._events.set(IncomingHeader.MARKETPLACE_ITEM_POSTED, MarketplaceMakeOfferResult); + this._events.set(IncomingHeader.MARKETPLACE_ITEMS_SEARCHED, MarketPlaceOffersEvent); + this._events.set(IncomingHeader.MARKETPLACE_OWN_ITEMS, MarketplaceOwnOffersEvent); + + // MODERATION + this._events.set(IncomingHeader.USER_BANNED, UserBannedMessageEvent); + this._events.set(IncomingHeader.MODERATION_CAUTION, ModeratorCautionEvent); + this._events.set(IncomingHeader.MODTOOL_ROOM_INFO, ModeratorRoomInfoEvent); + this._events.set(IncomingHeader.MODTOOL_USER_CHATLOG, UserChatlogEvent); + this._events.set(IncomingHeader.MODTOOL_ROOM_CHATLOG, RoomChatlogEvent); + this._events.set(IncomingHeader.MODERATION_USER_INFO, ModeratorUserInfoEvent); + this._events.set(IncomingHeader.MODERATION_TOOL, ModeratorInitMessageEvent); + this._events.set(IncomingHeader.MODTOOL_VISITED_ROOMS_USER, RoomVisitsEvent); + this._events.set(IncomingHeader.CFH_CHATLOG, CfhChatlogEvent); + this._events.set(IncomingHeader.ISSUE_DELETED, IssueDeletedMessageEvent); + this._events.set(IncomingHeader.ISSUE_INFO, IssueInfoMessageEvent); + this._events.set(IncomingHeader.ISSUE_PICK_FAILED, IssuePickFailedMessageEvent); + this._events.set(IncomingHeader.MODERATOR_ACTION_RESULT, ModeratorActionResultMessageEvent); + this._events.set(IncomingHeader.MODERATOR_MESSAGE, ModeratorMessageEvent); + this._events.set(IncomingHeader.MODERATOR_TOOL_PREFERENCES, ModeratorToolPreferencesEvent); // MYSTERY BOX this._events.set(IncomingHeader.MYSTERY_BOX_KEYS, MysteryBoxKeysEvent); @@ -598,31 +720,52 @@ export class NitroMessages implements IMessageConfiguration this._events.set(IncomingHeader.GENERIC_ALERT, HabboBroadcastMessageEvent); this._events.set(IncomingHeader.MOTD_MESSAGES, MOTDNotificationEvent); this._events.set(IncomingHeader.NOTIFICATION_LIST, NotificationDialogMessageEvent); - this._events.set(IncomingHeader.USER_RESPECT, RespectReceivedEvent); this._events.set(IncomingHeader.UNSEEN_ITEMS, UnseenItemsEvent); - this._events.set(IncomingHeader.HOTEL_WILL_SHUTDOWN, HotelWillShutdownEvent); + this._events.set(IncomingHeader.ACHIEVEMENT_NOTIFICATION, AchievementNotificationMessageEvent); + this._events.set(IncomingHeader.INFO_FEED_ENABLE, InfoFeedEnableMessageEvent); + this._events.set(IncomingHeader.CLUB_GIFT_NOTIFICATION, ClubGiftNotificationEvent); + this._events.set(IncomingHeader.ACTIVITY_POINT_NOTIFICATION, ActivityPointNotificationMessageEvent); + this._events.set(IncomingHeader.BOT_ERROR, BotErrorEvent); + this._events.set(IncomingHeader.PET_LEVEL_NOTIFICATION, PetLevelNotificationEvent); + + // PERK + this._events.set(IncomingHeader.USER_PERKS, PerkAllowancesMessageEvent); + + // POLL + this._events.set(IncomingHeader.QUESTION, QuestionEvent); + this._events.set(IncomingHeader.POLL_CONTENTS, PollContentsEvent); + this._events.set(IncomingHeader.POLL_ERROR, PollErrorEvent); + this._events.set(IncomingHeader.POLL_OFFER, PollOfferEvent); + this._events.set(IncomingHeader.QUESTION_ANSWERED, QuestionAnsweredEvent); + this._events.set(IncomingHeader.QUESTION_FINISHED, QuestionFinishedEvent); + + // QUEST + this._events.set(IncomingHeader.COMMUNITY_GOAL_EARNED_PRIZES, CommunityGoalEarnedPrizesMessageEvent); + this._events.set(IncomingHeader.COMMUNITY_GOAL_PROGRESS, CommunityGoalProgressMessageEvent); + this._events.set(IncomingHeader.CONCURRENT_USERS_GOAL_PROGRESS, ConcurrentUsersGoalProgressMessageEvent); + this._events.set(IncomingHeader.QUEST_DAILY, QuestDailyMessageEvent); + this._events.set(IncomingHeader.QUEST_CANCELLED, QuestCancelledMessageEvent); + this._events.set(IncomingHeader.QUEST_COMPLETED, QuestCompletedMessageEvent); + this._events.set(IncomingHeader.COMMUNITY_GOAL_HALL_OF_FAME, CommunityGoalHallOfFameMessageEvent); + this._events.set(IncomingHeader.EPIC_POPUP, EpicPopupMessageEvent); + this._events.set(IncomingHeader.SEASONAL_QUESTS, SeasonalQuestsMessageEvent); + this._events.set(IncomingHeader.QUESTS, QuestsMessageEvent); + this._events.set(IncomingHeader.QUEST, QuestMessageEvent); // ROOM - - // ACCESS this._events.set(IncomingHeader.ROOM_ENTER_ERROR, RoomEnterErrorEvent); this._events.set(IncomingHeader.ROOM_ENTER, RoomEnterEvent); this._events.set(IncomingHeader.ROOM_FORWARD, RoomForwardEvent); - - // DOORBELL this._events.set(IncomingHeader.ROOM_DOORBELL, RoomDoorbellEvent); this._events.set(IncomingHeader.ROOM_DOORBELL_ACCEPTED, RoomDoorbellAcceptedEvent); this._events.set(IncomingHeader.ROOM_DOORBELL_REJECTED, RoomDoorbellRejectedEvent); - - // RIGHTS this._events.set(IncomingHeader.ROOM_RIGHTS_CLEAR, RoomRightsClearEvent); this._events.set(IncomingHeader.ROOM_RIGHTS_OWNER, RoomRightsOwnerEvent); this._events.set(IncomingHeader.ROOM_RIGHTS, RoomRightsEvent); - - // DATA + this._events.set(IncomingHeader.BOT_COMMAND_CONFIGURATION, BotCommandConfigurationEvent); this._events.set(IncomingHeader.ROOM_SETTINGS_CHAT, RoomChatSettingsEvent); - this._events.set(IncomingHeader.ROOM_INFO, RoomInfoEvent); - this._events.set(IncomingHeader.ROOM_INFO_OWNER, RoomInfoOwnerEvent); + this._events.set(IncomingHeader.ROOM_INFO, GetGuestRoomResultEvent); + this._events.set(IncomingHeader.ROOM_INFO_OWNER, RoomEntryInfoMessageEvent); this._events.set(IncomingHeader.ROOM_SCORE, RoomScoreEvent); this._events.set(IncomingHeader.ROOM_SETTINGS_SAVE_ERROR, RoomSettingsErrorEvent); this._events.set(IncomingHeader.ROOM_SETTINGS, RoomSettingsEvent); @@ -630,59 +773,43 @@ export class NitroMessages implements IMessageConfiguration this._events.set(IncomingHeader.ROOM_SETTINGS_UPDATED, RoomSettingsUpdatedEvent); this._events.set(IncomingHeader.ROOM_RIGHTS_LIST, RoomUsersWithRightsEvent); this._events.set(IncomingHeader.ROOM_BAN_LIST, RoomBannedUsersEvent); - - // ENGINE this._events.set(IncomingHeader.ROOM_ROLLING, ObjectsRollingEvent); this._events.set(IncomingHeader.ROOM_CREATED, RoomCreatedEvent); - - // BOTS - this._events.set(IncomingHeader.BOT_COMMAND_CONFIGURATION, BotCommandConfigurationEvent); - this._events.set(IncomingHeader.BOT_ERROR, BotErrorEvent); - - // FURNITURE - this._events.set(IncomingHeader.FURNITURE_ALIASES, FurnitureAliasesEvent); - this._events.set(IncomingHeader.FURNITURE_DATA, FurnitureDataEvent); - this._events.set(IncomingHeader.FURNITURE_ITEMDATA, FurnitureItemDataEvent); - this._events.set(IncomingHeader.ITEM_STACK_HELPER, FurnitureStackHeightEvent); - this._events.set(IncomingHeader.FURNITURE_STATE, FurnitureStateEvent); - this._events.set(IncomingHeader.ITEM_DIMMER_SETTINGS, RoomDimmerPresetsEvent); - this._events.set(IncomingHeader.FURNITURE_STATE_2, FurnitureState2Event); - this._events.set(IncomingHeader.LOVELOCK_FURNI_FINISHED, LoveLockFurniFinishedEvent); - this._events.set(IncomingHeader.LOVELOCK_FURNI_FRIEND_COMFIRMED, LoveLockFurniFriendConfirmedEvent); - this._events.set(IncomingHeader.LOVELOCK_FURNI_START, LoveLockFurniStartEvent); - this._events.set(IncomingHeader.OBJECTS_DATA_UPDATE, ObjectsDataUpdateEvent); - - // FLOOR this._events.set(IncomingHeader.FURNITURE_FLOOR_ADD, FurnitureFloorAddEvent); this._events.set(IncomingHeader.FURNITURE_FLOOR, FurnitureFloorEvent); this._events.set(IncomingHeader.FURNITURE_FLOOR_REMOVE, FurnitureFloorRemoveEvent); this._events.set(IncomingHeader.FURNITURE_FLOOR_UPDATE, FurnitureFloorUpdateEvent); - - // WALL this._events.set(IncomingHeader.ITEM_WALL_ADD, FurnitureWallAddEvent); this._events.set(IncomingHeader.ITEM_WALL, FurnitureWallEvent); this._events.set(IncomingHeader.ITEM_WALL_REMOVE, FurnitureWallRemoveEvent); this._events.set(IncomingHeader.ITEM_WALL_UPDATE, FurnitureWallUpdateEvent); + this._events.set(IncomingHeader.FURNITURE_ALIASES, FurnitureAliasesEvent); + this._events.set(IncomingHeader.FURNITURE_DATA, FurnitureDataEvent); + this._events.set(IncomingHeader.FURNITURE_ITEMDATA, ItemDataUpdateMessageEvent); + this._events.set(IncomingHeader.ITEM_STACK_HELPER, FurnitureStackHeightEvent); + this._events.set(IncomingHeader.FURNITURE_STATE, OneWayDoorStatusMessageEvent); + this._events.set(IncomingHeader.ITEM_DIMMER_SETTINGS, RoomDimmerPresetsEvent); + this._events.set(IncomingHeader.FURNITURE_STATE_2, DiceValueMessageEvent); + this._events.set(IncomingHeader.LOVELOCK_FURNI_FINISHED, LoveLockFurniFinishedEvent); + this._events.set(IncomingHeader.LOVELOCK_FURNI_FRIEND_COMFIRMED, LoveLockFurniFriendConfirmedEvent); + this._events.set(IncomingHeader.LOVELOCK_FURNI_START, LoveLockFurniStartEvent); + this._events.set(IncomingHeader.OBJECTS_DATA_UPDATE, ObjectsDataUpdateEvent); + this._events.set(IncomingHeader.FURNITURE_GROUP_CONTEXT_MENU_INFO, GroupFurniContextMenuInfoMessageEvent); + this._events.set(IncomingHeader.FURNITURE_POSTIT_STICKY_POLE_OPEN, FurniturePostItStickyPoleOpenEvent); // MAPPING - this._events.set(IncomingHeader.ROOM_MODEL_DOOR, RoomDoorEvent); + this._events.set(IncomingHeader.ROOM_MODEL_DOOR, RoomEntryTileMessageEvent); this._events.set(IncomingHeader.ROOM_HEIGHT_MAP, RoomHeightMapEvent); this._events.set(IncomingHeader.ROOM_HEIGHT_MAP_UPDATE, RoomHeightMapUpdateEvent); - this._events.set(IncomingHeader.ROOM_MODEL, RoomModelEvent); - this._events.set(IncomingHeader.ROOM_MODEL_NAME, RoomModelNameEvent); + this._events.set(IncomingHeader.ROOM_MODEL, FloorHeightMapEvent); + this._events.set(IncomingHeader.ROOM_MODEL_NAME, RoomReadyMessageEvent); this._events.set(IncomingHeader.ROOM_PAINT, RoomPaintEvent); - this._events.set(IncomingHeader.ROOM_THICKNESS, RoomThicknessEvent); - this._events.set(IncomingHeader.ROOM_MODEL_BLOCKED_TILES, RoomBlockedTilesEvent); - - // PET + this._events.set(IncomingHeader.ROOM_THICKNESS, RoomVisualizationSettingsEvent); + this._events.set(IncomingHeader.ROOM_MODEL_BLOCKED_TILES, RoomOccupiedTilesMessageEvent); this._events.set(IncomingHeader.PET_FIGURE_UPDATE, PetFigureUpdateEvent); this._events.set(IncomingHeader.PET_INFO, PetInfoEvent); this._events.set(IncomingHeader.PET_EXPERIENCE, PetExperienceEvent); - - // SESSION this._events.set(IncomingHeader.PLAYING_GAME, YouArePlayingGameEvent); - - // UNIT this._events.set(IncomingHeader.UNIT_DANCE, RoomUnitDanceEvent); this._events.set(IncomingHeader.UNIT_EFFECT, RoomUnitEffectEvent); this._events.set(IncomingHeader.UNIT, RoomUnitEvent); @@ -694,8 +821,6 @@ export class NitroMessages implements IMessageConfiguration this._events.set(IncomingHeader.UNIT_REMOVE, RoomUnitRemoveEvent); this._events.set(IncomingHeader.UNIT_STATUS, RoomUnitStatusEvent); this._events.set(IncomingHeader.HAND_ITEM_RECEIVED, RoomUnitHandItemReceivedEvent); - - // CHAT this._events.set(IncomingHeader.FLOOD_CONTROL, FloodControlEvent); this._events.set(IncomingHeader.REMAINING_MUTE, RemainingMuteEvent); this._events.set(IncomingHeader.UNIT_CHAT, RoomUnitChatEvent); @@ -716,105 +841,41 @@ export class NitroMessages implements IMessageConfiguration // SECURITY this._events.set(IncomingHeader.AUTHENTICATED, AuthenticatedEvent); + // SOUNDS + this._events.set(IncomingHeader.JUKEBOX_PLAYLIST_FULL, JukeboxPlayListFullMessageEvent); + this._events.set(IncomingHeader.JUKEBOX_SONG_DISKS, JukeboxSongDisksMessageEvent); + this._events.set(IncomingHeader.NOW_PLAYING, NowPlayingMessageEvent); + this._events.set(IncomingHeader.OFFICIAL_SONG_ID, OfficialSongIdMessageEvent); + this._events.set(IncomingHeader.PLAYLIST, PlayListMessageEvent); + this._events.set(IncomingHeader.PLAYLIST_SONG_ADDED, PlayListSongAddedMessageEvent); + this._events.set(IncomingHeader.TRAX_SONG_INFO, TraxSongInfoMessageEvent); + this._events.set(IncomingHeader.USER_SONG_DISKS_INVENTORY, UserSongDisksInventoryMessageEvent); + + // TALENT + this._events.set(IncomingHeader.HELPER_TALENT_TRACK, TalentTrackMessageEvent); + // USER this._events.set(IncomingHeader.IN_CLIENT_LINK, InClientLinkEvent); this._events.set(IncomingHeader.USER_IGNORED, IgnoredUsersEvent); this._events.set(IncomingHeader.USER_IGNORED_RESULT, IgnoreResultEvent); - - // BADGES - this._events.set(IncomingHeader.USER_BADGES, BadgesEvent); - this._events.set(IncomingHeader.USER_BADGES_ADD, BadgeReceivedEvent); - - // ACCESS - this._events.set(IncomingHeader.USER_PERKS, UserPerksEvent); + this._events.set(IncomingHeader.USER_RESPECT, RespectReceivedEvent); this._events.set(IncomingHeader.USER_PERMISSIONS, UserPermissionsEvent); - - // DATA this._events.set(IncomingHeader.USER_BADGES_CURRENT, UserCurrentBadgesEvent); - this._events.set(IncomingHeader.USER_FIGURE, UserFigureEvent); this._events.set(IncomingHeader.USER_INFO, UserInfoEvent); this._events.set(IncomingHeader.UNIT_CHANGE_NAME, UserNameChangeMessageEvent); this._events.set(IncomingHeader.USER_SETTINGS, UserSettingsEvent); this._events.set(IncomingHeader.USER_PROFILE, UserProfileEvent); this._events.set(IncomingHeader.MESSENGER_RELATIONSHIPS, RelationshipStatusInfoEvent); - - // GIFTS this._events.set(IncomingHeader.GIFT_OPENED, PresentOpenedMessageEvent); - - // INVENTORY - this._events.set(IncomingHeader.GIFT_RECEIVER_NOT_FOUND, CatalogGiftUsernameUnavailableEvent); - - // BOTS - this._events.set(IncomingHeader.USER_BOTS, BotInventoryMessageEvent); - this._events.set(IncomingHeader.REMOVE_BOT_FROM_INVENTORY, BotRemovedFromInventoryEvent); - this._events.set(IncomingHeader.ADD_BOT_TO_INVENTORY, BotAddedToInventoryEvent); - - // CURRENCY this._events.set(IncomingHeader.USER_CREDITS, UserCreditsEvent); this._events.set(IncomingHeader.USER_CURRENCY, UserCurrencyEvent); - this._events.set(IncomingHeader.USER_CURRENCY_UPDATE, UserCurrencyUpdateEvent); - - // SUBSCRIPTION this._events.set(IncomingHeader.USER_SUBSCRIPTION, UserSubscriptionEvent); - - // GAMES - this._events.set(IncomingHeader.LOAD_GAME_URL, LoadGameUrlEvent); - - // WARDROBE this._events.set(IncomingHeader.USER_WARDROBE_PAGE, UserWardrobePageEvent); + this._events.set(IncomingHeader.SCR_SEND_KICKBACK_INFO, ScrSendKickbackInfoMessageEvent); - // PETS - this._events.set(IncomingHeader.USER_PETS, PetInventoryEvent); - this._events.set(IncomingHeader.USER_PET_REMOVE, PetRemovedFromInventory); - this._events.set(IncomingHeader.USER_PET_ADD, PetAddedToInventoryEvent); - this._events.set(IncomingHeader.PET_PLACING_ERROR, PetPlacingErrorEvent); - - // MOD TOOL - this._events.set(IncomingHeader.MODERATION_USER_INFO, ModtoolUserInfoEvent); - this._events.set(IncomingHeader.MODERATION_TOPICS, ModtoolCallForHelpTopicsEvent); - this._events.set(IncomingHeader.MODERATION_TOOL, ModtoolMainEvent); - this._events.set(IncomingHeader.MODTOOL_VISITED_ROOMS_USER, ModtoolReceivedRoomsUserEvent); - - // MARKETPLACE - this._events.set(IncomingHeader.MARKETPLACE_SELL_ITEM, MarketplaceSellItemEvent); - this._events.set(IncomingHeader.MARKETPLACE_CONFIG, MarketplaceConfigEvent); - this._events.set(IncomingHeader.MARKETPLACE_ITEM_STATS, MarketplaceItemStatsEvent); - this._events.set(IncomingHeader.MARKETPLACE_OWN_ITEMS, MarketplaceOwnItemsEvent); - this._events.set(IncomingHeader.MARKETPLACE_CANCEL_SALE, MarketplaceCancelItemEvent); - this._events.set(IncomingHeader.MARKETPLACE_ITEM_POSTED, MarketplaceItemPostedEvent); - this._events.set(IncomingHeader.MARKETPLACE_ITEMS_SEARCHED, MarketplaceOffersReceivedEvent); - this._events.set(IncomingHeader.MARKETPLACE_AFTER_ORDER_STATUS, MarketplaceBuyOfferResultEvent); - - // LANDING VIEW - this._events.set(IncomingHeader.COMMUNITY_GOAL_VOTE_EVENT, CommunityGoalVoteMessageEvent); - this._events.set(IncomingHeader.PROMO_ARTICLES, PromoArticlesMessageEvent); - - // QUESTS - this._events.set(IncomingHeader.COMMUNITY_GOAL_EARNED_PRIZES, CommunityGoalEarnedPrizesMessageEvent); - this._events.set(IncomingHeader.COMMUNITY_GOAL_PROGRESS, CommunityGoalProgressMessageEvent); - this._events.set(IncomingHeader.CONCURRENT_USERS_GOAL_PROGRESS, ConcurrentUsersGoalProgressMessageEvent); - this._events.set(IncomingHeader.QUEST_DAILY, QuestDailyMessageEvent); - this._events.set(IncomingHeader.QUEST_CANCELLED, QuestCancelledMessageEvent); - this._events.set(IncomingHeader.QUEST_COMPLETED, QuestCompletedMessageEvent); - this._events.set(IncomingHeader.COMMUNITY_GOAL_HALL_OF_FAME, CommunityGoalHallOfFameMessageEvent); - this._events.set(IncomingHeader.EPIC_POPUP, EpicPopupMessageEvent); - this._events.set(IncomingHeader.SEASONAL_QUESTS, SeasonalQuestsMessageEvent); - this._events.set(IncomingHeader.QUESTS, QuestsMessageEvent); - this._events.set(IncomingHeader.QUEST, QuestMessageEvent); - - // CRAFTING - this._events.set(IncomingHeader.CRAFTABLE_PRODUCTS, CraftableProductsEvent); - this._events.set(IncomingHeader.CRAFTING_RECIPE, CraftingRecipeEvent); - this._events.set(IncomingHeader.CRAFTING_RECIPES_AVAILABLE, CraftingRecipesAvailableEvent); - this._events.set(IncomingHeader.CRAFTING_RESULT, CraftingResultEvent); - - // CAMERA - this._events.set(IncomingHeader.CAMERA_PUBLISH_STATUS, CameraPublishStatusMessageEvent); - this._events.set(IncomingHeader.CAMERA_PURCHASE_OK, CameraPurchaseOKMessageEvent); - this._events.set(IncomingHeader.CAMERA_STORAGE_URL, CameraStorageUrlMessageEvent); - this._events.set(IncomingHeader.COMPETITION_STATUS, CompetitionStatusMessageEvent); - this._events.set(IncomingHeader.INIT_CAMERA, InitCameraMessageEvent); - this._events.set(IncomingHeader.THUMBNAIL_STATUS, ThumbnailStatusMessageEvent); + this._events.set(IncomingHeader.GENERIC_ERROR, GenericErrorEvent); + this._events.set(IncomingHeader.GROUP_LIST, GuildMembershipsMessageEvent); + this._events.set(IncomingHeader.CATALOG_APPROVE_NAME_RESULT, ApproveNameMessageEvent); } private registerComposers(): void @@ -822,45 +883,170 @@ export class NitroMessages implements IMessageConfiguration // AUTHENTICATION this._composers.set(OutgoingHeader.AUTHENTICATION, AuthenticationMessageComposer); - // CATALOG - this._composers.set(OutgoingHeader.CATALOG_MODE, CatalogModeComposer); - this._composers.set(OutgoingHeader.CATALOG_PAGE, CatalogPageComposer); - this._composers.set(OutgoingHeader.CATALOG_PURCHASE, CatalogPurchaseComposer); - this._composers.set(OutgoingHeader.CATALOG_PURCHASE_GIFT, CatalogPurchaseGiftComposer); - this._composers.set(OutgoingHeader.CATALOG_SEARCH, CatalogSearchComposer); - this._composers.set(OutgoingHeader.CATALOG_CLUB, CatalogRequestVipOffersComposer); - this._composers.set(OutgoingHeader.CATALOG_CLUB_GIFTS, CatalogRequestVipGiftsComposer); - this._composers.set(OutgoingHeader.CATALOG_REDEEM_VOUCHER, CatalogRedeemVoucherComposer); - this._composers.set(OutgoingHeader.LOVELOCK_START_CONFIRM, LoveLockStartConfirmComposer); - this._composers.set(OutgoingHeader.GROUP_MEMBERSHIPS, CatalogGroupsComposer); - this._composers.set(OutgoingHeader.GIFT_CONFIG, CatalogRequestGiftConfigurationComposer); - this._composers.set(OutgoingHeader.CATALOG_SELECT_VIP_GIFT, CatalogSelectClubGiftComposer); - this._composers.set(OutgoingHeader.CATALOG_REQUESET_PET_BREEDS, CatalogRequestPetBreedsComposer); - this._composers.set(OutgoingHeader.GET_BONUS_RARE_INFO, GetBonusRareInfoMessageComposer); + // ADVERTISEMENT + this._composers.set(OutgoingHeader.INTERSTITIAL_SHOWN, InterstitialShownMessageComposer); + this._composers.set(OutgoingHeader.GET_INTERSTITIAL, GetInterstitialMessageComposer); - // CLIENT - this._composers.set(OutgoingHeader.CLIENT_PONG, ClientPongComposer); - this._composers.set(OutgoingHeader.RELEASE_VERSION, ClientReleaseVersionComposer); + // AVATAR + this._composers.set(OutgoingHeader.GET_WARDROBE, GetWardrobeMessageComposer); + this._composers.set(OutgoingHeader.SAVE_WARDROBE_OUTFIT, SaveWardrobeOutfitMessageComposer); + this._composers.set(OutgoingHeader.CHANGE_USERNAME, ChangeUserNameMessageComposer); + this._composers.set(OutgoingHeader.CHECK_USERNAME, CheckUserNameMessageComposer); + + // CAMERA + this._composers.set(OutgoingHeader.REQUEST_CAMERA_CONFIGURATION, RequestCameraConfigurationComposer); + this._composers.set(OutgoingHeader.RENDER_ROOM, RenderRoomMessageComposer); + this._composers.set(OutgoingHeader.RENDER_ROOM_THUMBNAIL, RenderRoomThumbnailMessageComposer); + this._composers.set(OutgoingHeader.PURCHASE_PHOTO, PurchasePhotoMessageComposer); + this._composers.set(OutgoingHeader.PUBLISH_PHOTO, PublishPhotoMessageComposer); + this._composers.set(OutgoingHeader.PHOTO_COMPETITION, PhotoCompetitionMessageComposer); + + // CAMPAIGN + this._composers.set(OutgoingHeader.OPEN_CAMPAIGN_CALENDAR_DOOR, OpenCampaignCalendarDoorComposer); + this._composers.set(OutgoingHeader.OPEN_CAMPAIGN_CALENDAR_DOOR_STAFF, OpenCampaignCalendarDoorAsStaffComposer); + + // CATALOG + this._composers.set(OutgoingHeader.BUILDERS_CLUB_PLACE_ROOM_ITEM, BuildersClubPlaceRoomItemMessageComposer); + this._composers.set(OutgoingHeader.BUILDERS_CLUB_PLACE_WALL_ITEM, BuildersClubPlaceWallItemMessageComposer); + this._composers.set(OutgoingHeader.BUILDERS_CLUB_QUERY_FURNI_COUNT, BuildersClubQueryFurniCountMessageComposer); + this._composers.set(OutgoingHeader.GET_CATALOG_INDEX, GetCatalogIndexComposer); + this._composers.set(OutgoingHeader.GET_CATALOG_PAGE, GetCatalogPageComposer); + this._composers.set(OutgoingHeader.CATALOG_PURCHASE, PurchaseFromCatalogComposer); + this._composers.set(OutgoingHeader.CATALOG_PURCHASE_GIFT, PurchaseFromCatalogAsGiftComposer); + this._composers.set(OutgoingHeader.GET_PRODUCT_OFFER, GetProductOfferComposer); + this._composers.set(OutgoingHeader.GET_CLUB_OFFERS, GetClubOffersMessageComposer); + this._composers.set(OutgoingHeader.GET_CLUB_GIFT_INFO, GetClubGiftInfo); + this._composers.set(OutgoingHeader.CATALOG_REDEEM_VOUCHER, RedeemVoucherMessageComposer); + this._composers.set(OutgoingHeader.GROUP_MEMBERSHIPS, CatalogGroupsComposer); + this._composers.set(OutgoingHeader.GET_GIFT_WRAPPING_CONFIG, GetGiftWrappingConfigurationComposer); + this._composers.set(OutgoingHeader.CATALOG_SELECT_VIP_GIFT, SelectClubGiftComposer); + this._composers.set(OutgoingHeader.CATALOG_REQUESET_PET_BREEDS, GetSellablePetPalettesComposer); + this._composers.set(OutgoingHeader.GET_BONUS_RARE_INFO, GetBonusRareInfoMessageComposer); + this._composers.set(OutgoingHeader.GET_BUNDLE_DISCOUNT_RULESET, GetBundleDiscountRulesetComposer); + this._composers.set(OutgoingHeader.GET_CATALOG_PAGE_EXPIRATION, GetCatalogPageExpirationComposer); + this._composers.set(OutgoingHeader.GET_CATALOG_PAGE_WITH_EARLIEST_EXP, GetCatalogPageWithEarliestExpiryComposer); + this._composers.set(OutgoingHeader.GET_DIRECT_CLUB_BUY_AVAILABLE, GetDirectClubBuyAvailableComposer); + this._composers.set(OutgoingHeader.GET_HABBO_BASIC_MEMBERSHIP_EXTEND_OFFER, GetHabboBasicMembershipExtendOfferComposer); + this._composers.set(OutgoingHeader.GET_HABBO_CLUB_EXTEND_OFFER, GetHabboClubExtendOfferMessageComposer); + this._composers.set(OutgoingHeader.GET_IS_OFFER_GIFTABLE, GetIsOfferGiftableComposer); + this._composers.set(OutgoingHeader.GET_LIMITED_OFFER_APPEARING_NEXT, GetLimitedOfferAppearingNextComposer); + this._composers.set(OutgoingHeader.GET_NEXT_TARGETED_OFFER, GetNextTargetedOfferComposer); + this._composers.set(OutgoingHeader.GET_ROOM_AD_PURCHASE_INFO, GetRoomAdPurchaseInfoComposer); + this._composers.set(OutgoingHeader.GET_SEASONAL_CALENDAR_DAILY_OFFER, GetSeasonalCalendarDailyOfferComposer); + this._composers.set(OutgoingHeader.GET_TARGETED_OFFER, GetTargetedOfferComposer); + this._composers.set(OutgoingHeader.MARK_CATALOG_NEW_ADDITIONS_PAGE_OPENED, MarkCatalogNewAdditionsPageOpenedComposer); + this._composers.set(OutgoingHeader.PURCHASE_BASIC_MEMBERSHIP_EXTENSION, PurchaseBasicMembershipExtensionComposer); + this._composers.set(OutgoingHeader.PURCHASE_ROOM_AD, PurchaseRoomAdMessageComposer); + this._composers.set(OutgoingHeader.PURCHASE_TARGETED_OFFER, PurchaseTargetedOfferComposer); + this._composers.set(OutgoingHeader.PURCHASE_VIP_MEMBERSHIP_EXTENSION, PurchaseVipMembershipExtensionComposer); + this._composers.set(OutgoingHeader.ROOM_AD_PURCHASE_INITIATED, RoomAdPurchaseInitiatedComposer); + this._composers.set(OutgoingHeader.SET_TARGETTED_OFFER_STATE, SetTargetedOfferStateComposer); + this._composers.set(OutgoingHeader.SHOP_TARGETED_OFFER_VIEWED, ShopTargetedOfferViewedComposer); + + // COMPETITION + this._composers.set(OutgoingHeader.FORWARD_TO_A_COMPETITION_ROOM, ForwardToACompetitionRoomMessageComposer); + this._composers.set(OutgoingHeader.FORWARD_TO_A_SUBMITTABLE_ROOM, ForwardToASubmittableRoomMessageComposer); + this._composers.set(OutgoingHeader.FORWARD_TO_RANDOM_COMPETITION_ROOM, ForwardToRandomCompetitionRoomMessageComposer); + this._composers.set(OutgoingHeader.GET_CURRENT_TIMING_CODE, GetCurrentTimingCodeMessageComposer); + this._composers.set(OutgoingHeader.GET_IS_USER_PART_OF_COMPETITION, GetIsUserPartOfCompetitionMessageComposer); + this._composers.set(OutgoingHeader.GET_SECONDS_UNTIL, GetSecondsUntilMessageComposer); + this._composers.set(OutgoingHeader.ROOM_COMPETITION_INIT, RoomCompetitionInitMessageComposer); + this._composers.set(OutgoingHeader.SUBMIT_ROOM_TO_COMPETITION, SubmitRoomToCompetitionMessageComposer); + this._composers.set(OutgoingHeader.VOTE_FOR_ROOM, VoteForRoomMessageComposer); + + // CRAFTING + this._composers.set(OutgoingHeader.CRAFT, CraftComposer); + this._composers.set(OutgoingHeader.CRAFT_SECRET, CraftSecretComposer); + this._composers.set(OutgoingHeader.GET_CRAFTABLE_PRODUCTS, GetCraftableProductsComposer); + this._composers.set(OutgoingHeader.GET_CRAFTING_RECIPE, GetCraftingRecipeComposer); + this._composers.set(OutgoingHeader.GET_CRAFTING_RECIPES_AVAILABLE, GetCraftingRecipesAvailableComposer); + + // FRIENDFURNI + this._composers.set(OutgoingHeader.FRIEND_FURNI_CONFIRM_LOCK, FriendFurniConfirmLockMessageComposer); + + // FRIENDLIST + this._composers.set(OutgoingHeader.ACCEPT_FRIEND, AcceptFriendMessageComposer); + this._composers.set(OutgoingHeader.DECLINE_FRIEND, DeclineFriendMessageComposer); + this._composers.set(OutgoingHeader.FIND_NEW_FRIENDS, FindNewFriendsMessageComposer); + this._composers.set(OutgoingHeader.FOLLOW_FRIEND, FollowFriendMessageComposer); + this._composers.set(OutgoingHeader.FRIEND_LIST_UPDATE, FriendListUpdateComposer); + this._composers.set(OutgoingHeader.GET_FRIEND_REQUESTS, GetFriendRequestsComposer); + this._composers.set(OutgoingHeader.HABBO_SEARCH, HabboSearchComposer); + this._composers.set(OutgoingHeader.MESSENGER_INIT, MessengerInitComposer); + this._composers.set(OutgoingHeader.REMOVE_FRIEND, RemoveFriendComposer); + this._composers.set(OutgoingHeader.REQUEST_FRIEND, RequestFriendComposer); + this._composers.set(OutgoingHeader.MESSENGER_CHAT, SendMessageComposer); + this._composers.set(OutgoingHeader.SEND_ROOM_INVITE, SendRoomInviteComposer); + this._composers.set(OutgoingHeader.SET_RELATIONSHIP_STATUS, SetRelationshipStatusComposer); + this._composers.set(OutgoingHeader.VISIT_USER, VisitUserComposer); + + // todo: game + + // GIFTS + this._composers.set(OutgoingHeader.GET_GIFT, GetGiftMessageComposer); + this._composers.set(OutgoingHeader.RESET_PHONE_NUMBER_STATE, ResetPhoneNumberStateMessageComposer); + this._composers.set(OutgoingHeader.SET_PHONE_NUMBER_VERIFICATION_STATUS, SetPhoneNumberVerificationStatusMessageComposer); + this._composers.set(OutgoingHeader.TRY_PHONE_NUMBER, TryPhoneNumberMessageComposer); + this._composers.set(OutgoingHeader.VERIFY_CODE, VerifyCodeMessageComposer); + + // GROUPFORUMS + this._composers.set(OutgoingHeader.GET_FORUM_STATS, GetForumStatsMessageComposer); + this._composers.set(OutgoingHeader.GET_FORUMS_LIST, GetForumsListMessageComposer); + this._composers.set(OutgoingHeader.GET_FORUM_MESSAGES, GetMessagesMessageComposer); + this._composers.set(OutgoingHeader.GET_FORUM_THREAD, GetThreadMessageComposer); + this._composers.set(OutgoingHeader.GET_FORUM_THREADS, GetThreadsMessageComposer); + this._composers.set(OutgoingHeader.GET_UNREAD_FORUMS_COUNT, GetUnreadForumsCountMessageComposer); + this._composers.set(OutgoingHeader.FORUM_MODERATE_MESSAGE, ModerateMessageMessageComposer); + this._composers.set(OutgoingHeader.FORUM_MODERATE_THREAD, ModerateThreadMessageComposer); + this._composers.set(OutgoingHeader.FORUM_POST_MESSAGE, PostMessageMessageComposer); + this._composers.set(OutgoingHeader.UPDATE_FORUM_READ_MARKER, UpdateForumReadMarkerMessageComposer); + this._composers.set(OutgoingHeader.UPDATE_FORUM_SETTINGS, UpdateForumSettingsMessageComposer); + this._composers.set(OutgoingHeader.FORUM_UPDATE_THREAD, UpdateThreadMessageComposer); + + // HANDSHAKE + this._composers.set(OutgoingHeader.CLIENT_PONG, PongMessageComposer); + this._composers.set(OutgoingHeader.RELEASE_VERSION, ClientHelloMessageComposer); + this._composers.set(OutgoingHeader.SECURITY_TICKET, SSOTicketMessageComposer); + this._composers.set(OutgoingHeader.USER_INFO, InfoRetrieveMessageComposer); + this._composers.set(OutgoingHeader.DISCONNECT, DisconnectMessageComposer); + this._composers.set(OutgoingHeader.SECURITY_MACHINE, UniqueIDMessageComposer); + this._composers.set(OutgoingHeader.CLIENT_VARIABLES, VersionCheckMessageComposer); + + // HELP + this._composers.set(OutgoingHeader.CALL_FOR_HELP_FROM_FORUM_MESSAGE, CallForHelpFromForumMessageMessageComposer); + this._composers.set(OutgoingHeader.CALL_FOR_HELP_FROM_FORUM_THREAD, CallForHelpFromForumThreadMessageComposer); + this._composers.set(OutgoingHeader.CALL_FOR_HELP_FROM_IM, CallForHelpFromIMMessageComposer); + this._composers.set(OutgoingHeader.CALL_FOR_HELP_FROM_PHOTO, CallForHelpFromPhotoMessageComposer); + this._composers.set(OutgoingHeader.CALL_FOR_HELP_FROM_SELFIE, CallForHelpFromSelfieMessageComposer); + this._composers.set(OutgoingHeader.CALL_FOR_HELP, CallForHelpMessageComposer); + this._composers.set(OutgoingHeader.CHAT_REVIEW_GUIDE_DECIDES, ChatReviewGuideDecidesOnOfferMessageComposer); + this._composers.set(OutgoingHeader.CHAT_REVIEW_GUIDE_DETACHED, ChatReviewGuideDetachedMessageComposer); + this._composers.set(OutgoingHeader.CHAT_REVIEW_GUIDE_VOTE, ChatReviewGuideVoteMessageComposer); + this._composers.set(OutgoingHeader.CHAT_REVIEW_SESSION_CREATE, ChatReviewSessionCreateMessageComposer); + this._composers.set(OutgoingHeader.DELETE_PENDING_CALLS_FOR_HELP, DeletePendingCallsForHelpMessageComposer); + this._composers.set(OutgoingHeader.GET_CFH_STATUS, GetCfhStatusMessageComposer); + this._composers.set(OutgoingHeader.GET_FAQ_CATEGORY, GetFaqCategoryMessageComposer); + this._composers.set(OutgoingHeader.GET_FAQ_TEXT, GetFaqTextMessageComposer); + this._composers.set(OutgoingHeader.GET_GUIDE_REPORTING_STATUS, GetGuideReportingStatusMessageComposer); + this._composers.set(OutgoingHeader.GET_PENDING_CALLS_FOR_HELP, GetPendingCallsForHelpMessageComposer); + this._composers.set(OutgoingHeader.GET_QUIZ_QUESTIONS, GetQuizQuestionsComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_CREATE, GuideSessionCreateMessageComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_FEEDBACK, GuideSessionFeedbackMessageComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_GET_REQUESTER_ROOM, GuideSessionGetRequesterRoomMessageComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_GUIDE_DECIDES, GuideSessionGuideDecidesMessageComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_INVITE_REQUESTER, GuideSessionInviteRequesterMessageComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_IS_TYPING, GuideSessionIsTypingMessageComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_MESSAGE, GuideSessionMessageMessageComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_ON_DUTY_UPDATE, GuideSessionOnDutyUpdateMessageComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_REPORT, GuideSessionReportMessageComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_REQUESTER_CANCELS, GuideSessionRequesterCancelsMessageComposer); + this._composers.set(OutgoingHeader.GUIDE_SESSION_RESOLVED, GuideSessionResolvedMessageComposer); + this._composers.set(OutgoingHeader.POST_QUIZ_ANSWERS, PostQuizAnswersComposer); + this._composers.set(OutgoingHeader.SEARCH_FAQS, SearchFaqsMessageComposer); // DESKTOP this._composers.set(OutgoingHeader.DESKTOP_VIEW, DesktopViewComposer); - // FRIENDLIST - this._composers.set(OutgoingHeader.MESSENGER_ACCEPT, AcceptFriendComposer); - this._composers.set(OutgoingHeader.MESSENGER_DECLINE, DeclineFriendComposer); - this._composers.set(OutgoingHeader.FIND_FRIENDS, FindNewFriendsComposer); - this._composers.set(OutgoingHeader.MESSENGER_FOLLOW, FollowFriendComposer); - this._composers.set(OutgoingHeader.MESSENGER_UPDATES, FriendListUpdateComposer); - this._composers.set(OutgoingHeader.MESSENGER_REQUESTS, GetFriendRequestsComposer); - this._composers.set(OutgoingHeader.MESSENGER_SEARCH, HabboSearchComposer); - this._composers.set(OutgoingHeader.MESSENGER_INIT, MessengerInitComposer); - this._composers.set(OutgoingHeader.MESSENGER_REMOVE, RemoveFriendComposer); - this._composers.set(OutgoingHeader.MESSENGER_REQUEST, RequestFriendComposer); - this._composers.set(OutgoingHeader.MESSENGER_CHAT, SendMessageComposer); - this._composers.set(OutgoingHeader.MESSENGER_ROOM_INVITE, SendRoomInviteComposer); - this._composers.set(OutgoingHeader.MESSENGER_RELATIONSHIPS_UPDATE, SetRelationshipStatusComposer); - this._composers.set(OutgoingHeader.USER_VISIT, VisitUserComposer); - // GROUP this._composers.set(OutgoingHeader.GROUP_INFO, GroupInformationComposer); this._composers.set(OutgoingHeader.GROUP_REQUEST, GroupJoinComposer); @@ -880,10 +1066,8 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.GROUP_SAVE_COLORS, GroupSaveColorsComposer); this._composers.set(OutgoingHeader.GROUP_SAVE_INFORMATION, GroupSaveInformationComposer); this._composers.set(OutgoingHeader.GROUP_SAVE_PREFERENCES, GroupSavePreferencesComposer); - - // SECURITY - this._composers.set(OutgoingHeader.SECURITY_TICKET, SecurityTicketComposer); - this._composers.set(OutgoingHeader.USER_INFO, InfoRetrieveBaseMessageComposer); + this._composers.set(OutgoingHeader.GROUP_FAVORITE, GroupFavoriteComposer); + this._composers.set(OutgoingHeader.GROUP_BADGES, GroupBadgesComposer); // NAVIGATOR this._composers.set(OutgoingHeader.NAVIGATOR_CATEGORIES, NavigatorCategoriesComposer); @@ -898,6 +1082,11 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.CONVERT_GLOBAL_ROOM_ID, ConvertGlobalRoomIdMessageComposer); this._composers.set(OutgoingHeader.ROOM_RIGHTS_REMOVE_OWN, RemoveOwnRoomRightsRoomMessageComposer); + // POLL + this._composers.set(OutgoingHeader.POLL_ANSWER, PollAnswerComposer); + this._composers.set(OutgoingHeader.POLL_REJECT, PollRejectComposer); + this._composers.set(OutgoingHeader.POLL_START, PollStartComposer); + // INVENTORY //// BADGES @@ -911,10 +1100,6 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.USER_FURNITURE, FurnitureListComposer); this._composers.set(OutgoingHeader.USER_FURNITURE2, FurnitureList2Composer); - //// MARKETPLACE - this._composers.set(OutgoingHeader.REQUEST_SELL_ITEM, RequestSellItemComposer); - this._composers.set(OutgoingHeader.REQUEST_MARKETPLACE_ITEM_STATS, MarketplaceRequesstItemStatsComposer); - //// PETS this._composers.set(OutgoingHeader.USER_PETS, RequestPetsComposer); @@ -952,6 +1137,7 @@ export class NitroMessages implements IMessageConfiguration // ACCESS this._composers.set(OutgoingHeader.ROOM_ENTER, RoomEnterComposer); this._composers.set(OutgoingHeader.ROOM_DOORBELL, RoomDoorbellAccessComposer); + this._composers.set(OutgoingHeader.GO_TO_FLAT, GoToFlatMessageComposer); // ACTION this._composers.set(OutgoingHeader.ROOM_AMBASSADOR_ALERT, RoomAmbassadorAlertComposer); @@ -980,21 +1166,26 @@ export class NitroMessages implements IMessageConfiguration // ENGINE this._composers.set(OutgoingHeader.GET_ITEM_DATA, GetItemDataComposer); this._composers.set(OutgoingHeader.REMOVE_WALL_ITEM, RemoveWallItemComposer); - this._composers.set(OutgoingHeader.MODIFY_WALL_ITEM_DATA, ModifyWallItemDataComposer); this._composers.set(OutgoingHeader.BOT_PLACE, BotPlaceComposer); this._composers.set(OutgoingHeader.BOT_PICKUP, BotRemoveComposer); this._composers.set(OutgoingHeader.BOT_SKILL_SAVE, BotSkillSaveComposer); this._composers.set(OutgoingHeader.PET_PLACE, PetPlaceComposer); this._composers.set(OutgoingHeader.PET_MOVE, PetMoveComposer); this._composers.set(OutgoingHeader.PET_PICKUP, PetRemoveComposer); + this._composers.set(OutgoingHeader.SET_ITEM_DATA, SetItemDataMessageComposer); + this._composers.set(OutgoingHeader.SET_OBJECT_DATA, SetObjectDataMessageComposer); // FURNITURE this._composers.set(OutgoingHeader.FURNITURE_ALIASES, FurnitureAliasesComposer); - this._composers.set(OutgoingHeader.FURNITURE_GUILD_INFO, FurnitureGuildInfoComposer); + this._composers.set(OutgoingHeader.FURNITURE_GROUP_INFO, FurnitureGroupInfoComposer); this._composers.set(OutgoingHeader.FURNITURE_PICKUP, FurniturePickupComposer); this._composers.set(OutgoingHeader.FURNITURE_PLACE, FurniturePlaceComposer); this._composers.set(OutgoingHeader.ITEM_PAINT, FurniturePlacePaintComposer); this._composers.set(OutgoingHeader.FURNITURE_POSTIT_PLACE, FurniturePostItPlaceComposer); + this._composers.set(OutgoingHeader.FURNITURE_POSTIT_SAVE_STICKY_POLE, FurniturePostItSaveStickyPoleComposer); + this._composers.set(OutgoingHeader.CONTROL_YOUTUBE_DISPLAY_PLAYBACK, ControlYoutubeDisplayPlaybackMessageComposer); + this._composers.set(OutgoingHeader.GET_YOUTUBE_DISPLAY_STATUS, GetYoutubeDisplayStatusMessageComposer); + this._composers.set(OutgoingHeader.SET_YOUTUBE_DISPLAY_PLAYLIST, SetYoutubeDisplayPlaylistMessageComposer); // FLOOR this._composers.set(OutgoingHeader.FURNITURE_FLOOR_UPDATE, FurnitureFloorUpdateComposer); @@ -1021,13 +1212,12 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.ONE_WAY_DOOR_CLICK, FurnitureOneWayDoorComposer); this._composers.set(OutgoingHeader.ITEM_EXCHANGE_REDEEM, FurnitureExchangeComposer); this._composers.set(OutgoingHeader.ITEM_CLOTHING_REDEEM, RedeemItemClothingComposer); - this._composers.set(OutgoingHeader.ITEM_SAVE_BACKGROUND, RoomAdsUpdateComposer); - // MAPPING - this._composers.set(OutgoingHeader.ROOM_MODEL, RoomModelComposer); - this._composers.set(OutgoingHeader.ROOM_MODEL_BLOCKED_TILES, RoomBlockedTilesComposer); - this._composers.set(OutgoingHeader.ROOM_MODEL_DOOR, RoomDoorSettingsComposer); - this._composers.set(OutgoingHeader.ROOM_MODEL_SAVE, RoomModelSaveComposer); + // LAYOUT + this._composers.set(OutgoingHeader.ROOM_MODEL, GetRoomEntryDataMessageComposer); + this._composers.set(OutgoingHeader.GET_OCCUPIED_TILES, GetOccupiedTilesMessageComposer); + this._composers.set(OutgoingHeader.GET_ROOM_ENTRY_TILE, GetRoomEntryTileMessageComposer); + this._composers.set(OutgoingHeader.ROOM_MODEL_SAVE, UpdateFloorPropertiesMessageComposer); // UNIT this._composers.set(OutgoingHeader.UNIT_ACTION, RoomUnitActionComposer); @@ -1059,6 +1249,7 @@ export class NitroMessages implements IMessageConfiguration // USER this._composers.set(OutgoingHeader.APPROVE_NAME, ApproveNameMessageComposer); this._composers.set(OutgoingHeader.USER_RESPECT, UserRespectComposer); + this._composers.set(OutgoingHeader.SCR_GET_KICKBACK_INFO, ScrGetKickbackInfoMessageComposer); // DATA this._composers.set(OutgoingHeader.USER_IGNORED, GetIgnoredUsersComposer); @@ -1070,6 +1261,7 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.USER_HOME_ROOM, UserHomeRoomComposer); this._composers.set(OutgoingHeader.USER_MOTTO, UserMottoComposer); this._composers.set(OutgoingHeader.USER_PROFILE, UserProfileComposer); + this._composers.set(OutgoingHeader.USER_PROFILE_BY_NAME, GetExtendedProfileByNameMessageComposer); this._composers.set(OutgoingHeader.MESSENGER_RELATIONSHIPS, UserRelationshipsComposer); // MANNEQUIN @@ -1082,13 +1274,16 @@ export class NitroMessages implements IMessageConfiguration // INVENTORY // MARKETPLACE - this._composers.set(OutgoingHeader.MARKETPLACE_CONFIG, MarketplaceRequestComposer); - this._composers.set(OutgoingHeader.MARKETPLACE_SELL_ITEM, MarketplaceSellItemComposer); - this._composers.set(OutgoingHeader.MARKETPLACE_REQUEST_OWN_ITEMS, MarketplaceRequestOwnItemsComposer); - this._composers.set(OutgoingHeader.MARKETPLACE_TAKE_BACK_ITEM, MarketplaceTakeItemBackComposer); - this._composers.set(OutgoingHeader.MARKETPLACE_REQUEST_OFFERS, MarketplaceRequestOffersComposer); - this._composers.set(OutgoingHeader.MARKETPLACE_BUY_OFFER, MarketplaceBuyOfferComposer); - this._composers.set(OutgoingHeader.MARKETPLACE_REDEEM_CREDITS, MarketplaceRedeemCreditsComposer); + this._composers.set(OutgoingHeader.MARKETPLACE_CONFIG, GetMarketplaceConfigurationMessageComposer); + this._composers.set(OutgoingHeader.MARKETPLACE_SELL_ITEM, MakeOfferMessageComposer); + this._composers.set(OutgoingHeader.MARKETPLACE_REQUEST_OWN_ITEMS, GetMarketplaceOwnOffersMessageComposer); + this._composers.set(OutgoingHeader.MARKETPLACE_TAKE_BACK_ITEM, CancelMarketplaceOfferMessageComposer); + this._composers.set(OutgoingHeader.MARKETPLACE_REQUEST_OFFERS, GetMarketplaceOffersMessageComposer); + this._composers.set(OutgoingHeader.MARKETPLACE_BUY_OFFER, BuyMarketplaceOfferMessageComposer); + this._composers.set(OutgoingHeader.MARKETPLACE_REDEEM_CREDITS, RedeemMarketplaceOfferCreditsMessageComposer); + this._composers.set(OutgoingHeader.MARKETPLACE_BUY_TOKENS, BuyMarketplaceTokensMessageComposer); + this._composers.set(OutgoingHeader.REQUEST_SELL_ITEM, GetMarketplaceCanMakeOfferComposer); + this._composers.set(OutgoingHeader.REQUEST_MARKETPLACE_ITEM_STATS, GetMarketplaceItemStatsComposer); // BOTS this._composers.set(OutgoingHeader.USER_BOTS, GetBotInventoryComposer); @@ -1102,24 +1297,28 @@ export class NitroMessages implements IMessageConfiguration // SUBSCRIPTION this._composers.set(OutgoingHeader.USER_SUBSCRIPTION, UserSubscriptionComposer); - // MODTOOL - this._composers.set(OutgoingHeader.MODTOOL_REQUEST_ROOM_INFO, ModtoolRequestRoomInfoComposer); - this._composers.set(OutgoingHeader.MODTOOL_CHANGE_ROOM_SETTINGS, ModtoolChangeRoomSettingsComposer); - this._composers.set(OutgoingHeader.MODTOOL_REQUEST_USER_CHATLOG, ModtoolRequestUserChatlogComposer); - this._composers.set(OutgoingHeader.MODTOOL_REQUEST_ROOM_CHATLOG, ModtoolRequestRoomChatlogComposer); - this._composers.set(OutgoingHeader.MOD_TOOL_USER_INFO, ModtoolRequestUserInfoComposer); - this._composers.set(OutgoingHeader.MODTOOL_SANCTION_ALERT, ModtoolSanctionAlertComposer); - this._composers.set(OutgoingHeader.MODTOOL_SANCTION_BAN, ModtoolSanctionBanComposer); - this._composers.set(OutgoingHeader.MODTOOL_SANCTION_KICK, ModtoolSanctionKickComposer); - this._composers.set(OutgoingHeader.MODTOOL_SANCTION_TRADELOCK, ModtoolSanctionTradelockComposer); - this._composers.set(OutgoingHeader.MODTOOL_ALERTEVENT, ModtoolEventAlertComposer); - this._composers.set(OutgoingHeader.MODTOOL_SANCTION_MUTE, ModtoolSanctionMuteComposer); - this._composers.set(OutgoingHeader.MODTOOL_REQUEST_USER_ROOMS, ModtoolRequestUserRoomsComposer); - this._composers.set(OutgoingHeader.MODTOOL_ROOM_ALERT, ModtoolRoomAlertComposer); - - // WARDROBE - this._composers.set(OutgoingHeader.USER_WARDROBE_PAGE, UserWardrobePageComposer); - this._composers.set(OutgoingHeader.USER_WARDROBE_SAVE, UserWardrobeSaveComposer); + // MODERATION + this._composers.set(OutgoingHeader.MODTOOL_REQUEST_ROOM_INFO, GetModeratorRoomInfoMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_CHANGE_ROOM_SETTINGS, ModerateRoomMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_REQUEST_USER_CHATLOG, GetUserChatlogMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_REQUEST_ROOM_CHATLOG, GetRoomChatlogMessageComposer); + this._composers.set(OutgoingHeader.MOD_TOOL_USER_INFO, GetModeratorUserInfoMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_SANCTION_ALERT, ModAlertMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_SANCTION_BAN, ModBanMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_SANCTION_KICK, ModKickMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_SANCTION_TRADELOCK, ModTradingLockMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_ALERTEVENT, ModMessageMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_SANCTION_MUTE, ModMuteMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_REQUEST_USER_ROOMS, GetRoomVisitsMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_ROOM_ALERT, ModeratorActionMessageComposer); + this._composers.set(OutgoingHeader.CLOSE_ISSUE_DEFAULT_ACTION, CloseIssueDefaultActionMessageComposer); + this._composers.set(OutgoingHeader.CLOSE_ISSUES, CloseIssuesMessageComposer); + this._composers.set(OutgoingHeader.DEFAULT_SANCTION, DefaultSanctionMessageComposer); + this._composers.set(OutgoingHeader.GET_CFH_CHATLOG, GetCfhChatlogMessageComposer); + this._composers.set(OutgoingHeader.MODTOOL_PREFERENCES, ModToolPreferencesComposer); + this._composers.set(OutgoingHeader.MODTOOL_SANCTION, ModToolSanctionComposer); + this._composers.set(OutgoingHeader.PICK_ISSUES, PickIssuesMessageComposer); + this._composers.set(OutgoingHeader.RELEASE_ISSUES, ReleaseIssuesMessageComposer); // SETTINGS this._composers.set(OutgoingHeader.USER_SETTINGS_CAMERA, UserSettingsCameraFollowComposer); @@ -1149,20 +1348,19 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.REJECT_QUEST, RejectQuestMessageComposer); this._composers.set(OutgoingHeader.START_CAMPAIGN, StartCampaignMessageComposer); - // CRAFTING - this._composers.set(OutgoingHeader.CRAFT, CraftComposer); - this._composers.set(OutgoingHeader.CRAFT_SECRET, CraftSecretComposer); - this._composers.set(OutgoingHeader.GET_CRAFTABLE_PRODUCTS, GetCraftableProductsComposer); - this._composers.set(OutgoingHeader.GET_CRAFTING_RECIPE, GetCraftingRecipeComposer); - this._composers.set(OutgoingHeader.GET_CRAFTING_RECIPES_AVAILABLE, GetCraftingRecipesAvailableComposer); + // SOUNDS + this._composers.set(OutgoingHeader.GET_SOUND_SETTINGS, GetSoundSettingsComposer); + this._composers.set(OutgoingHeader.ADD_JUKEBOX_DISK, AddJukeboxDiskComposer); + this._composers.set(OutgoingHeader.GET_JUKEBOX_PLAYLIST, GetJukeboxPlayListMessageComposer); + this._composers.set(OutgoingHeader.GET_NOW_PLAYING, GetNowPlayingMessageComposer); + this._composers.set(OutgoingHeader.GET_OFFICIAL_SONG_ID, GetOfficialSongIdMessageComposer); + this._composers.set(OutgoingHeader.GET_SONG_INFO, GetSongInfoMessageComposer); + this._composers.set(OutgoingHeader.GET_SOUND_MACHINE_PLAYLIST, GetSoundMachinePlayListMessageComposer); + this._composers.set(OutgoingHeader.GET_USER_SONG_DISKS, GetUserSongDisksMessageComposer); + this._composers.set(OutgoingHeader.REMOVE_JUKEBOX_DISK, RemoveJukeboxDiskComposer); - // CAMERA - this._composers.set(OutgoingHeader.REQUEST_CAMERA_CONFIGURATION, RequestCameraConfigurationComposer); - this._composers.set(OutgoingHeader.RENDER_ROOM, RenderRoomMessageComposer); - this._composers.set(OutgoingHeader.RENDER_ROOM_THUMBNAIL, RenderRoomThumbnailMessageComposer); - this._composers.set(OutgoingHeader.PURCHASE_PHOTO, PurchasePhotoMessageComposer); - this._composers.set(OutgoingHeader.PUBLISH_PHOTO, PublishPhotoMessageComposer); - this._composers.set(OutgoingHeader.PHOTO_COMPETITION, PhotoCompetitionMessageComposer); + // TALENT + this._composers.set(OutgoingHeader.HELPER_TALENT_TRACK, TalentTrackComposer); } public get events(): Map diff --git a/src/nitro/communication/demo/NitroCommunicationDemo.ts b/src/nitro/communication/demo/NitroCommunicationDemo.ts index e61307f2..a67dae46 100644 --- a/src/nitro/communication/demo/NitroCommunicationDemo.ts +++ b/src/nitro/communication/demo/NitroCommunicationDemo.ts @@ -6,10 +6,10 @@ import { Nitro } from '../../Nitro'; import { INitroCommunicationManager } from '../INitroCommunicationManager'; import { ClientPingEvent } from '../messages/incoming/client/ClientPingEvent'; import { AuthenticatedEvent } from '../messages/incoming/security/AuthenticatedEvent'; -import { ClientPongComposer } from '../messages/outgoing/client/ClientPongComposer'; -import { ClientReleaseVersionComposer } from '../messages/outgoing/client/ClientReleaseVersionComposer'; -import { InfoRetrieveBaseMessageComposer } from '../messages/outgoing/handshake/InfoRetrieveBaseMessageComposer'; -import { SecurityTicketComposer } from '../messages/outgoing/handshake/SecurityTicketComposer'; +import { ClientHelloMessageComposer } from '../messages/outgoing/handshake/ClientHelloMessageComposer'; +import { InfoRetrieveMessageComposer } from '../messages/outgoing/handshake/InfoRetrieveMessageComposer'; +import { PongMessageComposer } from '../messages/outgoing/handshake/PongMessageComposer'; +import { SSOTicketMessageComposer } from '../messages/outgoing/handshake/SSOTicketMessageComposer'; import { NitroCommunicationDemoEvent } from './NitroCommunicationDemoEvent'; export class NitroCommunicationDemo extends NitroManager @@ -88,7 +88,7 @@ export class NitroCommunicationDemo extends NitroManager this.startHandshake(connection); - connection.send(new ClientReleaseVersionComposer(null, null, null, null)); + connection.send(new ClientHelloMessageComposer(null, null, null, null)); this.tryAuthentication(connection); } @@ -129,7 +129,7 @@ export class NitroCommunicationDemo extends NitroManager return; } - connection.send(new SecurityTicketComposer(this._sso, Nitro.instance.time)); + connection.send(new SSOTicketMessageComposer(this._sso, Nitro.instance.time)); } private onClientPingEvent(event: ClientPingEvent): void @@ -149,7 +149,7 @@ export class NitroCommunicationDemo extends NitroManager //event.connection.send(new UserHomeRoomComposer(555)); - event.connection.send(new InfoRetrieveBaseMessageComposer()); + event.connection.send(new InfoRetrieveMessageComposer()); } public setSSO(sso: string): void @@ -195,7 +195,7 @@ export class NitroCommunicationDemo extends NitroManager if(!connection) return; - connection.send(new ClientPongComposer()); + connection.send(new PongMessageComposer()); } private dispatchCommunicationDemoEvent(type: string, connection: IConnection): void diff --git a/src/nitro/communication/messages/incoming/IncomingHeader.ts b/src/nitro/communication/messages/incoming/IncomingHeader.ts index ade297bf..f610a346 100644 --- a/src/nitro/communication/messages/incoming/IncomingHeader.ts +++ b/src/nitro/communication/messages/incoming/IncomingHeader.ts @@ -5,23 +5,22 @@ export class IncomingHeader public static AUTHENTICATION = -1; public static AVAILABILITY_STATUS = 2033; public static BUILDERS_CLUB_EXPIRED = 1452; - public static CATALOG_CLUB = 2405; - public static CATALOG_MODE = 3828; + public static CLUB_OFFERS = 2405; public static CATALOG_PAGE = 804; - public static CATALOG_PAGES = 1032; - public static CATALOG_PURCHASE = 869; - public static CATALOG_PURCHASE_FAILED = 1404; - public static CATALOG_PURCHASE_UNAVAILABLE = 3770; - public static CATALOG_SEARCH = 3388; - public static CATALOG_SOLD_OUT = 377; - public static CATALOG_UPDATED = 1866; - public static CFH_RESULT_MESSAGE = 934; + public static CATALOG_PAGE_LIST = 1032; + public static CATALOG_PURCHASE_OK = 869; + public static CATALOG_PURCHASE_ERROR = 1404; + public static CATALOG_PURCHASE_NOT_ALLOWED = 3770; + public static PRODUCT_OFFER = 3388; + public static LIMITED_SOLD_OUT = 377; + public static CATALOG_PUBLISHED = 1866; + public static CFH_RESULT_MESSAGE = 3635; public static CLIENT_LATENCY = 10; public static CLIENT_PING = 3928; public static DESKTOP_CAMPAIGN = 1745; public static DESKTOP_NEWS = 286; public static DESKTOP_VIEW = 122; - public static DISCOUNT_CONFIG = 2347; + public static BUNDLE_DISCOUNT_RULESET = 2347; public static FIRST_LOGIN_OF_DAY = 793; public static FURNITURE_ALIASES = 1723; public static FURNITURE_DATA = 2547; @@ -31,13 +30,15 @@ export class IncomingHeader public static FURNITURE_FLOOR_UPDATE = 3776; public static FURNITURE_ITEMDATA = 2202; public static FURNITURE_STATE = 2376; + public static FURNITURE_GROUP_CONTEXT_MENU_INFO = 3293; + public static FURNITURE_POSTIT_STICKY_POLE_OPEN = 2366; public static GAME_CENTER_ACHIEVEMENTS = 2265; public static GAME_CENTER_GAME_LIST = 222; public static GAME_CENTER_STATUS = 2893; public static GENERIC_ALERT = 3801; - public static GENERIC_ALERT_LINK = 2030; + public static MODERATOR_MESSAGE = 2030; public static GENERIC_ERROR = 1600; - public static GIFT_CONFIG = 2234; + public static GIFT_WRAPPER_CONFIG = 2234; public static GROUP_BADGES = 2402; public static GROUP_CREATE_OPTIONS = 2159; public static GROUP_FORUM_INFO = 3011; @@ -49,6 +50,7 @@ export class IncomingHeader public static GROUP_MEMBERS = 1200; public static GROUP_MEMBERS_REFRESH = 2445; public static GROUP_MEMBER_REMOVE_CONFIRM = 1876; + public static GROUP_PURCHASED = 2808; public static GROUP_SETTINGS = 3965; public static GROUP_BADGE_PARTS = 2238; public static ITEM_DIMMER_SETTINGS = 2710; @@ -81,7 +83,6 @@ export class IncomingHeader public static MESSENGER_UPDATE = 2800; public static MODERATION_REPORT_DISABLED = 1651; public static MODERATION_TOOL = 2696; - public static MODERATION_TOPICS = 325; public static MODERATION_USER_INFO = 2866; public static MOTD_MESSAGES = 2035; public static NAVIGATOR_CATEGORIES = 1562; @@ -134,7 +135,7 @@ export class IncomingHeader public static ROOM_SETTINGS_UPDATED = 3297; public static ROOM_SPECTATOR = 1033; public static ROOM_THICKNESS = 3547; - public static SECURITY_DEBUG = 3284; + public static INFO_FEED_ENABLE = 3284; public static SECURITY_MACHINE = 1488; public static MYSTERY_BOX_KEYS = 2833; public static TRADE_ACCEPTED = 2568; @@ -167,14 +168,13 @@ export class IncomingHeader public static USER_BADGES = 717; public static USER_BADGES_ADD = 2493; public static USER_BADGES_CURRENT = 1087; - public static USER_BOT_ADD = 1352; public static USER_BOT_REMOVE = 233; public static USER_BOTS = 3086; public static USER_CHANGE_NAME = 118; public static USER_CLOTHING = 1450; public static USER_CREDITS = 3475; public static USER_CURRENCY = 2018; - public static USER_CURRENCY_UPDATE = 2275; + public static ACTIVITY_POINT_NOTIFICATION = 2275; public static USER_EFFECTS = 340; public static USER_FAVORITE_ROOM = 2524; public static USER_FAVORITE_ROOM_COUNT = 151; @@ -215,22 +215,27 @@ export class IncomingHeader public static MODTOOL_ROOM_INFO = 1333; public static MODTOOL_USER_CHATLOG = 3377; public static MODTOOL_ROOM_CHATLOG = 3434; + public static MODTOOL_VISITED_ROOMS_USER = 1752; + public static MODERATOR_ACTION_RESULT = 2335; + public static ISSUE_DELETED = 3192; + public static ISSUE_INFO = 3609; + public static ISSUE_PICK_FAILED = 3150; + public static CFH_CHATLOG = 607; + public static MODERATOR_TOOL_PREFERENCES = 1576; public static LOVELOCK_FURNI_START = 3753; public static LOVELOCK_FURNI_FRIEND_COMFIRMED = 382; public static LOVELOCK_FURNI_FINISHED = 770; public static GIFT_RECEIVER_NOT_FOUND = 1517; public static GIFT_OPENED = 56; - public static HOTEL_WILL_SHUTDOWN = 1050; public static FLOOD_CONTROL = 566; public static REMAINING_MUTE = 826; public static USER_EFFECT_LIST = 340; public static USER_EFFECT_LIST_ADD = 2867; public static USER_EFFECT_LIST_REMOVE = 2228; public static USER_EFFECT_ACTIVATE = 1959; - public static CATALOG_CLUB_GIFTS = 619; + public static CLUB_GIFT_INFO = 619; public static REDEEM_VOUCHER_ERROR = 714; public static REDEEM_VOUCHER_OK = 3336; - public static MODTOOL_VISITED_ROOMS_USER = 1752; public static IN_CLIENT_LINK = 2023; public static BOT_COMMAND_CONFIGURATION = 1618; public static HAND_ITEM_RECEIVED = 354; @@ -271,4 +276,91 @@ export class IncomingHeader public static COMPETITION_STATUS = 133; public static INIT_CAMERA = 3878; public static THUMBNAIL_STATUS = 3595; + public static ACHIEVEMENT_NOTIFICATION = 806; + public static CLUB_GIFT_NOTIFICATION = 2188; + public static INTERSTITIAL_MESSAGE = 1808; + public static ROOM_AD_ERROR = 1759; + public static AVAILABILITY_TIME = 600; + public static HOTEL_CLOSED_AND_OPENS = 3728; + public static HOTEL_CLOSES_AND_OPENS_AT = 2771; + public static HOTEL_WILL_CLOSE_MINUTES = 1050; + public static HOTEL_MAINTENANCE = 1350; + public static JUKEBOX_PLAYLIST_FULL = 105; + public static JUKEBOX_SONG_DISKS = 34; + public static NOW_PLAYING = 469; + public static OFFICIAL_SONG_ID = 1381; + public static PLAYLIST = 1748; + public static PLAYLIST_SONG_ADDED = 1140; + public static TRAX_SONG_INFO = 3365; + public static USER_SONG_DISKS_INVENTORY = 2602; + public static CHECK_USER_NAME = 563; + public static CFH_SANCTION = 2782; + public static CFH_TOPICS = 325; + public static CFH_SANCTION_STATUS = 2221; + public static CAMPAIGN_CALENDAR_DATA = 2531; + public static CAMPAIGN_CALENDAR_DOOR_OPENED = 2551; + public static BUILDERS_CLUB_FURNI_COUNT = 3828; + public static BUILDERS_CLUB_SUBSCRIPTION = 1452; + public static CATALOG_PAGE_EXPIRATION = 2668; + public static CATALOG_EARLIEST_EXPIRY = 2515; + public static CLUB_GIFT_SELECTED = 659; + public static TARGET_OFFER_NOT_FOUND = 1237; + public static TARGET_OFFER = 119; + public static DIRECT_SMS_CLUB_BUY = 195; + public static ROOM_AD_PURCHASE = 2468; + public static NOT_ENOUGH_BALANCE = 3914; + public static LIMITED_OFFER_APPEARING_NEXT = 44; + public static IS_OFFER_GIFTABLE = 761; + public static CLUB_EXTENDED_OFFER = 3964; + public static SEASONAL_CALENDAR_OFFER = 1889; + public static COMPETITION_ENTRY_SUBMIT = 1177; + public static COMPETITION_VOTING_INFO = 3506; + public static COMPETITION_TIMING_CODE = 1745; + public static COMPETITION_USER_PART_OF = 3841; + public static COMPETITION_NO_OWNED_ROOMS = 2064; + public static COMPETITION_SECONDS_UNTIL = 3926; + public static BADGE_POINT_LIMITS = 2501; + public static BADGE_REQUEST_FULFILLED = 2998; + public static HELPER_TALENT_TRACK = 3406; + public static USER_BANNED = 1683; + public static BOT_RECEIVED = 3684; + public static PET_LEVEL_NOTIFICATION = 859; + public static PET_RECEIVED = 1111; + public static MODERATION_CAUTION = 1890; + public static YOUTUBE_CONTROL_VIDEO = 1554; + public static YOUTUBE_DISPLAY_PLAYLISTS = 1112; + public static YOUTUBE_DISPLAY_VIDEO = 1411; + public static CFH_DISABLED_NOTIFY = 1651; + public static QUESTION = 2665; + public static POLL_CONTENTS = 2997; + public static POLL_ERROR = 662; + public static POLL_OFFER = 3785; + public static QUESTION_ANSWERED = 2589; + public static QUESTION_FINISHED = 1066; + public static CFH_PENDING_CALLS = 1121; + public static GUIDE_ON_DUTY_STATUS = 1548; + public static GUIDE_SESSION_ATTACHED = 1591; + public static GUIDE_SESSION_DETACHED = 138; + public static GUIDE_SESSION_ENDED = 1456; + public static GUIDE_SESSION_ERROR = 673; + public static GUIDE_SESSION_INVITED_TO_GUIDE_ROOM = 219; + public static GUIDE_SESSION_MESSAGE = 841; + public static GUIDE_SESSION_PARTNER_IS_TYPING = 1016; + public static GUIDE_SESSION_REQUESTER_ROOM = 1847; + public static GUIDE_SESSION_STARTED = 3209; + public static GUIDE_TICKET_CREATION_RESULT = 3285; + public static GUIDE_TICKET_RESOLUTION = 2674; + public static GUIDE_REPORTING_STATUS = 3463; + public static HOTEL_MERGE_NAME_CHANGE = 1663; + public static ISSUE_CLOSE_NOTIFICATION = 934; + public static QUIZ_DATA = 2927; + public static QUIZ_RESULTS = 2772; + public static CFH_PENDING_CALLS_DELETED = 77; + public static CFH_REPLY = 3796; + public static CHAT_REVIEW_SESSION_DETACHED = 30; + public static CHAT_REVIEW_SESSION_OFFERED_TO_GUIDE = 735; + public static CHAT_REVIEW_SESSION_RESULTS = 3276; + public static CHAT_REVIEW_SESSION_STARTED = 143; + public static CHAT_REVIEW_SESSION_VOTING_STATUS = 1829; + public static SCR_SEND_KICKBACK_INFO = 3277; } diff --git a/src/nitro/communication/messages/incoming/advertisement/InterstitialMessageEvent.ts b/src/nitro/communication/messages/incoming/advertisement/InterstitialMessageEvent.ts new file mode 100644 index 00000000..865a949e --- /dev/null +++ b/src/nitro/communication/messages/incoming/advertisement/InterstitialMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { InterstitialMessageParser } from '../../parser'; + +export class InterstitialMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, InterstitialMessageParser); + } + + public getParser(): InterstitialMessageParser + { + return this.parser as InterstitialMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/advertisement/RoomAdErrorEvent.ts b/src/nitro/communication/messages/incoming/advertisement/RoomAdErrorEvent.ts new file mode 100644 index 00000000..3d15bde8 --- /dev/null +++ b/src/nitro/communication/messages/incoming/advertisement/RoomAdErrorEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { RoomAdErrorMessageParser } from '../../parser'; + +export class RoomAdErrorEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, RoomAdErrorMessageParser); + } + + public getParser(): RoomAdErrorMessageParser + { + return this.parser as RoomAdErrorMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/advertisement/index.ts b/src/nitro/communication/messages/incoming/advertisement/index.ts new file mode 100644 index 00000000..7727ffc0 --- /dev/null +++ b/src/nitro/communication/messages/incoming/advertisement/index.ts @@ -0,0 +1,2 @@ +export * from './InterstitialMessageEvent'; +export * from './RoomAdErrorEvent'; diff --git a/src/nitro/communication/messages/incoming/availability/AvailabilityStatusMessageEvent.ts b/src/nitro/communication/messages/incoming/availability/AvailabilityStatusMessageEvent.ts index 8d1cfa30..6a580165 100644 --- a/src/nitro/communication/messages/incoming/availability/AvailabilityStatusMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/availability/AvailabilityStatusMessageEvent.ts @@ -13,4 +13,4 @@ export class AvailabilityStatusMessageEvent extends MessageEvent implements IMes { return this.parser as AvailabilityStatusMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/availability/AvailabilityTimeMessageEvent.ts b/src/nitro/communication/messages/incoming/availability/AvailabilityTimeMessageEvent.ts new file mode 100644 index 00000000..5784493f --- /dev/null +++ b/src/nitro/communication/messages/incoming/availability/AvailabilityTimeMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { AvailabilityTimeMessageParser } from '../../parser'; + +export class AvailabilityTimeMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, AvailabilityTimeMessageParser); + } + + public getParser(): AvailabilityTimeMessageParser + { + return this.parser as AvailabilityTimeMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/availability/HotelClosedAndOpensEvent.ts b/src/nitro/communication/messages/incoming/availability/HotelClosedAndOpensEvent.ts new file mode 100644 index 00000000..a1e18b0b --- /dev/null +++ b/src/nitro/communication/messages/incoming/availability/HotelClosedAndOpensEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { HotelClosedAndOpensMessageParser } from '../../parser'; + +export class HotelClosedAndOpensEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, HotelClosedAndOpensMessageParser); + } + + public getParser(): HotelClosedAndOpensMessageParser + { + return this.parser as HotelClosedAndOpensMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/availability/HotelClosesAndWillOpenAtEvent.ts b/src/nitro/communication/messages/incoming/availability/HotelClosesAndWillOpenAtEvent.ts new file mode 100644 index 00000000..b147dbb9 --- /dev/null +++ b/src/nitro/communication/messages/incoming/availability/HotelClosesAndWillOpenAtEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { HotelClosesAndWillOpenAtMessageParser } from '../../parser'; + +export class HotelClosesAndWillOpenAtEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, HotelClosesAndWillOpenAtMessageParser); + } + + public getParser(): HotelClosesAndWillOpenAtMessageParser + { + return this.parser as HotelClosesAndWillOpenAtMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/availability/HotelWillCloseInMinutesEvent.ts b/src/nitro/communication/messages/incoming/availability/HotelWillCloseInMinutesEvent.ts new file mode 100644 index 00000000..3f8dc247 --- /dev/null +++ b/src/nitro/communication/messages/incoming/availability/HotelWillCloseInMinutesEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { HotelWillCloseInMinutesMessageParser } from '../../parser'; + +export class HotelWillCloseInMinutesEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, HotelWillCloseInMinutesMessageParser); + } + + public getParser(): HotelWillCloseInMinutesMessageParser + { + return this.parser as HotelWillCloseInMinutesMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/availability/MaintenanceStatusMessageEvent.ts b/src/nitro/communication/messages/incoming/availability/MaintenanceStatusMessageEvent.ts new file mode 100644 index 00000000..54f665da --- /dev/null +++ b/src/nitro/communication/messages/incoming/availability/MaintenanceStatusMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { MaintenanceStatusMessageParser } from '../../parser'; + +export class MaintenanceStatusMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, MaintenanceStatusMessageParser); + } + + public getParser(): MaintenanceStatusMessageParser + { + return this.parser as MaintenanceStatusMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/availability/index.ts b/src/nitro/communication/messages/incoming/availability/index.ts index 0c98a8ad..8d657b57 100644 --- a/src/nitro/communication/messages/incoming/availability/index.ts +++ b/src/nitro/communication/messages/incoming/availability/index.ts @@ -1 +1,6 @@ export * from './AvailabilityStatusMessageEvent'; +export * from './AvailabilityTimeMessageEvent'; +export * from './HotelClosedAndOpensEvent'; +export * from './HotelClosesAndWillOpenAtEvent'; +export * from './HotelWillCloseInMinutesEvent'; +export * from './MaintenanceStatusMessageEvent'; diff --git a/src/nitro/communication/messages/incoming/avatar/ChangeUserNameResultMessageEvent.ts b/src/nitro/communication/messages/incoming/avatar/ChangeUserNameResultMessageEvent.ts index 297b8b21..d75817fa 100644 --- a/src/nitro/communication/messages/incoming/avatar/ChangeUserNameResultMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/avatar/ChangeUserNameResultMessageEvent.ts @@ -1,25 +1,25 @@ import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { ChangeNameUpdateParser } from '../../parser/avatar/ChangeNameUpdateParser'; +import { ChangeUserNameResultMessageParser } from '../../parser/avatar/ChangeUserNameResultMessageParser'; export class ChangeUserNameResultMessageEvent extends MessageEvent implements IMessageEvent { - public static NAME_OK: number = 0; - public static ERROR_NAME_REQUIRED: number = 1; - public static ERROR_NAME_TOO_SHORT: number = 2; - public static ERROR_NAME_TOO_LONG: number = 3; - public static ERROR_NAME_NOT_VALID: number = 4; - public static ERROR_NAME_IN_USE: number = 5; - public static ERROR_NAME_CHANGE_NOT_ALLOWED: number = 6; - public static ERROR_MERGE_HOTEL_DOWN: number = 7; + public static NAME_OK: number = 0; + public static ERROR_NAME_REQUIRED: number = 1; + public static ERROR_NAME_TOO_SHORT: number = 2; + public static ERROR_NAME_TOO_LONG: number = 3; + public static ERROR_NAME_NOT_VALID: number = 4; + public static ERROR_NAME_IN_USE: number = 5; + public static ERROR_NAME_CHANGE_NOT_ALLOWED: number = 6; + public static ERROR_MERGE_HOTEL_DOWN: number = 7; constructor(callBack: Function) { - super(callBack, ChangeNameUpdateParser); + super(callBack, ChangeUserNameResultMessageParser); } - public getParser(): ChangeNameUpdateParser + public getParser(): ChangeUserNameResultMessageParser { - return this.parser as ChangeNameUpdateParser; + return this.parser as ChangeUserNameResultMessageParser; } } diff --git a/src/nitro/communication/messages/incoming/avatar/CheckUserNameResultMessageEvent.ts b/src/nitro/communication/messages/incoming/avatar/CheckUserNameResultMessageEvent.ts new file mode 100644 index 00000000..598f5a47 --- /dev/null +++ b/src/nitro/communication/messages/incoming/avatar/CheckUserNameResultMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CheckUserNameResultMessageParser } from '../../parser/avatar/CheckUserNameResultMessageParser'; + +export class CheckUserNameResultMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CheckUserNameResultMessageParser); + } + + public getParser(): CheckUserNameResultMessageParser + { + return this.parser as CheckUserNameResultMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/avatar/FigureUpdateEvent.ts b/src/nitro/communication/messages/incoming/avatar/FigureUpdateEvent.ts new file mode 100644 index 00000000..876cea76 --- /dev/null +++ b/src/nitro/communication/messages/incoming/avatar/FigureUpdateEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { FigureUpdateParser } from '../../parser'; + +export class FigureUpdateEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, FigureUpdateParser); + } + + public getParser(): FigureUpdateParser + { + return this.parser as FigureUpdateParser; + } +} diff --git a/src/nitro/communication/messages/incoming/avatar/OutfitData.ts b/src/nitro/communication/messages/incoming/avatar/OutfitData.ts new file mode 100644 index 00000000..9c29c36c --- /dev/null +++ b/src/nitro/communication/messages/incoming/avatar/OutfitData.ts @@ -0,0 +1,30 @@ +import { IMessageDataWrapper } from '../../../../../core'; + +export class OutfitData +{ + private _slotId: number; + private _figureString: string; + private _gender: string; + + constructor(wrapper: IMessageDataWrapper) + { + this._slotId = wrapper.readInt(); + this._figureString = wrapper.readString(); + this._gender = wrapper.readString(); + } + + public get slotId(): number + { + return this._slotId; + } + + public get figureString(): string + { + return this._figureString; + } + + public get gender(): string + { + return this._gender; + } +} diff --git a/src/nitro/communication/messages/incoming/avatar/WardrobeMessageEvent.ts b/src/nitro/communication/messages/incoming/avatar/WardrobeMessageEvent.ts new file mode 100644 index 00000000..511aadcc --- /dev/null +++ b/src/nitro/communication/messages/incoming/avatar/WardrobeMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { WardrobeMessageParser } from '../../parser'; + +export class WardrobeMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, WardrobeMessageParser); + } + + public getParser(): WardrobeMessageParser + { + return this.parser as WardrobeMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/avatar/index.ts b/src/nitro/communication/messages/incoming/avatar/index.ts index 53faf063..0c23b82c 100644 --- a/src/nitro/communication/messages/incoming/avatar/index.ts +++ b/src/nitro/communication/messages/incoming/avatar/index.ts @@ -1 +1,5 @@ export * from './ChangeUserNameResultMessageEvent'; +export * from './CheckUserNameResultMessageEvent'; +export * from './FigureUpdateEvent'; +export * from './OutfitData'; +export * from './WardrobeMessageEvent'; diff --git a/src/nitro/communication/messages/incoming/inventory/bots/BotAddedToInventoryEvent.ts b/src/nitro/communication/messages/incoming/bots/BotAddedToInventoryEvent.ts similarity index 51% rename from src/nitro/communication/messages/incoming/inventory/bots/BotAddedToInventoryEvent.ts rename to src/nitro/communication/messages/incoming/bots/BotAddedToInventoryEvent.ts index fe55b447..710d708e 100644 --- a/src/nitro/communication/messages/incoming/inventory/bots/BotAddedToInventoryEvent.ts +++ b/src/nitro/communication/messages/incoming/bots/BotAddedToInventoryEvent.ts @@ -1,6 +1,6 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { BotAddedToInventoryParser } from '../../../parser/inventory/bots/BotAddedToInventoryParser'; +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { BotAddedToInventoryParser } from '../../parser/bots/BotAddedToInventoryParser'; export class BotAddedToInventoryEvent extends MessageEvent implements IMessageEvent { @@ -13,4 +13,4 @@ export class BotAddedToInventoryEvent extends MessageEvent implements IMessageEv { return this.parser as BotAddedToInventoryParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/bots/BotInventoryMessageEvent.ts b/src/nitro/communication/messages/incoming/bots/BotInventoryMessageEvent.ts similarity index 51% rename from src/nitro/communication/messages/incoming/inventory/bots/BotInventoryMessageEvent.ts rename to src/nitro/communication/messages/incoming/bots/BotInventoryMessageEvent.ts index 421e35a7..a1473591 100644 --- a/src/nitro/communication/messages/incoming/inventory/bots/BotInventoryMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/bots/BotInventoryMessageEvent.ts @@ -1,6 +1,6 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { BotInventoryMessageParser } from '../../../parser/inventory/bots/BotInventoryMessageParser'; +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { BotInventoryMessageParser } from '../../parser/bots/BotInventoryMessageParser'; export class BotInventoryMessageEvent extends MessageEvent implements IMessageEvent { @@ -13,4 +13,4 @@ export class BotInventoryMessageEvent extends MessageEvent implements IMessageEv { return this.parser as BotInventoryMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/bots/BotReceivedMessageEvent.ts b/src/nitro/communication/messages/incoming/bots/BotReceivedMessageEvent.ts new file mode 100644 index 00000000..2a1d77a6 --- /dev/null +++ b/src/nitro/communication/messages/incoming/bots/BotReceivedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { BotReceivedMessageParser } from '../../parser/bots/BotReceivedMessageParser'; + +export class BotReceivedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, BotReceivedMessageParser); + } + + public getParser(): BotReceivedMessageParser + { + return this.parser as BotReceivedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/inventory/bots/BotRemovedFromInventoryEvent.ts b/src/nitro/communication/messages/incoming/bots/BotRemovedFromInventoryEvent.ts similarity index 52% rename from src/nitro/communication/messages/incoming/inventory/bots/BotRemovedFromInventoryEvent.ts rename to src/nitro/communication/messages/incoming/bots/BotRemovedFromInventoryEvent.ts index e2400316..ffe8fdc7 100644 --- a/src/nitro/communication/messages/incoming/inventory/bots/BotRemovedFromInventoryEvent.ts +++ b/src/nitro/communication/messages/incoming/bots/BotRemovedFromInventoryEvent.ts @@ -1,6 +1,6 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { BotRemovedFromInventoryParser } from '../../../parser/inventory/bots/BotRemovedFromInventoryParser'; +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { BotRemovedFromInventoryParser } from '../../parser/bots/BotRemovedFromInventoryParser'; export class BotRemovedFromInventoryEvent extends MessageEvent implements IMessageEvent { @@ -13,4 +13,4 @@ export class BotRemovedFromInventoryEvent extends MessageEvent implements IMessa { return this.parser as BotRemovedFromInventoryParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/bots/index.ts b/src/nitro/communication/messages/incoming/bots/index.ts similarity index 75% rename from src/nitro/communication/messages/incoming/inventory/bots/index.ts rename to src/nitro/communication/messages/incoming/bots/index.ts index c89ec936..dde10bf2 100644 --- a/src/nitro/communication/messages/incoming/inventory/bots/index.ts +++ b/src/nitro/communication/messages/incoming/bots/index.ts @@ -1,4 +1,4 @@ export * from './BotAddedToInventoryEvent'; -export * from './BotInventoryEvent'; export * from './BotInventoryMessageEvent'; +export * from './BotReceivedMessageEvent'; export * from './BotRemovedFromInventoryEvent'; diff --git a/src/nitro/communication/messages/incoming/callforhelp/CallForHelpCategoryData.ts b/src/nitro/communication/messages/incoming/callforhelp/CallForHelpCategoryData.ts new file mode 100644 index 00000000..45611642 --- /dev/null +++ b/src/nitro/communication/messages/incoming/callforhelp/CallForHelpCategoryData.ts @@ -0,0 +1,48 @@ +import { IDisposable, IMessageDataWrapper } from '../../../../../core'; +import { INamed } from '../moderation'; +import { CallForHelpTopicData } from './CallForHelpTopicData'; + +export class CallForHelpCategoryData implements INamed, IDisposable +{ + private _name: string; + private _topics: CallForHelpTopicData[]; + private _disposed: boolean; + + constructor(wrapper: IMessageDataWrapper) + { + this._topics = []; + this._name = wrapper.readString(); + + let count = wrapper.readInt(); + + while(count > 0) + { + this._topics.push(new CallForHelpTopicData(wrapper)); + + count--; + } + } + + public dispose(): void + { + if(this._disposed) return; + + this._disposed = true; + this._topics = null; + } + + public get disposed(): boolean + { + return this._disposed; + } + + public get name(): string + { + return this._name; + } + + public get topics(): CallForHelpTopicData[] + { + return this._topics; + } +} diff --git a/src/nitro/communication/messages/incoming/callforhelp/CallForHelpTopicData.ts b/src/nitro/communication/messages/incoming/callforhelp/CallForHelpTopicData.ts new file mode 100644 index 00000000..c41c3630 --- /dev/null +++ b/src/nitro/communication/messages/incoming/callforhelp/CallForHelpTopicData.ts @@ -0,0 +1,31 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { INamed } from '../moderation'; + +export class CallForHelpTopicData implements INamed +{ + private _name: string; + private _id: number; + private _consequence: string; + + constructor(wrapper: IMessageDataWrapper) + { + this._name = wrapper.readString(); + this._id = wrapper.readInt(); + this._consequence = wrapper.readString(); + } + + public get name(): string + { + return this._name; + } + + public get id(): number + { + return this._id; + } + + public get consequence(): string + { + return this._consequence; + } +} diff --git a/src/nitro/communication/messages/incoming/callforhelp/CfhSanctionMessageEvent.ts b/src/nitro/communication/messages/incoming/callforhelp/CfhSanctionMessageEvent.ts new file mode 100644 index 00000000..15762a6b --- /dev/null +++ b/src/nitro/communication/messages/incoming/callforhelp/CfhSanctionMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CfhSanctionMessageParser } from '../../parser/callforhelp/CfhSanctionMessageParser'; + +export class CfhSanctionMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CfhSanctionMessageParser); + } + + public getParser(): CfhSanctionMessageParser + { + return this.parser as CfhSanctionMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/callforhelp/CfhSanctionTypeData.ts b/src/nitro/communication/messages/incoming/callforhelp/CfhSanctionTypeData.ts new file mode 100644 index 00000000..6cdf23d4 --- /dev/null +++ b/src/nitro/communication/messages/incoming/callforhelp/CfhSanctionTypeData.ts @@ -0,0 +1,49 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { INamed } from '../moderation'; + +export class CfhSanctionTypeData implements INamed +{ + private _name: string; + private _sanctionLengthInHours: number; + private _probationDays: number; + private _avatarOnly: boolean; + private _tradeLockInfo: string = ''; + private _machineBanInfo: string = ''; + + constructor(wrapper: IMessageDataWrapper) + { + this._name = wrapper.readString(); + this._sanctionLengthInHours = wrapper.readInt(); + this._probationDays = wrapper.readInt(); + this._avatarOnly = wrapper.readBoolean(); + + if(wrapper.bytesAvailable) this._tradeLockInfo = wrapper.readString(); + + if(wrapper.bytesAvailable) this._machineBanInfo = wrapper.readString(); + } + + public get name(): string + { + return this._name; + } + + public get sanctionLengthInHours(): number + { + return this._sanctionLengthInHours; + } + + public get avatarOnly(): boolean + { + return this._avatarOnly; + } + + public get tradeLockInfo(): string + { + return this._tradeLockInfo; + } + + public get machineBanInfo(): string + { + return this._machineBanInfo; + } +} diff --git a/src/nitro/communication/messages/incoming/callforhelp/CfhTopicsInitEvent.ts b/src/nitro/communication/messages/incoming/callforhelp/CfhTopicsInitEvent.ts new file mode 100644 index 00000000..0b3b5022 --- /dev/null +++ b/src/nitro/communication/messages/incoming/callforhelp/CfhTopicsInitEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CfhTopicsInitMessageParser } from '../../parser/callforhelp/CfhTopicsInitMessageParser'; + +export class CfhTopicsInitEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CfhTopicsInitMessageParser); + } + + public getParser(): CfhTopicsInitMessageParser + { + return this.parser as CfhTopicsInitMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/callforhelp/SanctionStatusEvent.ts b/src/nitro/communication/messages/incoming/callforhelp/SanctionStatusEvent.ts new file mode 100644 index 00000000..2a9ce7aa --- /dev/null +++ b/src/nitro/communication/messages/incoming/callforhelp/SanctionStatusEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { SanctionStatusMessageParser } from '../../parser/callforhelp'; + +export class SanctionStatusEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, SanctionStatusMessageParser); + } + + public getParser(): SanctionStatusMessageParser + { + return this.parser as SanctionStatusMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/callforhelp/index.ts b/src/nitro/communication/messages/incoming/callforhelp/index.ts new file mode 100644 index 00000000..be8b70cc --- /dev/null +++ b/src/nitro/communication/messages/incoming/callforhelp/index.ts @@ -0,0 +1,6 @@ +export * from './CallForHelpCategoryData'; +export * from './CallForHelpTopicData'; +export * from './CfhSanctionMessageEvent'; +export * from './CfhSanctionTypeData'; +export * from './CfhTopicsInitEvent'; +export * from './SanctionStatusEvent'; diff --git a/src/nitro/communication/messages/incoming/campaign/CampaignCalendarDataMessageEvent.ts b/src/nitro/communication/messages/incoming/campaign/CampaignCalendarDataMessageEvent.ts new file mode 100644 index 00000000..c8ba5bbd --- /dev/null +++ b/src/nitro/communication/messages/incoming/campaign/CampaignCalendarDataMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CampaignCalendarDataMessageParser } from '../../parser/campaign'; + +export class CampaignCalendarDataMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CampaignCalendarDataMessageParser); + } + + public getParser(): CampaignCalendarDataMessageParser + { + return this.parser as CampaignCalendarDataMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/campaign/CampaignCalendarDoorOpenedMessageEvent.ts b/src/nitro/communication/messages/incoming/campaign/CampaignCalendarDoorOpenedMessageEvent.ts new file mode 100644 index 00000000..48911446 --- /dev/null +++ b/src/nitro/communication/messages/incoming/campaign/CampaignCalendarDoorOpenedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CampaignCalendarDoorOpenedMessageParser } from '../../parser/campaign'; + +export class CampaignCalendarDoorOpenedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CampaignCalendarDoorOpenedMessageParser); + } + + public getParser(): CampaignCalendarDoorOpenedMessageParser + { + return this.parser as CampaignCalendarDoorOpenedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/campaign/index.ts b/src/nitro/communication/messages/incoming/campaign/index.ts new file mode 100644 index 00000000..a6263aee --- /dev/null +++ b/src/nitro/communication/messages/incoming/campaign/index.ts @@ -0,0 +1,2 @@ +export * from './CampaignCalendarDataMessageEvent'; +export * from './CampaignCalendarDoorOpenedMessageEvent'; diff --git a/src/nitro/communication/messages/incoming/catalog/BonusRareInfoMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/BonusRareInfoMessageEvent.ts index 15bb58d4..2b66b732 100644 --- a/src/nitro/communication/messages/incoming/catalog/BonusRareInfoMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/catalog/BonusRareInfoMessageEvent.ts @@ -1,6 +1,6 @@ import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { BonusRareInfoMessageParser } from '../../parser/catalog/BonusRareInfoMessageParser'; +import { BonusRareInfoMessageParser } from '../../parser'; export class BonusRareInfoMessageEvent extends MessageEvent implements IMessageEvent { diff --git a/src/nitro/communication/messages/incoming/catalog/BuildersClubFurniCountMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/BuildersClubFurniCountMessageEvent.ts new file mode 100644 index 00000000..31d188b1 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/BuildersClubFurniCountMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { BuildersClubFurniCountMessageParser } from '../../parser'; + +export class BuildersClubFurniCountMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, BuildersClubFurniCountMessageParser); + } + + public getParser(): BuildersClubFurniCountMessageParser + { + return this.parser as BuildersClubFurniCountMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/BuildersClubSubscriptionStatusMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/BuildersClubSubscriptionStatusMessageEvent.ts new file mode 100644 index 00000000..da70210d --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/BuildersClubSubscriptionStatusMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { BuildersClubSubscriptionStatusMessageParser } from '../../parser'; + +export class BuildersClubSubscriptionStatusMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, BuildersClubSubscriptionStatusMessageParser); + } + + public getParser(): BuildersClubSubscriptionStatusMessageParser + { + return this.parser as BuildersClubSubscriptionStatusMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/BundleDiscountRuleset.ts b/src/nitro/communication/messages/incoming/catalog/BundleDiscountRuleset.ts new file mode 100644 index 00000000..82fde8fe --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/BundleDiscountRuleset.ts @@ -0,0 +1,53 @@ +import { IMessageDataWrapper } from '../../../../../core'; + +export class BundleDiscountRuleset +{ + private _Str_20535: number; + private _Str_19937: number; + private _Str_20951: number; + private _Str_20460: number; + private _Str_16144: number[]; + + constructor(wrapper: IMessageDataWrapper) + { + this._Str_20535 = wrapper.readInt(); + this._Str_19937 = wrapper.readInt(); + this._Str_20951 = wrapper.readInt(); + this._Str_20460 = wrapper.readInt(); + this._Str_16144 = []; + + let count = wrapper.readInt(); + + while(count > 0) + { + this._Str_16144.push(wrapper.readInt()); + + count--; + } + } + + public get _Str_22802(): number + { + return this._Str_20535; + } + + public get _Str_9227(): number + { + return this._Str_19937; + } + + public get _Str_23802(): number + { + return this._Str_20951; + } + + public get _Str_21500(): number + { + return this._Str_20460; + } + + public get _Str_25155(): number[] + { + return this._Str_16144; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/BundleDiscountRulesetMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/BundleDiscountRulesetMessageEvent.ts new file mode 100644 index 00000000..b5260693 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/BundleDiscountRulesetMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { BundleDiscountRulesetMessageParser } from '../../parser'; + +export class BundleDiscountRulesetMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, BundleDiscountRulesetMessageParser); + } + + public getParser(): BundleDiscountRulesetMessageParser + { + return this.parser as BundleDiscountRulesetMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogApproveNameResultEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogApproveNameResultEvent.ts deleted file mode 100644 index d10cea5f..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogApproveNameResultEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogApproveNameResultParser } from '../../parser'; - -export class CatalogApproveNameResultEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogApproveNameResultParser); - } - - public getParser(): CatalogApproveNameResultParser - { - return this.parser as CatalogApproveNameResultParser; - } -} diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogClubEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogClubEvent.ts deleted file mode 100644 index ec0ddb82..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogClubEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogClubParser } from '../../parser/catalog/CatalogClubParser'; - -export class CatalogClubEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogClubParser); - } - - public getParser(): CatalogClubParser - { - return this.parser as CatalogClubParser; - } -} diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogGiftConfigurationEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogGiftConfigurationEvent.ts deleted file mode 100644 index a7a9f47c..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogGiftConfigurationEvent.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogPagesParser } from '../../parser/catalog/CatalogPagesParser'; -import { CatalogGiftConfigurationParser } from '../../parser/catalog/CatalogGiftConfigurationParser'; - -export class CatalogGiftConfigurationEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogGiftConfigurationParser); - } - - public getParser(): CatalogGiftConfigurationParser - { - return this.parser as CatalogGiftConfigurationParser; - } -} diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogGiftUsernameUnavailableEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogGiftUsernameUnavailableEvent.ts deleted file mode 100644 index f6b565e8..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogGiftUsernameUnavailableEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogGiftUsernameUnavailableParser } from '../../parser/catalog/CatalogGiftUsernameUnavailableParser'; - -export class CatalogGiftUsernameUnavailableEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogGiftUsernameUnavailableParser); - } - - public getParser(): CatalogGiftUsernameUnavailableParser - { - return this.parser as CatalogGiftUsernameUnavailableParser; - } -} diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogGroupsEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogGroupsEvent.ts deleted file mode 100644 index aa0234d7..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogGroupsEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogGroupsParser } from '../../parser/catalog/CatalogGroupsParser'; - -export class CatalogGroupsEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogGroupsParser); - } - - public getParser(): CatalogGroupsParser - { - return this.parser as CatalogGroupsParser; - } -} diff --git a/src/nitro/communication/messages/parser/catalog/utils/CatalogLocalizationData.ts b/src/nitro/communication/messages/incoming/catalog/CatalogLocalizationData.ts similarity index 50% rename from src/nitro/communication/messages/parser/catalog/utils/CatalogLocalizationData.ts rename to src/nitro/communication/messages/incoming/catalog/CatalogLocalizationData.ts index aae770de..70e25015 100644 --- a/src/nitro/communication/messages/parser/catalog/utils/CatalogLocalizationData.ts +++ b/src/nitro/communication/messages/incoming/catalog/CatalogLocalizationData.ts @@ -1,30 +1,14 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { ICatalogLocalizationData } from './ICatalogLocalizationData'; +import { IMessageDataWrapper } from '../../../../../core'; -export class CatalogLocalizationData implements ICatalogLocalizationData +export class CatalogLocalizationData { private _images: string[]; private _texts: string[]; constructor(wrapper: IMessageDataWrapper) { - if(!wrapper) throw new Error('invalid_wrapper'); - - this.flush(); - this.parse(wrapper); - } - - public flush(): boolean - { - this._images = []; - this._texts = []; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; + this._images = []; + this._texts = []; let totalImages = wrapper.readInt(); @@ -43,8 +27,6 @@ export class CatalogLocalizationData implements ICatalogLocalizationData totalTexts--; } - - return true; } public get images(): string[] diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogModeEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogModeEvent.ts deleted file mode 100644 index fb76a8a8..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogModeEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogModeParser } from '../../parser/catalog/CatalogModeParser'; - -export class CatalogModeEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogModeParser); - } - - public getParser(): CatalogModeParser - { - return this.parser as CatalogModeParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogPageEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPageEvent.ts deleted file mode 100644 index 85589423..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogPageEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogPageParser } from '../../parser/catalog/CatalogPageParser'; - -export class CatalogPageEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogPageParser); - } - - public getParser(): CatalogPageParser - { - return this.parser as CatalogPageParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogPageExpirationEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPageExpirationEvent.ts new file mode 100644 index 00000000..a3047cc9 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/CatalogPageExpirationEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CatalogPageExpirationParser } from '../../parser'; + +export class CatalogPageExpirationEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CatalogPageExpirationParser); + } + + public getParser(): CatalogPageExpirationParser + { + return this.parser as CatalogPageExpirationParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogPageMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPageMessageEvent.ts new file mode 100644 index 00000000..b959185a --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/CatalogPageMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CatalogPageMessageParser } from '../../parser/catalog/CatalogPageMessageParser'; + +export class CatalogPageMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CatalogPageMessageParser); + } + + public getParser(): CatalogPageMessageParser + { + return this.parser as CatalogPageMessageParser; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/utils/CatalogPageOfferData.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPageMessageOfferData.ts similarity index 64% rename from src/nitro/communication/messages/parser/catalog/utils/CatalogPageOfferData.ts rename to src/nitro/communication/messages/incoming/catalog/CatalogPageMessageOfferData.ts index 5690315e..91a068a0 100644 --- a/src/nitro/communication/messages/parser/catalog/utils/CatalogPageOfferData.ts +++ b/src/nitro/communication/messages/incoming/catalog/CatalogPageMessageOfferData.ts @@ -1,7 +1,7 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { CatalogProductOfferData } from './CatalogProductOfferData'; +import { IMessageDataWrapper } from '../../../../../core'; +import { CatalogPageMessageProductData } from './CatalogPageMessageProductData'; -export class CatalogPageOfferData +export class CatalogPageMessageOfferData { private _offerId: number; private _localizationId: string; @@ -14,38 +14,10 @@ export class CatalogPageOfferData private _bundlePurchaseAllowed: boolean; private _isPet: boolean; private _previewImage: string; - private _products: CatalogProductOfferData[]; + private _products: CatalogPageMessageProductData[]; constructor(wrapper: IMessageDataWrapper) { - if(!wrapper) throw new Error('invalid_wrapper'); - - this.flush(); - this.parse(wrapper); - } - - public flush(): boolean - { - this._offerId = -1; - this._localizationId = null; - this._rent = false; - this._priceCredits = 0; - this._priceActivityPoints = 0; - this._priceActivityPointsType = 0; - this._clubLevel = 0; - this._giftable = false; - this._bundlePurchaseAllowed = false; - this._isPet = false; - this._previewImage = null; - this._products = []; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - this._offerId = wrapper.readInt(); this._localizationId = wrapper.readString(); this._rent = wrapper.readBoolean(); @@ -54,11 +26,13 @@ export class CatalogPageOfferData this._priceActivityPointsType = wrapper.readInt(); this._giftable = wrapper.readBoolean(); + this._products = []; + let totalProducts = wrapper.readInt(); while(totalProducts > 0) { - this._products.push(new CatalogProductOfferData(wrapper)); + this._products.push(new CatalogPageMessageProductData(wrapper)); totalProducts--; } @@ -67,8 +41,6 @@ export class CatalogPageOfferData this._bundlePurchaseAllowed = wrapper.readBoolean(); this._isPet = wrapper.readBoolean(); this._previewImage = wrapper.readString(); - - return true; } public get offerId(): number @@ -126,7 +98,7 @@ export class CatalogPageOfferData return this._previewImage; } - public get products(): CatalogProductOfferData[] + public get products(): CatalogPageMessageProductData[] { return this._products; } diff --git a/src/nitro/communication/messages/parser/catalog/utils/CatalogProductOfferData.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPageMessageProductData.ts similarity index 93% rename from src/nitro/communication/messages/parser/catalog/utils/CatalogProductOfferData.ts rename to src/nitro/communication/messages/incoming/catalog/CatalogPageMessageProductData.ts index 425baeea..4ed9bf3d 100644 --- a/src/nitro/communication/messages/parser/catalog/utils/CatalogProductOfferData.ts +++ b/src/nitro/communication/messages/incoming/catalog/CatalogPageMessageProductData.ts @@ -1,6 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; -export class CatalogProductOfferData +export class CatalogPageMessageProductData { public static I: string = 'i'; public static S: string = 's'; @@ -42,7 +42,7 @@ export class CatalogProductOfferData switch(this._productType) { - case CatalogProductOfferData.B: + case CatalogPageMessageProductData.B: this._extraParam = wrapper.readString(); this._productCount = 1; return true; diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogPageWithEarliestExpiryMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPageWithEarliestExpiryMessageEvent.ts new file mode 100644 index 00000000..a9fbf567 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/CatalogPageWithEarliestExpiryMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CatalogPageWithEarliestExpiryMessageParser } from '../../parser'; + +export class CatalogPageWithEarliestExpiryMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CatalogPageWithEarliestExpiryMessageParser); + } + + public getParser(): CatalogPageWithEarliestExpiryMessageParser + { + return this.parser as CatalogPageWithEarliestExpiryMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogPagesEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPagesEvent.ts deleted file mode 100644 index a9224d50..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogPagesEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogPagesParser } from '../../parser/catalog/CatalogPagesParser'; - -export class CatalogPagesEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogPagesParser); - } - - public getParser(): CatalogPagesParser - { - return this.parser as CatalogPagesParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogPagesListEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPagesListEvent.ts new file mode 100644 index 00000000..bc599b6a --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/CatalogPagesListEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CatalogIndexMessageParser } from '../../parser'; + +export class CatalogPagesListEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CatalogIndexMessageParser); + } + + public getParser(): CatalogIndexMessageParser + { + return this.parser as CatalogIndexMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogPublishedMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPublishedMessageEvent.ts new file mode 100644 index 00000000..dcd39b36 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/CatalogPublishedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CatalogPublishedMessageParser } from '../../parser/catalog/CatalogPublishedMessageParser'; + +export class CatalogPublishedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CatalogPublishedMessageParser); + } + + public getParser(): CatalogPublishedMessageParser + { + return this.parser as CatalogPublishedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogPurchaseEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPurchaseEvent.ts deleted file mode 100644 index 13711625..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogPurchaseEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogPurchaseParser } from '../../parser/catalog/CatalogPurchaseParser'; - -export class CatalogPurchaseEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogPurchaseParser); - } - - public getParser(): CatalogPurchaseParser - { - return this.parser as CatalogPurchaseParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogPurchaseFailedEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPurchaseFailedEvent.ts deleted file mode 100644 index 37ae8047..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogPurchaseFailedEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogPurchaseFailedParser } from '../../parser/catalog/CatalogPurchaseFailedParser'; - -export class CatalogPurchaseFailedEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogPurchaseFailedParser); - } - - public getParser(): CatalogPurchaseFailedParser - { - return this.parser as CatalogPurchaseFailedParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogPurchaseUnavailableEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogPurchaseUnavailableEvent.ts deleted file mode 100644 index 5e5555e3..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogPurchaseUnavailableEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogPurchaseUnavailableParser } from '../../parser/catalog/CatalogPurchaseUnavailableParser'; - -export class CatalogPurchaseUnavailableEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogPurchaseUnavailableParser); - } - - public getParser(): CatalogPurchaseUnavailableParser - { - return this.parser as CatalogPurchaseUnavailableParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogRedeemVoucherErrorEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogRedeemVoucherErrorEvent.ts deleted file mode 100644 index 953d9ff9..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogRedeemVoucherErrorEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogRedeemVoucherErrorParser } from '../../parser/catalog/CatalogRedeemVoucherErrorParser'; - -export class CatalogRedeemVoucherErrorEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogRedeemVoucherErrorParser); - } - - public getParser(): CatalogRedeemVoucherErrorParser - { - return this.parser as CatalogRedeemVoucherErrorParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogRedeemVoucherOkEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogRedeemVoucherOkEvent.ts deleted file mode 100644 index b97bc8a0..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogRedeemVoucherOkEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogRedeemVoucherOkParser } from '../../parser/catalog/CatalogRedeemVoucherOkParser'; - -export class CatalogRedeemVoucherOkEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogRedeemVoucherOkParser); - } - - public getParser(): CatalogRedeemVoucherOkParser - { - return this.parser as CatalogRedeemVoucherOkParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogSearchEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogSearchEvent.ts deleted file mode 100644 index 0e230478..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogSearchEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogSearchParser } from '../../parser/catalog/CatalogSearchParser'; - -export class CatalogSearchEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogSearchParser); - } - - public getParser(): CatalogSearchParser - { - return this.parser as CatalogSearchParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogSoldOutEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogSoldOutEvent.ts deleted file mode 100644 index 96ea0457..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogSoldOutEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogSoldOutParser } from '../../parser/catalog/CatalogSoldOutParser'; - -export class CatalogSoldOutEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogSoldOutParser); - } - - public getParser(): CatalogSoldOutParser - { - return this.parser as CatalogSoldOutParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogUpdatedEvent.ts b/src/nitro/communication/messages/incoming/catalog/CatalogUpdatedEvent.ts deleted file mode 100644 index 3ee3503b..00000000 --- a/src/nitro/communication/messages/incoming/catalog/CatalogUpdatedEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { CatalogUpdatedParser } from '../../parser/catalog/CatalogUpdatedParser'; - -export class CatalogUpdatedEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, CatalogUpdatedParser); - } - - public getParser(): CatalogUpdatedParser - { - return this.parser as CatalogUpdatedParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/catalog/ClubGiftData.ts b/src/nitro/communication/messages/incoming/catalog/ClubGiftData.ts new file mode 100644 index 00000000..56be33d9 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/ClubGiftData.ts @@ -0,0 +1,37 @@ +import { IMessageDataWrapper } from '../../../../../core'; + +export class ClubGiftData +{ + private _offerId: number; + private _isVip: boolean; + private _isSelectable: boolean; + private _daysRequired: number; + + constructor(wrapper: IMessageDataWrapper) + { + this._offerId = wrapper.readInt(); + this._isVip = wrapper.readBoolean(); + this._daysRequired = wrapper.readInt(); + this._isSelectable = wrapper.readBoolean(); + } + + public get offerId(): number + { + return this._offerId; + } + + public get isVip(): boolean + { + return this._isVip; + } + + public get isSelectable(): boolean + { + return this._isSelectable; + } + + public get daysRequired(): number + { + return this._daysRequired; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/CatalogClubGiftsEvent.ts b/src/nitro/communication/messages/incoming/catalog/ClubGiftInfoEvent.ts similarity index 70% rename from src/nitro/communication/messages/incoming/catalog/CatalogClubGiftsEvent.ts rename to src/nitro/communication/messages/incoming/catalog/ClubGiftInfoEvent.ts index 0a963690..6972d9b9 100644 --- a/src/nitro/communication/messages/incoming/catalog/CatalogClubGiftsEvent.ts +++ b/src/nitro/communication/messages/incoming/catalog/ClubGiftInfoEvent.ts @@ -1,8 +1,8 @@ import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { ClubGiftInfoParser } from '../../parser/catalog/ClubGiftInfoParser'; +import { ClubGiftInfoParser } from '../../parser'; -export class CatalogClubGiftsEvent extends MessageEvent implements IMessageEvent +export class ClubGiftInfoEvent extends MessageEvent implements IMessageEvent { constructor(callBack: Function) { diff --git a/src/nitro/communication/messages/incoming/catalog/ClubGiftSelectedEvent.ts b/src/nitro/communication/messages/incoming/catalog/ClubGiftSelectedEvent.ts new file mode 100644 index 00000000..da108e45 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/ClubGiftSelectedEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ClubGiftSelectedParser } from '../../parser'; + +export class ClubGiftSelectedEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ClubGiftSelectedParser); + } + + public getParser(): ClubGiftSelectedParser + { + return this.parser as ClubGiftSelectedParser; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/utils/CatalogClubOfferData.ts b/src/nitro/communication/messages/incoming/catalog/ClubOfferData.ts similarity index 72% rename from src/nitro/communication/messages/parser/catalog/utils/CatalogClubOfferData.ts rename to src/nitro/communication/messages/incoming/catalog/ClubOfferData.ts index 0d0c91a6..242827a3 100644 --- a/src/nitro/communication/messages/parser/catalog/utils/CatalogClubOfferData.ts +++ b/src/nitro/communication/messages/incoming/catalog/ClubOfferData.ts @@ -1,6 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; -export class CatalogClubOfferData +export class ClubOfferData { private _offerId: number; private _productCode: string; @@ -20,33 +20,6 @@ export class CatalogClubOfferData { if(!wrapper) throw new Error('invalid_wrapper'); - this.flush(); - this.parse(wrapper); - } - - public flush(): boolean - { - this._offerId = -1; - this._productCode = null; - this._priceCredits = 0; - this._priceActivityPoints = 0; - this._priceActivityPointsType = 0; - this._vip = false; - this._months = 0; - this._extraDays = 0; - this._daysLeftAfterPurchase = 0; - this._year = 0; - this._month = 0; - this._day = 0; - this._giftable = false; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - this._offerId = wrapper.readInt(); this._productCode = wrapper.readString(); @@ -63,8 +36,6 @@ export class CatalogClubOfferData this._year = wrapper.readInt(); this._month = wrapper.readInt(); this._day = wrapper.readInt(); - - return true; } public get offerId(): number @@ -131,4 +102,4 @@ export class CatalogClubOfferData { return this._giftable; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/catalog/ClubOfferExtendedData.ts b/src/nitro/communication/messages/incoming/catalog/ClubOfferExtendedData.ts new file mode 100644 index 00000000..94bf6bf8 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/ClubOfferExtendedData.ts @@ -0,0 +1,50 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { ClubOfferData } from './ClubOfferData'; + +export class ClubOfferExtendedData extends ClubOfferData +{ + private _Str_16193: number; + private _Str_22071: number; + private _Str_21178: number; + private _Str_21024: number; + + constructor(wrapper: IMessageDataWrapper) + { + super(wrapper); + + this._Str_16193 = wrapper.readInt(); + this._Str_22071 = wrapper.readInt(); + this._Str_21178 = wrapper.readInt(); + this._Str_21024 = wrapper.readInt(); + } + + public get _Str_23477(): number + { + return this._Str_16193 * this.months; + } + + public get _Str_21585(): number + { + return this._Str_22071 * this.months; + } + + public get _Str_22469(): number + { + return this._Str_21178; + } + + public get _Str_24050(): number + { + return (this._Str_16193 * this.months) - this.priceCredits; + } + + public get _Str_22280(): number + { + return (this._Str_21585 * this.months) - this.priceActivityPoints; + } + + public get _Str_21229(): number + { + return this._Str_21024; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/DirectSMSClubBuyAvailableMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/DirectSMSClubBuyAvailableMessageEvent.ts new file mode 100644 index 00000000..e92714e4 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/DirectSMSClubBuyAvailableMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { DirectSMSClubBuyAvailableMessageParser } from '../../parser'; + +export class DirectSMSClubBuyAvailableMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, DirectSMSClubBuyAvailableMessageParser); + } + + public getParser(): DirectSMSClubBuyAvailableMessageParser + { + return this.parser as DirectSMSClubBuyAvailableMessageParser; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/utils/CatalogFrontPageItem.ts b/src/nitro/communication/messages/incoming/catalog/FrontPageItem.ts similarity index 87% rename from src/nitro/communication/messages/parser/catalog/utils/CatalogFrontPageItem.ts rename to src/nitro/communication/messages/incoming/catalog/FrontPageItem.ts index bc601103..845b1f6c 100644 --- a/src/nitro/communication/messages/parser/catalog/utils/CatalogFrontPageItem.ts +++ b/src/nitro/communication/messages/incoming/catalog/FrontPageItem.ts @@ -1,7 +1,7 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { Nitro } from '../../../../../Nitro'; +import { IMessageDataWrapper } from '../../../../../core'; +import { Nitro } from '../../../../Nitro'; -export class CatalogFrontPageItem +export class FrontPageItem { public static ITEM_CATALOGUE_PAGE: number = 0; public static ITEM_PRODUCT_OFFER: number = 1; @@ -49,13 +49,13 @@ export class CatalogFrontPageItem switch(this._type) { - case CatalogFrontPageItem.ITEM_CATALOGUE_PAGE: + case FrontPageItem.ITEM_CATALOGUE_PAGE: this._catalogPageLocation = wrapper.readString(); break; - case CatalogFrontPageItem.ITEM_PRODUCT_OFFER: + case FrontPageItem.ITEM_PRODUCT_OFFER: this._productOfferId = wrapper.readInt(); break; - case CatalogFrontPageItem.ITEM_IAP: + case FrontPageItem.ITEM_IAP: this._productCode = wrapper.readString(); break; } diff --git a/src/nitro/communication/messages/incoming/catalog/GiftReceiverNotFoundEvent.ts b/src/nitro/communication/messages/incoming/catalog/GiftReceiverNotFoundEvent.ts new file mode 100644 index 00000000..e6245d10 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/GiftReceiverNotFoundEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GiftReceiverNotFoundParser } from '../../parser'; + +export class GiftReceiverNotFoundEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GiftReceiverNotFoundParser); + } + + public getParser(): GiftReceiverNotFoundParser + { + return this.parser as GiftReceiverNotFoundParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/GiftWrappingConfigurationEvent.ts b/src/nitro/communication/messages/incoming/catalog/GiftWrappingConfigurationEvent.ts new file mode 100644 index 00000000..9e0710c4 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/GiftWrappingConfigurationEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GiftWrappingConfigurationParser } from '../../parser'; + +export class GiftWrappingConfigurationEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GiftWrappingConfigurationParser); + } + + public getParser(): GiftWrappingConfigurationParser + { + return this.parser as GiftWrappingConfigurationParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/HabboClubExtendOfferMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/HabboClubExtendOfferMessageEvent.ts new file mode 100644 index 00000000..3cc47bbd --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/HabboClubExtendOfferMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { HabboClubExtendOfferMessageParser } from '../../parser'; + +export class HabboClubExtendOfferMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, HabboClubExtendOfferMessageParser); + } + + public getParser(): HabboClubExtendOfferMessageParser + { + return this.parser as HabboClubExtendOfferMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/HabboClubOffersMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/HabboClubOffersMessageEvent.ts new file mode 100644 index 00000000..d1b0dc20 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/HabboClubOffersMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { HabboClubOffersMessageParser } from '../../parser'; + +export class HabboClubOffersMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, HabboClubOffersMessageParser); + } + + public getParser(): HabboClubOffersMessageParser + { + return this.parser as HabboClubOffersMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/INodeData.ts b/src/nitro/communication/messages/incoming/catalog/INodeData.ts new file mode 100644 index 00000000..2c201e9d --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/INodeData.ts @@ -0,0 +1,10 @@ +export interface INodeData +{ + visible: boolean; + icon: number; + pageId: number; + pageName: string; + localization: string; + children: INodeData[]; + offerIds: number[]; +} diff --git a/src/nitro/communication/messages/incoming/catalog/IsOfferGiftableMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/IsOfferGiftableMessageEvent.ts new file mode 100644 index 00000000..6c2d1d4d --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/IsOfferGiftableMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { IsOfferGiftableMessageParser } from '../../parser'; + +export class IsOfferGiftableMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, IsOfferGiftableMessageParser); + } + + public getParser(): IsOfferGiftableMessageParser + { + return this.parser as IsOfferGiftableMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/LimitedEditionSoldOutEvent.ts b/src/nitro/communication/messages/incoming/catalog/LimitedEditionSoldOutEvent.ts new file mode 100644 index 00000000..309b8466 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/LimitedEditionSoldOutEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { LimitedEditionSoldOutParser } from '../../parser'; + +export class LimitedEditionSoldOutEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, LimitedEditionSoldOutParser); + } + + public getParser(): LimitedEditionSoldOutParser + { + return this.parser as LimitedEditionSoldOutParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/LimitedOfferAppearingNextMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/LimitedOfferAppearingNextMessageEvent.ts new file mode 100644 index 00000000..55214458 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/LimitedOfferAppearingNextMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { LimitedOfferAppearingNextMessageParser } from '../../parser'; + +export class LimitedOfferAppearingNextMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, LimitedOfferAppearingNextMessageParser); + } + + public getParser(): LimitedOfferAppearingNextMessageParser + { + return this.parser as LimitedOfferAppearingNextMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/MarketplaceConfigEvent.ts b/src/nitro/communication/messages/incoming/catalog/MarketplaceConfigEvent.ts deleted file mode 100644 index 8f695f39..00000000 --- a/src/nitro/communication/messages/incoming/catalog/MarketplaceConfigEvent.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { MarketplaceConfigParser } from '../../parser/catalog/MarketplaceConfigParser'; - - -export class MarketplaceConfigEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, MarketplaceConfigParser); - } - - public getParser(): MarketplaceConfigParser - { - return this.parser as MarketplaceConfigParser; - } -} diff --git a/src/nitro/communication/messages/parser/catalog/utils/CatalogPageData.ts b/src/nitro/communication/messages/incoming/catalog/NodeData.ts similarity index 83% rename from src/nitro/communication/messages/parser/catalog/utils/CatalogPageData.ts rename to src/nitro/communication/messages/incoming/catalog/NodeData.ts index 91150574..36fc634c 100644 --- a/src/nitro/communication/messages/parser/catalog/utils/CatalogPageData.ts +++ b/src/nitro/communication/messages/incoming/catalog/NodeData.ts @@ -1,14 +1,13 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { ICatalogPageData } from './ICatalogPageData'; +import { IMessageDataWrapper } from '../../../../../core'; -export class CatalogPageData implements ICatalogPageData +export class NodeData { private _visible: boolean; private _icon: number; private _pageId: number; private _pageName: string; private _localization: string; - private _children: CatalogPageData[]; + private _children: NodeData[]; private _offerIds: number[]; constructor(wrapper: IMessageDataWrapper) @@ -55,7 +54,7 @@ export class CatalogPageData implements ICatalogPageData while(totalChildren > 0) { - this._children.push(new CatalogPageData(wrapper)); + this._children.push(new NodeData(wrapper)); totalChildren--; } @@ -88,7 +87,7 @@ export class CatalogPageData implements ICatalogPageData return this._localization; } - public get children(): CatalogPageData[] + public get children(): NodeData[] { return this._children; } diff --git a/src/nitro/communication/messages/incoming/catalog/NotEnoughBalanceMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/NotEnoughBalanceMessageEvent.ts new file mode 100644 index 00000000..710d888c --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/NotEnoughBalanceMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { NotEnoughBalanceMessageParser } from '../../parser'; + +export class NotEnoughBalanceMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, NotEnoughBalanceMessageParser); + } + + public getParser(): NotEnoughBalanceMessageParser + { + return this.parser as NotEnoughBalanceMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/ProductOfferEvent.ts b/src/nitro/communication/messages/incoming/catalog/ProductOfferEvent.ts new file mode 100644 index 00000000..8941a878 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/ProductOfferEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ProductOfferMessageParser } from '../../parser'; + +export class ProductOfferEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ProductOfferMessageParser); + } + + public getParser(): ProductOfferMessageParser + { + return this.parser as ProductOfferMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/PurchaseErrorMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/PurchaseErrorMessageEvent.ts new file mode 100644 index 00000000..265f713c --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/PurchaseErrorMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { PurchaseErrorMessageParser } from '../../parser'; + +export class PurchaseErrorMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PurchaseErrorMessageParser); + } + + public getParser(): PurchaseErrorMessageParser + { + return this.parser as PurchaseErrorMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/PurchaseNotAllowedMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/PurchaseNotAllowedMessageEvent.ts new file mode 100644 index 00000000..6b13263d --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/PurchaseNotAllowedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { PurchaseNotAllowedMessageParser } from '../../parser'; + +export class PurchaseNotAllowedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PurchaseNotAllowedMessageParser); + } + + public getParser(): PurchaseNotAllowedMessageParser + { + return this.parser as PurchaseNotAllowedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/PurchaseOKMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/PurchaseOKMessageEvent.ts new file mode 100644 index 00000000..90e7ed55 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/PurchaseOKMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { PurchaseOKMessageParser } from '../../parser'; + +export class PurchaseOKMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PurchaseOKMessageParser); + } + + public getParser(): PurchaseOKMessageParser + { + return this.parser as PurchaseOKMessageParser; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/utils/CatalogPurchaseData.ts b/src/nitro/communication/messages/incoming/catalog/PurchaseOKMessageOfferData.ts similarity index 87% rename from src/nitro/communication/messages/parser/catalog/utils/CatalogPurchaseData.ts rename to src/nitro/communication/messages/incoming/catalog/PurchaseOKMessageOfferData.ts index f611e7ab..6f6a72cf 100644 --- a/src/nitro/communication/messages/parser/catalog/utils/CatalogPurchaseData.ts +++ b/src/nitro/communication/messages/incoming/catalog/PurchaseOKMessageOfferData.ts @@ -1,7 +1,7 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { CatalogProductOfferData } from './CatalogProductOfferData'; +import { IMessageDataWrapper } from '../../../../../core'; +import { CatalogPageMessageProductData } from './CatalogPageMessageProductData'; -export class CatalogPurchaseData +export class PurchaseOKMessageOfferData { private _offerId: number; private _localizationId: string; @@ -12,7 +12,7 @@ export class CatalogPurchaseData private _clubLevel: number; private _giftable: boolean; private _bundlePurchaseAllowed: boolean; - private _products: CatalogProductOfferData[]; + private _products: CatalogPageMessageProductData[]; constructor(wrapper: IMessageDataWrapper) { @@ -54,7 +54,7 @@ export class CatalogPurchaseData while(totalProducts > 0) { - this._products.push(new CatalogProductOfferData(wrapper)); + this._products.push(new CatalogPageMessageProductData(wrapper)); totalProducts--; } @@ -110,8 +110,8 @@ export class CatalogPurchaseData return this._bundlePurchaseAllowed; } - public get products(): CatalogProductOfferData[] + public get products(): CatalogPageMessageProductData[] { return this._products; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/catalog/RoomAdPurchaseInfoEvent.ts b/src/nitro/communication/messages/incoming/catalog/RoomAdPurchaseInfoEvent.ts new file mode 100644 index 00000000..ca0bb931 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/RoomAdPurchaseInfoEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { RoomAdPurchaseInfoEventParser } from '../../parser'; + +export class RoomAdPurchaseInfoEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, RoomAdPurchaseInfoEventParser); + } + + public getParser(): RoomAdPurchaseInfoEventParser + { + return this.parser as RoomAdPurchaseInfoEventParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/SeasonalCalendarDailyOfferMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/SeasonalCalendarDailyOfferMessageEvent.ts new file mode 100644 index 00000000..8098cb50 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/SeasonalCalendarDailyOfferMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { SeasonalCalendarDailyOfferMessageParser } from '../../parser'; + +export class SeasonalCalendarDailyOfferMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, SeasonalCalendarDailyOfferMessageParser); + } + + public getParser(): SeasonalCalendarDailyOfferMessageParser + { + return this.parser as SeasonalCalendarDailyOfferMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/SellablePetPalettesEvent.ts b/src/nitro/communication/messages/incoming/catalog/SellablePetPalettesMessageEvent.ts similarity index 83% rename from src/nitro/communication/messages/incoming/catalog/SellablePetPalettesEvent.ts rename to src/nitro/communication/messages/incoming/catalog/SellablePetPalettesMessageEvent.ts index 83ad8337..06d67c8c 100644 --- a/src/nitro/communication/messages/incoming/catalog/SellablePetPalettesEvent.ts +++ b/src/nitro/communication/messages/incoming/catalog/SellablePetPalettesMessageEvent.ts @@ -2,7 +2,7 @@ import { IMessageEvent } from '../../../../../core/communication/messages/IMessa import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; import { SellablePetPalettesParser } from '../../parser'; -export class SellablePetPalettesEvent extends MessageEvent implements IMessageEvent +export class SellablePetPalettesMessageEvent extends MessageEvent implements IMessageEvent { constructor(callBack: Function) { diff --git a/src/nitro/communication/messages/incoming/catalog/TargetedOfferData.ts b/src/nitro/communication/messages/incoming/catalog/TargetedOfferData.ts new file mode 100644 index 00000000..d613008c --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/TargetedOfferData.ts @@ -0,0 +1,154 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { Nitro } from '../../../../Nitro'; + +export class TargetedOfferData +{ + protected _id: number; + protected _identifier: string; + protected _type: number; + protected _title: string; + protected _Str_1858: string; + protected _Str_2991: string; + protected _Str_18782: string; + protected _productCode: string; + protected _Str_9772: number; + protected _expirationTime: number; + protected _Str_3594: number; + protected _Str_3539: number; + protected _Str_2956: number; + protected _Str_11962: string[]; + protected _Str_9163: number; + + constructor(wrapper: IMessageDataWrapper) + { + this._Str_9163 = wrapper.readInt(); + this._id = wrapper.readInt(); + this._identifier = wrapper.readString(); + this._productCode = wrapper.readString(); + this._Str_3594 = wrapper.readInt(); + this._Str_3539 = wrapper.readInt(); + this._Str_2956 = wrapper.readInt(); + this._Str_9772 = wrapper.readInt(); + + const time = wrapper.readInt(); + this._expirationTime = ((time > 0) ? ((time * 1000) + Nitro.instance.time) : 0); + + this._title = wrapper.readString(); + this._Str_1858 = wrapper.readString(); + this._Str_2991 = wrapper.readString(); + this._Str_18782 = wrapper.readString(); + this._type = wrapper.readInt(); + this._Str_11962 = []; + + let count = wrapper.readInt(); + + while(count > 0) + { + this._Str_11962.push(wrapper.readString()); + + count--; + } + return this; + } + + public populate(offerData: TargetedOfferData) + { + if(!offerData) return; + + this._id = offerData.id; + this._identifier = offerData.identifier; + this._type = offerData.type; + this._title = offerData.title; + this._Str_1858 = offerData.description; + this._Str_2991 = offerData.imageUrl; + this._Str_18782 = offerData._Str_13452; + this._productCode = offerData.productCode; + this._Str_9772 = offerData.purchaseLimit; + this._expirationTime = offerData.expirationTime; + this._Str_3594 = offerData.priceInCredits; + this._Str_3539 = offerData.priceInActivityPoints; + this._Str_2956 = offerData.activityPointType; + this._Str_11962 = offerData._Str_24978; + this._Str_9163 = offerData._Str_11180; + } + + public _Str_24338(k: number): void + { + this._Str_9772 = (this._Str_9772 - k); + } + + public get id(): number + { + return this._id; + } + + public get identifier(): string + { + return this._identifier; + } + + public get type(): number + { + return this._type; + } + + public get title(): string + { + return this._title; + } + + public get description(): string + { + return this._Str_1858; + } + + public get imageUrl(): string + { + return this._Str_2991; + } + + public get _Str_13452(): string + { + return this._Str_18782; + } + + public get productCode(): string + { + return this._productCode; + } + + public get purchaseLimit(): number + { + return this._Str_9772; + } + + public get expirationTime(): number + { + return this._expirationTime; + } + + public get priceInCredits(): number + { + return this._Str_3594; + } + + public get priceInActivityPoints(): number + { + return this._Str_3539; + } + + public get activityPointType(): number + { + return this._Str_2956; + } + + public get _Str_24978(): string[] + { + return this._Str_11962; + } + + public get _Str_11180(): number + { + return this._Str_9163; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/TargetedOfferEvent.ts b/src/nitro/communication/messages/incoming/catalog/TargetedOfferEvent.ts new file mode 100644 index 00000000..da896ef0 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/TargetedOfferEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { TargetedOfferParser } from '../../parser'; + +export class TargetedOfferEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, TargetedOfferParser); + } + + public getParser(): TargetedOfferParser + { + return this.parser as TargetedOfferParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/TargetedOfferNotFoundEvent.ts b/src/nitro/communication/messages/incoming/catalog/TargetedOfferNotFoundEvent.ts new file mode 100644 index 00000000..d38b20f2 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/TargetedOfferNotFoundEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { TargetedOfferNotFoundParser } from '../../parser'; + +export class TargetedOfferNotFoundEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, TargetedOfferNotFoundParser); + } + + public getParser(): TargetedOfferNotFoundParser + { + return this.parser as TargetedOfferNotFoundParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/VoucherRedeemErrorMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/VoucherRedeemErrorMessageEvent.ts new file mode 100644 index 00000000..4c4870f3 --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/VoucherRedeemErrorMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { VoucherRedeemErrorMessageParser } from '../../parser'; + +export class VoucherRedeemErrorMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, VoucherRedeemErrorMessageParser); + } + + public getParser(): VoucherRedeemErrorMessageParser + { + return this.parser as VoucherRedeemErrorMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/VoucherRedeemOkMessageEvent.ts b/src/nitro/communication/messages/incoming/catalog/VoucherRedeemOkMessageEvent.ts new file mode 100644 index 00000000..78440d6d --- /dev/null +++ b/src/nitro/communication/messages/incoming/catalog/VoucherRedeemOkMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { VoucherRedeemOkMessageParser } from '../../parser/catalog/VoucherRedeemOkMessageParser'; + +export class VoucherRedeemOkMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, VoucherRedeemOkMessageParser); + } + + public getParser(): VoucherRedeemOkMessageParser + { + return this.parser as VoucherRedeemOkMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/index.ts b/src/nitro/communication/messages/incoming/catalog/index.ts index 550b9d0f..96964b5b 100644 --- a/src/nitro/communication/messages/incoming/catalog/index.ts +++ b/src/nitro/communication/messages/incoming/catalog/index.ts @@ -1,22 +1,43 @@ export * from './BonusRareInfoMessageEvent'; -export * from './CatalogApproveNameResultEvent'; -export * from './CatalogClubEvent'; -export * from './CatalogClubGiftsEvent'; -export * from './CatalogGiftConfigurationEvent'; -export * from './CatalogGiftUsernameUnavailableEvent'; -export * from './CatalogGroupsEvent'; -export * from './CatalogModeEvent'; -export * from './CatalogPageEvent'; -export * from './CatalogPagesEvent'; -export * from './CatalogPurchaseEvent'; -export * from './CatalogPurchaseFailedEvent'; -export * from './CatalogPurchaseUnavailableEvent'; -export * from './CatalogRedeemVoucherErrorEvent'; -export * from './CatalogRedeemVoucherOkEvent'; -export * from './CatalogSearchEvent'; -export * from './CatalogSoldOutEvent'; -export * from './CatalogUpdatedEvent'; -export * from './marketplace'; -export * from './MarketplaceConfigEvent'; -export * from './MarketplaceItemStatsEvent'; -export * from './SellablePetPalettesEvent'; +export * from './BuildersClubFurniCountMessageEvent'; +export * from './BuildersClubSubscriptionStatusMessageEvent'; +export * from './BundleDiscountRuleset'; +export * from './BundleDiscountRulesetMessageEvent'; +export * from './CatalogLocalizationData'; +export * from './CatalogPageExpirationEvent'; +export * from './CatalogPageMessageEvent'; +export * from './CatalogPageMessageOfferData'; +export * from './CatalogPageMessageProductData'; +export * from './CatalogPagesListEvent'; +export * from './CatalogPageWithEarliestExpiryMessageEvent'; +export * from './CatalogPublishedMessageEvent'; +export * from './ClubGiftData'; +export * from './ClubGiftInfoEvent'; +export * from './ClubGiftSelectedEvent'; +export * from './ClubOfferData'; +export * from './ClubOfferExtendedData'; +export * from './DirectSMSClubBuyAvailableMessageEvent'; +export * from './FrontPageItem'; +export * from './GiftReceiverNotFoundEvent'; +export * from './GiftWrappingConfigurationEvent'; +export * from './HabboClubExtendOfferMessageEvent'; +export * from './HabboClubOffersMessageEvent'; +export * from './INodeData'; +export * from './IsOfferGiftableMessageEvent'; +export * from './LimitedEditionSoldOutEvent'; +export * from './LimitedOfferAppearingNextMessageEvent'; +export * from './NodeData'; +export * from './NotEnoughBalanceMessageEvent'; +export * from './ProductOfferEvent'; +export * from './PurchaseErrorMessageEvent'; +export * from './PurchaseNotAllowedMessageEvent'; +export * from './PurchaseOKMessageEvent'; +export * from './PurchaseOKMessageOfferData'; +export * from './RoomAdPurchaseInfoEvent'; +export * from './SeasonalCalendarDailyOfferMessageEvent'; +export * from './SellablePetPalettesMessageEvent'; +export * from './TargetedOfferData'; +export * from './TargetedOfferEvent'; +export * from './TargetedOfferNotFoundEvent'; +export * from './VoucherRedeemErrorMessageEvent'; +export * from './VoucherRedeemOkMessageEvent'; diff --git a/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceCancelItemEvent.ts b/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceCancelItemEvent.ts deleted file mode 100644 index 85347b3b..00000000 --- a/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceCancelItemEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { MarketplaceCancelItemParser } from '../../../parser/catalog/marketplace/MarketplaceCancelItemParser'; - -export class MarketplaceCancelItemEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, MarketplaceCancelItemParser); - } - - public getParser(): MarketplaceCancelItemParser - { - return this.parser as MarketplaceCancelItemParser; - } -} diff --git a/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceOffersReceivedEvent.ts b/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceOffersReceivedEvent.ts deleted file mode 100644 index 4228ce6c..00000000 --- a/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceOffersReceivedEvent.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { MarketplaceOffersReceivedParser } from '../../../parser/catalog/marketplace/MarketplaceOffersReceivedParser'; - - -export class MarketplaceOffersReceivedEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, MarketplaceOffersReceivedParser); - } - - public getParser(): MarketplaceOffersReceivedParser - { - return this.parser as MarketplaceOffersReceivedParser; - } -} diff --git a/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceOwnItemsEvent.ts b/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceOwnItemsEvent.ts deleted file mode 100644 index 6d069acf..00000000 --- a/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceOwnItemsEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { MarketplaceOwnItemsParser } from '../../../parser/catalog/marketplace/MarketplaceOwnItemsParser'; - -export class MarketplaceOwnItemsEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, MarketplaceOwnItemsParser); - } - - public getParser(): MarketplaceOwnItemsParser - { - return this.parser as MarketplaceOwnItemsParser; - } -} diff --git a/src/nitro/communication/messages/incoming/catalog/marketplace/index.ts b/src/nitro/communication/messages/incoming/catalog/marketplace/index.ts deleted file mode 100644 index f8ebd14b..00000000 --- a/src/nitro/communication/messages/incoming/catalog/marketplace/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './MarketplaceBuyOfferResultEvent'; -export * from './MarketplaceCancelItemEvent'; -export * from './MarketplaceOffersReceivedEvent'; -export * from './MarketplaceOwnItemsEvent'; diff --git a/src/nitro/communication/messages/incoming/client/ClientPingEvent.ts b/src/nitro/communication/messages/incoming/client/ClientPingEvent.ts index be283ebd..a478ba78 100644 --- a/src/nitro/communication/messages/incoming/client/ClientPingEvent.ts +++ b/src/nitro/communication/messages/incoming/client/ClientPingEvent.ts @@ -13,4 +13,4 @@ export class ClientPingEvent extends MessageEvent implements IMessageEvent { return this.parser as ClientPingParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/competition/CompetitionEntrySubmitResultEvent.ts b/src/nitro/communication/messages/incoming/competition/CompetitionEntrySubmitResultEvent.ts new file mode 100644 index 00000000..3c3da7cd --- /dev/null +++ b/src/nitro/communication/messages/incoming/competition/CompetitionEntrySubmitResultEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CompetitionEntrySubmitResultMessageParser } from '../../parser'; + +export class CompetitionEntrySubmitResultEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CompetitionEntrySubmitResultMessageParser); + } + + public getParser(): CompetitionEntrySubmitResultMessageParser + { + return this.parser as CompetitionEntrySubmitResultMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/competition/CompetitionVotingInfoMessageEvent.ts b/src/nitro/communication/messages/incoming/competition/CompetitionVotingInfoMessageEvent.ts new file mode 100644 index 00000000..4afaeabd --- /dev/null +++ b/src/nitro/communication/messages/incoming/competition/CompetitionVotingInfoMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CompetitionVotingInfoMessageParser } from '../../parser'; + +export class CompetitionVotingInfoMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CompetitionVotingInfoMessageParser); + } + + public getParser(): CompetitionVotingInfoMessageParser + { + return this.parser as CompetitionVotingInfoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/competition/CurrentTimingCodeMessageEvent.ts b/src/nitro/communication/messages/incoming/competition/CurrentTimingCodeMessageEvent.ts new file mode 100644 index 00000000..a36b3c62 --- /dev/null +++ b/src/nitro/communication/messages/incoming/competition/CurrentTimingCodeMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CurrentTimingCodeMessageParser } from '../../parser'; + +export class CurrentTimingCodeMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CurrentTimingCodeMessageParser); + } + + public getParser(): CurrentTimingCodeMessageParser + { + return this.parser as CurrentTimingCodeMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/competition/IsUserPartOfCompetitionMessageEvent.ts b/src/nitro/communication/messages/incoming/competition/IsUserPartOfCompetitionMessageEvent.ts new file mode 100644 index 00000000..ab0f5155 --- /dev/null +++ b/src/nitro/communication/messages/incoming/competition/IsUserPartOfCompetitionMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { IsUserPartOfCompetitionMessageParser } from '../../parser'; + +export class IsUserPartOfCompetitionMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, IsUserPartOfCompetitionMessageParser); + } + + public getParser(): IsUserPartOfCompetitionMessageParser + { + return this.parser as IsUserPartOfCompetitionMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/competition/NoOwnedRoomsAlertMessageEvent.ts b/src/nitro/communication/messages/incoming/competition/NoOwnedRoomsAlertMessageEvent.ts new file mode 100644 index 00000000..0845f632 --- /dev/null +++ b/src/nitro/communication/messages/incoming/competition/NoOwnedRoomsAlertMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { NoOwnedRoomsAlertMessageParser } from '../../parser'; + +export class NoOwnedRoomsAlertMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, NoOwnedRoomsAlertMessageParser); + } + + public getParser(): NoOwnedRoomsAlertMessageParser + { + return this.parser as NoOwnedRoomsAlertMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/competition/SecondsUntilMessageEvent.ts b/src/nitro/communication/messages/incoming/competition/SecondsUntilMessageEvent.ts new file mode 100644 index 00000000..c9e1dd80 --- /dev/null +++ b/src/nitro/communication/messages/incoming/competition/SecondsUntilMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { SecondsUntilMessageParser } from '../../parser'; + +export class SecondsUntilMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, SecondsUntilMessageParser); + } + + public getParser(): SecondsUntilMessageParser + { + return this.parser as SecondsUntilMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/competition/index.ts b/src/nitro/communication/messages/incoming/competition/index.ts new file mode 100644 index 00000000..7c2b70a3 --- /dev/null +++ b/src/nitro/communication/messages/incoming/competition/index.ts @@ -0,0 +1,6 @@ +export * from './CompetitionEntrySubmitResultEvent'; +export * from './CompetitionVotingInfoMessageEvent'; +export * from './CurrentTimingCodeMessageEvent'; +export * from './IsUserPartOfCompetitionMessageEvent'; +export * from './NoOwnedRoomsAlertMessageEvent'; +export * from './SecondsUntilMessageEvent'; diff --git a/src/nitro/communication/messages/incoming/desktop/DesktopViewEvent.ts b/src/nitro/communication/messages/incoming/desktop/DesktopViewEvent.ts index 869ee120..25673c31 100644 --- a/src/nitro/communication/messages/incoming/desktop/DesktopViewEvent.ts +++ b/src/nitro/communication/messages/incoming/desktop/DesktopViewEvent.ts @@ -13,4 +13,4 @@ export class DesktopViewEvent extends MessageEvent implements IMessageEvent { return this.parser as DesktopViewParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/AcceptFriendFailureData.ts b/src/nitro/communication/messages/incoming/friendlist/AcceptFriendFailureData.ts index c83053e1..f127ec98 100644 --- a/src/nitro/communication/messages/incoming/friendlist/AcceptFriendFailureData.ts +++ b/src/nitro/communication/messages/incoming/friendlist/AcceptFriendFailureData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class AcceptFriendFailerData { @@ -22,4 +22,4 @@ export class AcceptFriendFailerData { return this._errorCode; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/AcceptFriendResultEvent.ts b/src/nitro/communication/messages/incoming/friendlist/AcceptFriendResultEvent.ts index e9e28715..d1ec21db 100644 --- a/src/nitro/communication/messages/incoming/friendlist/AcceptFriendResultEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/AcceptFriendResultEvent.ts @@ -13,4 +13,4 @@ export class AcceptFriendResultEvent extends MessageEvent implements IMessageEve { return this.parser as AcceptFriendResultParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/FindFriendsProcessResultEvent.ts b/src/nitro/communication/messages/incoming/friendlist/FindFriendsProcessResultEvent.ts index c326b76d..3e3d3462 100644 --- a/src/nitro/communication/messages/incoming/friendlist/FindFriendsProcessResultEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/FindFriendsProcessResultEvent.ts @@ -13,4 +13,4 @@ export class FindFriendsProcessResultEvent extends MessageEvent implements IMess { return this.parser as FindFriendsProcessResultParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/FollowFriendFailedEvent.ts b/src/nitro/communication/messages/incoming/friendlist/FollowFriendFailedEvent.ts index 0cf9733a..4701b262 100644 --- a/src/nitro/communication/messages/incoming/friendlist/FollowFriendFailedEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/FollowFriendFailedEvent.ts @@ -14,4 +14,4 @@ export class FollowFriendFailedEvent extends MessageEvent implements IMessageEve { return this.parser as FollowFriendFailedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/FriendCategoryData.ts b/src/nitro/communication/messages/incoming/friendlist/FriendCategoryData.ts index acd36270..3e88596a 100644 --- a/src/nitro/communication/messages/incoming/friendlist/FriendCategoryData.ts +++ b/src/nitro/communication/messages/incoming/friendlist/FriendCategoryData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class FriendCategoryData { @@ -22,4 +22,4 @@ export class FriendCategoryData { return this._name; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/FriendListFragmentEvent.ts b/src/nitro/communication/messages/incoming/friendlist/FriendListFragmentEvent.ts index 3889078c..28e1bca2 100644 --- a/src/nitro/communication/messages/incoming/friendlist/FriendListFragmentEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/FriendListFragmentEvent.ts @@ -13,4 +13,4 @@ export class FriendListFragmentEvent extends MessageEvent implements IMessageEve { return this.parser as FriendListFragmentParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/FriendListUpdateEvent.ts b/src/nitro/communication/messages/incoming/friendlist/FriendListUpdateEvent.ts index 74caa2ff..d3758975 100644 --- a/src/nitro/communication/messages/incoming/friendlist/FriendListUpdateEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/FriendListUpdateEvent.ts @@ -13,4 +13,4 @@ export class FriendListUpdateEvent extends MessageEvent implements IMessageEvent { return this.parser as FriendListUpdateParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/FriendNotificationEvent.ts b/src/nitro/communication/messages/incoming/friendlist/FriendNotificationEvent.ts index 8fd10195..d2dad119 100644 --- a/src/nitro/communication/messages/incoming/friendlist/FriendNotificationEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/FriendNotificationEvent.ts @@ -14,4 +14,4 @@ export class FriendNotificationEvent extends MessageEvent implements IMessageEve { return this.parser as FriendNotificationParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/FriendParser.ts b/src/nitro/communication/messages/incoming/friendlist/FriendParser.ts index 11fb9bcd..87046464 100644 --- a/src/nitro/communication/messages/incoming/friendlist/FriendParser.ts +++ b/src/nitro/communication/messages/incoming/friendlist/FriendParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class FriendParser { @@ -106,4 +106,4 @@ export class FriendParser { return this._relationshipStatus; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/FriendRequestData.ts b/src/nitro/communication/messages/incoming/friendlist/FriendRequestData.ts index 96d5a734..b49879e2 100644 --- a/src/nitro/communication/messages/incoming/friendlist/FriendRequestData.ts +++ b/src/nitro/communication/messages/incoming/friendlist/FriendRequestData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class FriendRequestData { @@ -36,4 +36,4 @@ export class FriendRequestData { return this._figureString; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/FriendRequestsEvent.ts b/src/nitro/communication/messages/incoming/friendlist/FriendRequestsEvent.ts index cdd1349a..cd68c8a5 100644 --- a/src/nitro/communication/messages/incoming/friendlist/FriendRequestsEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/FriendRequestsEvent.ts @@ -13,4 +13,4 @@ export class FriendRequestsEvent extends MessageEvent implements IMessageEvent { return this.parser as FriendRequestsParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/HabboSearchResultData.ts b/src/nitro/communication/messages/incoming/friendlist/HabboSearchResultData.ts index 823f6e14..544c84ce 100644 --- a/src/nitro/communication/messages/incoming/friendlist/HabboSearchResultData.ts +++ b/src/nitro/communication/messages/incoming/friendlist/HabboSearchResultData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class HabboSearchResultData { diff --git a/src/nitro/communication/messages/incoming/friendlist/HabboSearchResultEvent.ts b/src/nitro/communication/messages/incoming/friendlist/HabboSearchResultEvent.ts index 41c1b840..ae14170d 100644 --- a/src/nitro/communication/messages/incoming/friendlist/HabboSearchResultEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/HabboSearchResultEvent.ts @@ -13,4 +13,4 @@ export class HabboSearchResultEvent extends MessageEvent implements IMessageEven { return this.parser as HabboSearchResultParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/InstantMessageErrorEvent.ts b/src/nitro/communication/messages/incoming/friendlist/InstantMessageErrorEvent.ts index 54991a69..d5781105 100644 --- a/src/nitro/communication/messages/incoming/friendlist/InstantMessageErrorEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/InstantMessageErrorEvent.ts @@ -13,4 +13,4 @@ export class InstantMessageErrorEvent extends MessageEvent implements IMessageEv { return this.parser as InstantMessageErrorParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/MessageErrorEvent.ts b/src/nitro/communication/messages/incoming/friendlist/MessageErrorEvent.ts index 2a2eb4db..e40b480e 100644 --- a/src/nitro/communication/messages/incoming/friendlist/MessageErrorEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/MessageErrorEvent.ts @@ -13,4 +13,4 @@ export class MessageErrorEvent extends MessageEvent implements IMessageEvent { return this.parser as MessageErrorParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/MessengerInitEvent.ts b/src/nitro/communication/messages/incoming/friendlist/MessengerInitEvent.ts index 3b03026b..c471c2c5 100644 --- a/src/nitro/communication/messages/incoming/friendlist/MessengerInitEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/MessengerInitEvent.ts @@ -13,4 +13,4 @@ export class MessengerInitEvent extends MessageEvent implements IMessageEvent { return this.parser as MessengerInitParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/MiniMailNewMessageEvent.ts b/src/nitro/communication/messages/incoming/friendlist/MiniMailNewMessageEvent.ts index 64d40aa2..a1f34542 100644 --- a/src/nitro/communication/messages/incoming/friendlist/MiniMailNewMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/MiniMailNewMessageEvent.ts @@ -13,4 +13,4 @@ export class MiniMailNewMessageEvent extends MessageEvent implements IMessageEve { return this.parser as MiniMailNewMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/MiniMailUnreadCountEvent.ts b/src/nitro/communication/messages/incoming/friendlist/MiniMailUnreadCountEvent.ts index 36d1fcf6..ae800ddd 100644 --- a/src/nitro/communication/messages/incoming/friendlist/MiniMailUnreadCountEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/MiniMailUnreadCountEvent.ts @@ -13,4 +13,4 @@ export class MiniMailUnreadCountEvent extends MessageEvent implements IMessageEv { return this.parser as MiniMailUnreadCountParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/NewConsoleMessageEvent.ts b/src/nitro/communication/messages/incoming/friendlist/NewConsoleMessageEvent.ts index 5878bc65..dd7694fd 100644 --- a/src/nitro/communication/messages/incoming/friendlist/NewConsoleMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/NewConsoleMessageEvent.ts @@ -13,4 +13,4 @@ export class NewConsoleMessageEvent extends MessageEvent implements IMessageEven { return this.parser as NewConsoleMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/NewFriendRequestEvent.ts b/src/nitro/communication/messages/incoming/friendlist/NewFriendRequestEvent.ts index 9cb46a60..622eab56 100644 --- a/src/nitro/communication/messages/incoming/friendlist/NewFriendRequestEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/NewFriendRequestEvent.ts @@ -13,4 +13,4 @@ export class NewFriendRequestEvent extends MessageEvent implements IMessageEvent { return this.parser as NewFriendRequestParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/RoomInviteErrorEvent.ts b/src/nitro/communication/messages/incoming/friendlist/RoomInviteErrorEvent.ts index d3d9dde5..561ac040 100644 --- a/src/nitro/communication/messages/incoming/friendlist/RoomInviteErrorEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/RoomInviteErrorEvent.ts @@ -13,4 +13,4 @@ export class RoomInviteErrorEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomInviteErrorParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/friendlist/RoomInviteEvent.ts b/src/nitro/communication/messages/incoming/friendlist/RoomInviteEvent.ts index 859842fe..8abe5642 100644 --- a/src/nitro/communication/messages/incoming/friendlist/RoomInviteEvent.ts +++ b/src/nitro/communication/messages/incoming/friendlist/RoomInviteEvent.ts @@ -13,4 +13,4 @@ export class RoomInviteEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomInviteParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/game/LoadGameUrlEvent.ts b/src/nitro/communication/messages/incoming/game/LoadGameUrlEvent.ts index 85226e21..4908b481 100644 --- a/src/nitro/communication/messages/incoming/game/LoadGameUrlEvent.ts +++ b/src/nitro/communication/messages/incoming/game/LoadGameUrlEvent.ts @@ -13,4 +13,4 @@ export class LoadGameUrlEvent extends MessageEvent implements IMessageEvent { return this.parser as LoadGameUrlParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/group/GroupBadgesEvent.ts b/src/nitro/communication/messages/incoming/group/GroupBadgesEvent.ts new file mode 100644 index 00000000..4eb278d3 --- /dev/null +++ b/src/nitro/communication/messages/incoming/group/GroupBadgesEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GroupBadgesParser } from '../../parser/group/GroupBadgesParser'; + +export class GroupBadgesEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GroupBadgesParser); + } + + public getParser(): GroupBadgesParser + { + return this.parser as GroupBadgesParser; + } +} diff --git a/src/nitro/communication/messages/incoming/group/GroupConfirmMemberRemoveEvent.ts b/src/nitro/communication/messages/incoming/group/GroupConfirmMemberRemoveEvent.ts index 3550173c..7898f00b 100644 --- a/src/nitro/communication/messages/incoming/group/GroupConfirmMemberRemoveEvent.ts +++ b/src/nitro/communication/messages/incoming/group/GroupConfirmMemberRemoveEvent.ts @@ -13,4 +13,4 @@ export class GroupConfirmMemberRemoveEvent extends MessageEvent implements IMess { return this.parser as GroupConfirmMemberRemoveParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/group/GroupInformationEvent.ts b/src/nitro/communication/messages/incoming/group/GroupInformationEvent.ts index aa3d9afb..edf38a55 100644 --- a/src/nitro/communication/messages/incoming/group/GroupInformationEvent.ts +++ b/src/nitro/communication/messages/incoming/group/GroupInformationEvent.ts @@ -13,4 +13,4 @@ export class GroupInformationEvent extends MessageEvent implements IMessageEvent { return this.parser as GroupInformationParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/group/GroupMembersEvent.ts b/src/nitro/communication/messages/incoming/group/GroupMembersEvent.ts index 34e11f6a..e3f37f5e 100644 --- a/src/nitro/communication/messages/incoming/group/GroupMembersEvent.ts +++ b/src/nitro/communication/messages/incoming/group/GroupMembersEvent.ts @@ -13,4 +13,4 @@ export class GroupMembersEvent extends MessageEvent implements IMessageEvent { return this.parser as GroupMembersParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/group/GroupPurchasedEvent.ts b/src/nitro/communication/messages/incoming/group/GroupPurchasedEvent.ts new file mode 100644 index 00000000..3fb1723d --- /dev/null +++ b/src/nitro/communication/messages/incoming/group/GroupPurchasedEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GroupPurchasedParser } from '../../parser/group/GroupPurchasedParser'; + +export class GroupPurchasedEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GroupPurchasedParser); + } + + public getParser(): GroupPurchasedParser + { + return this.parser as GroupPurchasedParser; + } +} diff --git a/src/nitro/communication/messages/incoming/group/index.ts b/src/nitro/communication/messages/incoming/group/index.ts index 8dba73a7..607855e1 100644 --- a/src/nitro/communication/messages/incoming/group/index.ts +++ b/src/nitro/communication/messages/incoming/group/index.ts @@ -1,6 +1,8 @@ export * from './GroupBadgePartsEvent'; +export * from './GroupBadgesEvent'; export * from './GroupBuyDataEvent'; export * from './GroupConfirmMemberRemoveEvent'; export * from './GroupInformationEvent'; export * from './GroupMembersEvent'; +export * from './GroupPurchasedEvent'; export * from './GroupSettingsEvent'; diff --git a/src/nitro/communication/messages/incoming/help/CallForHelpDisabledNotifyMessageEvent.ts b/src/nitro/communication/messages/incoming/help/CallForHelpDisabledNotifyMessageEvent.ts new file mode 100644 index 00000000..2f7ca860 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/CallForHelpDisabledNotifyMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CallForHelpDisabledNotifyMessageParser } from '../../parser/help/CallForHelpDisabledNotifyMessageParser'; + +export class CallForHelpDisabledNotifyMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CallForHelpDisabledNotifyMessageParser); + } + + public getParser(): CallForHelpDisabledNotifyMessageParser + { + return this.parser as CallForHelpDisabledNotifyMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/CallForHelpPendingCallsDeletedMessageEvent.ts b/src/nitro/communication/messages/incoming/help/CallForHelpPendingCallsDeletedMessageEvent.ts new file mode 100644 index 00000000..c0b823bf --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/CallForHelpPendingCallsDeletedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CallForHelpPendingCallsDeletedMessageParser } from '../../parser/help/CallForHelpPendingCallsDeletedMessageParser'; + +export class CallForHelpPendingCallsDeletedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CallForHelpPendingCallsDeletedMessageParser); + } + + public getParser(): CallForHelpPendingCallsDeletedMessageParser + { + return this.parser as CallForHelpPendingCallsDeletedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/CallForHelpPendingCallsMessageEvent.ts b/src/nitro/communication/messages/incoming/help/CallForHelpPendingCallsMessageEvent.ts new file mode 100644 index 00000000..00fa3dc8 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/CallForHelpPendingCallsMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CallForHelpPendingCallsMessageParser } from '../../parser/help/CallForHelpPendingCallsMessageParser'; + +export class CallForHelpPendingCallsMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CallForHelpPendingCallsMessageParser); + } + + public getParser(): CallForHelpPendingCallsMessageParser + { + return this.parser as CallForHelpPendingCallsMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/CallForHelpReplyMessageEvent.ts b/src/nitro/communication/messages/incoming/help/CallForHelpReplyMessageEvent.ts new file mode 100644 index 00000000..a4c1aa5a --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/CallForHelpReplyMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CallForHelpReplyMessageParser } from '../../parser/help/CallForHelpReplyMessageParser'; + +export class CallForHelpReplyMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CallForHelpReplyMessageParser); + } + + public getParser(): CallForHelpReplyMessageParser + { + return this.parser as CallForHelpReplyMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/CallForHelpResultMessageEvent.ts b/src/nitro/communication/messages/incoming/help/CallForHelpResultMessageEvent.ts index 277a3166..70b21b38 100644 --- a/src/nitro/communication/messages/incoming/help/CallForHelpResultMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/help/CallForHelpResultMessageEvent.ts @@ -13,4 +13,4 @@ export class CallForHelpResultMessageEvent extends MessageEvent implements IMess { return this.parser as CallForHelpResultMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/help/ChatReviewSessionDetachedMessageEvent.ts b/src/nitro/communication/messages/incoming/help/ChatReviewSessionDetachedMessageEvent.ts new file mode 100644 index 00000000..a1a835c2 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/ChatReviewSessionDetachedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ChatReviewSessionDetachedMessageParser } from '../../parser/help/ChatReviewSessionDetachedMessageParser'; + +export class ChatReviewSessionDetachedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ChatReviewSessionDetachedMessageParser); + } + + public getParser(): ChatReviewSessionDetachedMessageParser + { + return this.parser as ChatReviewSessionDetachedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/ChatReviewSessionOfferedToGuideMessageEvent.ts b/src/nitro/communication/messages/incoming/help/ChatReviewSessionOfferedToGuideMessageEvent.ts new file mode 100644 index 00000000..c695498b --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/ChatReviewSessionOfferedToGuideMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ChatReviewSessionOfferedToGuideMessageParser } from '../../parser/help/ChatReviewSessionOfferedToGuideMessageParser'; + +export class ChatReviewSessionOfferedToGuideMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ChatReviewSessionOfferedToGuideMessageParser); + } + + public getParser(): ChatReviewSessionOfferedToGuideMessageParser + { + return this.parser as ChatReviewSessionOfferedToGuideMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/ChatReviewSessionResultsMessageEvent.ts b/src/nitro/communication/messages/incoming/help/ChatReviewSessionResultsMessageEvent.ts new file mode 100644 index 00000000..75b50343 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/ChatReviewSessionResultsMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ChatReviewSessionResultsMessageParser } from '../../parser/help/ChatReviewSessionResultsMessageParser'; + +export class ChatReviewSessionResultsMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ChatReviewSessionResultsMessageParser); + } + + public getParser(): ChatReviewSessionResultsMessageParser + { + return this.parser as ChatReviewSessionResultsMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/ChatReviewSessionStartedMessageEvent.ts b/src/nitro/communication/messages/incoming/help/ChatReviewSessionStartedMessageEvent.ts new file mode 100644 index 00000000..acb47b5f --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/ChatReviewSessionStartedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ChatReviewSessionStartedMessageParser } from '../../parser/help/ChatReviewSessionStartedMessageParser'; + +export class ChatReviewSessionStartedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ChatReviewSessionStartedMessageParser); + } + + public getParser(): ChatReviewSessionStartedMessageParser + { + return this.parser as ChatReviewSessionStartedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/ChatReviewSessionVotingStatusMessageEvent.ts b/src/nitro/communication/messages/incoming/help/ChatReviewSessionVotingStatusMessageEvent.ts new file mode 100644 index 00000000..34471608 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/ChatReviewSessionVotingStatusMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ChatReviewSessionVotingStatusMessageParser } from '../../parser/help/ChatReviewSessionVotingStatusMessageParser'; + +export class ChatReviewSessionVotingStatusMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ChatReviewSessionVotingStatusMessageParser); + } + + public getParser(): ChatReviewSessionVotingStatusMessageParser + { + return this.parser as ChatReviewSessionVotingStatusMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideOnDutyStatusMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideOnDutyStatusMessageEvent.ts new file mode 100644 index 00000000..72f411d5 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideOnDutyStatusMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideOnDutyStatusMessageParser } from '../../parser/help/GuideOnDutyStatusMessageParser'; + +export class GuideOnDutyStatusMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideOnDutyStatusMessageParser); + } + + public getParser(): GuideOnDutyStatusMessageParser + { + return this.parser as GuideOnDutyStatusMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideReportingStatusMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideReportingStatusMessageEvent.ts new file mode 100644 index 00000000..72a89fd3 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideReportingStatusMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideReportingStatusMessageParser } from './../../parser/help/GuideReportingStatusMessageParser'; + +export class GuideReportingStatusMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideReportingStatusMessageParser); + } + + public getParser(): GuideReportingStatusMessageParser + { + return this.parser as GuideReportingStatusMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideSessionAttachedMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideSessionAttachedMessageEvent.ts new file mode 100644 index 00000000..9165f5cc --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideSessionAttachedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideSessionAttachedMessageParser } from '../../parser/help/GuideSessionAttachedMessageParser'; + +export class GuideSessionAttachedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideSessionAttachedMessageParser); + } + + public getParser(): GuideSessionAttachedMessageParser + { + return this.parser as GuideSessionAttachedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideSessionDetachedMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideSessionDetachedMessageEvent.ts new file mode 100644 index 00000000..16b4473c --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideSessionDetachedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideSessionDetachedMessageParser } from '../../parser/help/GuideSessionDetachedMessageParser'; + +export class GuideSessionDetachedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideSessionDetachedMessageParser); + } + + public getParser(): GuideSessionDetachedMessageParser + { + return this.parser as GuideSessionDetachedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideSessionEndedMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideSessionEndedMessageEvent.ts new file mode 100644 index 00000000..5aa1e2e8 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideSessionEndedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideSessionEndedMessageParser } from '../../parser/help/GuideSessionEndedMessageParser'; + +export class GuideSessionEndedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideSessionEndedMessageParser); + } + + public getParser(): GuideSessionEndedMessageParser + { + return this.parser as GuideSessionEndedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideSessionErrorMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideSessionErrorMessageEvent.ts new file mode 100644 index 00000000..a6199407 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideSessionErrorMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideSessionErrorMessageParser } from '../../parser/help/GuideSessionErrorMessageParser'; + +export class GuideSessionErrorMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideSessionErrorMessageParser); + } + + public getParser(): GuideSessionErrorMessageParser + { + return this.parser as GuideSessionErrorMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideSessionInvitedToGuideRoomMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideSessionInvitedToGuideRoomMessageEvent.ts new file mode 100644 index 00000000..d7926ef5 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideSessionInvitedToGuideRoomMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideSessionInvitedToGuideRoomMessageParser } from '../../parser/help/GuideSessionInvitedToGuideRoomMessageParser'; + +export class GuideSessionInvitedToGuideRoomMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideSessionInvitedToGuideRoomMessageParser); + } + + public getParser(): GuideSessionInvitedToGuideRoomMessageParser + { + return this.parser as GuideSessionInvitedToGuideRoomMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideSessionMessageMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideSessionMessageMessageEvent.ts new file mode 100644 index 00000000..e7d720bd --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideSessionMessageMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideSessionMessageMessageParser } from '../../parser/help/GuideSessionMessageMessageParser'; + +export class GuideSessionMessageMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideSessionMessageMessageParser); + } + + public getParser(): GuideSessionMessageMessageParser + { + return this.parser as GuideSessionMessageMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideSessionPartnerIsTypingMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideSessionPartnerIsTypingMessageEvent.ts new file mode 100644 index 00000000..6d987656 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideSessionPartnerIsTypingMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideSessionPartnerIsTypingMessageParser } from '../../parser/help/GuideSessionPartnerIsTypingMessageParser'; + +export class GuideSessionPartnerIsTypingMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideSessionPartnerIsTypingMessageParser); + } + + public getParser(): GuideSessionPartnerIsTypingMessageParser + { + return this.parser as GuideSessionPartnerIsTypingMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideSessionRequesterRoomMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideSessionRequesterRoomMessageEvent.ts new file mode 100644 index 00000000..d4d88c4b --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideSessionRequesterRoomMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideSessionRequesterRoomMessageParser } from '../../parser/help/GuideSessionRequesterRoomMessageParser'; + +export class GuideSessionRequesterRoomMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideSessionRequesterRoomMessageParser); + } + + public getParser(): GuideSessionRequesterRoomMessageParser + { + return this.parser as GuideSessionRequesterRoomMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideSessionStartedMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideSessionStartedMessageEvent.ts new file mode 100644 index 00000000..4e5c91ba --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideSessionStartedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideSessionStartedMessageParser } from '../../parser/help/GuideSessionStartedMessageParser'; + +export class GuideSessionStartedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideSessionStartedMessageParser); + } + + public getParser(): GuideSessionStartedMessageParser + { + return this.parser as GuideSessionStartedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideTicketCreationResultMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideTicketCreationResultMessageEvent.ts new file mode 100644 index 00000000..82834816 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideTicketCreationResultMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideTicketCreationResultMessageParser } from '../../parser/help/GuideTicketCreationResultMessageParser'; + +export class GuideTicketCreationResultMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideTicketCreationResultMessageParser); + } + + public getParser(): GuideTicketCreationResultMessageParser + { + return this.parser as GuideTicketCreationResultMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/GuideTicketResolutionMessageEvent.ts b/src/nitro/communication/messages/incoming/help/GuideTicketResolutionMessageEvent.ts new file mode 100644 index 00000000..e72ca515 --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/GuideTicketResolutionMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuideTicketResolutionMessageParser } from '../../parser/help/GuideTicketResolutionMessageParser'; + +export class GuideTicketResolutionMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuideTicketResolutionMessageParser); + } + + public getParser(): GuideTicketResolutionMessageParser + { + return this.parser as GuideTicketResolutionMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/HotelMergeNameChangeEvent.ts b/src/nitro/communication/messages/incoming/help/HotelMergeNameChangeEvent.ts new file mode 100644 index 00000000..ded04e0c --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/HotelMergeNameChangeEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { HotelMergeNameChangeParser } from '../../parser/help/HotelMergeNameChangeParser'; + +export class HotelMergeNameChangeEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, HotelMergeNameChangeParser); + } + + public getParser(): HotelMergeNameChangeParser + { + return this.parser as HotelMergeNameChangeParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/IssueCloseNotificationMessageEvent.ts b/src/nitro/communication/messages/incoming/help/IssueCloseNotificationMessageEvent.ts new file mode 100644 index 00000000..165e8bda --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/IssueCloseNotificationMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { IssueCloseNotificationMessageParser } from '../../parser/help/IssueCloseNotificationMessageParser'; + +export class IssueCloseNotificationMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, IssueCloseNotificationMessageParser); + } + + public getParser(): IssueCloseNotificationMessageParser + { + return this.parser as IssueCloseNotificationMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/QuizDataMessageEvent.ts b/src/nitro/communication/messages/incoming/help/QuizDataMessageEvent.ts new file mode 100644 index 00000000..5435e27d --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/QuizDataMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { QuizDataMessageParser } from '../../parser/help/QuizDataMessageParser'; + +export class QuizDataMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, QuizDataMessageParser); + } + + public getParser(): QuizDataMessageParser + { + return this.parser as QuizDataMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/QuizResultsMessageEvent.ts b/src/nitro/communication/messages/incoming/help/QuizResultsMessageEvent.ts new file mode 100644 index 00000000..5460df5d --- /dev/null +++ b/src/nitro/communication/messages/incoming/help/QuizResultsMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { QuizResultsMessageParser } from '../../parser/help/QuizResultsMessageParser'; + +export class QuizResultsMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, QuizResultsMessageParser); + } + + public getParser(): QuizResultsMessageParser + { + return this.parser as QuizResultsMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/help/index.ts b/src/nitro/communication/messages/incoming/help/index.ts index 82185bf2..0c0dc829 100644 --- a/src/nitro/communication/messages/incoming/help/index.ts +++ b/src/nitro/communication/messages/incoming/help/index.ts @@ -1 +1,26 @@ +export * from './CallForHelpDisabledNotifyMessageEvent'; +export * from './CallForHelpPendingCallsDeletedMessageEvent'; +export * from './CallForHelpPendingCallsMessageEvent'; +export * from './CallForHelpReplyMessageEvent'; export * from './CallForHelpResultMessageEvent'; +export * from './ChatReviewSessionDetachedMessageEvent'; +export * from './ChatReviewSessionOfferedToGuideMessageEvent'; +export * from './ChatReviewSessionResultsMessageEvent'; +export * from './ChatReviewSessionStartedMessageEvent'; +export * from './ChatReviewSessionVotingStatusMessageEvent'; +export * from './GuideOnDutyStatusMessageEvent'; +export * from './GuideSessionAttachedMessageEvent'; +export * from './GuideSessionDetachedMessageEvent'; +export * from './GuideSessionEndedMessageEvent'; +export * from './GuideSessionErrorMessageEvent'; +export * from './GuideSessionInvitedToGuideRoomMessageEvent'; +export * from './GuideSessionMessageMessageEvent'; +export * from './GuideSessionPartnerIsTypingMessageEvent'; +export * from './GuideSessionRequesterRoomMessageEvent'; +export * from './GuideSessionStartedMessageEvent'; +export * from './GuideTicketCreationResultMessageEvent'; +export * from './GuideTicketResolutionMessageEvent'; +export * from './HotelMergeNameChangeEvent'; +export * from './IssueCloseNotificationMessageEvent'; +export * from './QuizDataMessageEvent'; +export * from './QuizResultsMessageEvent'; diff --git a/src/nitro/communication/messages/incoming/index.ts b/src/nitro/communication/messages/incoming/index.ts index 997f29e8..a45dac4b 100644 --- a/src/nitro/communication/messages/incoming/index.ts +++ b/src/nitro/communication/messages/incoming/index.ts @@ -1,8 +1,11 @@ +export * from './advertisement'; export * from './availability'; export * from './avatar'; +export * from './bots'; +export * from './callforhelp'; export * from './camera'; +export * from './campaign'; export * from './catalog'; -export * from './catalog/marketplace'; export * from './client'; export * from './desktop'; export * from './friendlist'; @@ -15,19 +18,19 @@ export * from './inventory'; export * from './inventory/achievements'; export * from './inventory/avatareffect'; export * from './inventory/badges'; -export * from './inventory/bots'; export * from './inventory/clothes'; export * from './inventory/furni'; export * from './inventory/furni/gifts'; -export * from './inventory/marketplace'; export * from './inventory/pets'; export * from './inventory/trading'; export * from './landingview'; +export * from './marketplace'; export * from './moderation'; -export * from './modtool'; export * from './mysterybox'; export * from './navigator'; export * from './notifications'; +export * from './perk'; +export * from './poll'; export * from './quest'; export * from './room'; export * from './room/access'; @@ -46,6 +49,8 @@ export * from './room/unit'; export * from './room/unit/chat'; export * from './roomevents'; export * from './security'; +export * from './sound'; +export * from './talent'; export * from './user'; export * from './user/access'; export * from './user/data'; diff --git a/src/nitro/communication/messages/incoming/inventory/achievements/AchievementData.ts b/src/nitro/communication/messages/incoming/inventory/achievements/AchievementData.ts index c1767003..7979782b 100644 --- a/src/nitro/communication/messages/incoming/inventory/achievements/AchievementData.ts +++ b/src/nitro/communication/messages/incoming/inventory/achievements/AchievementData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class AchievementData { diff --git a/src/nitro/communication/messages/incoming/inventory/achievements/AchievementEvent.ts b/src/nitro/communication/messages/incoming/inventory/achievements/AchievementEvent.ts index 3d6a1bf5..044470f5 100644 --- a/src/nitro/communication/messages/incoming/inventory/achievements/AchievementEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/achievements/AchievementEvent.ts @@ -13,4 +13,4 @@ export class AchievementEvent extends MessageEvent implements IMessageEvent { return this.parser as AchievementParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/achievements/AchievementResolutionData.ts b/src/nitro/communication/messages/incoming/inventory/achievements/AchievementResolutionData.ts index adb44562..9a5482c6 100644 --- a/src/nitro/communication/messages/incoming/inventory/achievements/AchievementResolutionData.ts +++ b/src/nitro/communication/messages/incoming/inventory/achievements/AchievementResolutionData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class AchievementResolutionData { diff --git a/src/nitro/communication/messages/incoming/inventory/achievements/AchievementsEvent.ts b/src/nitro/communication/messages/incoming/inventory/achievements/AchievementsEvent.ts index f5698094..05dde21b 100644 --- a/src/nitro/communication/messages/incoming/inventory/achievements/AchievementsEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/achievements/AchievementsEvent.ts @@ -13,4 +13,4 @@ export class AchievementsEvent extends MessageEvent implements IMessageEvent { return this.parser as AchievementsParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/achievements/AchievementsScoreEvent.ts b/src/nitro/communication/messages/incoming/inventory/achievements/AchievementsScoreEvent.ts index 92735e26..0be7f785 100644 --- a/src/nitro/communication/messages/incoming/inventory/achievements/AchievementsScoreEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/achievements/AchievementsScoreEvent.ts @@ -13,4 +13,4 @@ export class AchievementsScoreEvent extends MessageEvent implements IMessageEven { return this.parser as AchievementsScoreParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/badges/IsBadgeRequestFulfilledEvent.ts b/src/nitro/communication/messages/incoming/inventory/badges/IsBadgeRequestFulfilledEvent.ts index c50a257e..c9f1beac 100644 --- a/src/nitro/communication/messages/incoming/inventory/badges/IsBadgeRequestFulfilledEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/badges/IsBadgeRequestFulfilledEvent.ts @@ -1,6 +1,7 @@ import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; import { IsBadgeRequestFulfilledParser } from '../../../parser/inventory/badges/IsBadgeRequestFulfilledParser'; + export class IsBadgeRequestFulfilledEvent extends MessageEvent implements IMessageEvent { constructor(callBack: Function) diff --git a/src/nitro/communication/messages/incoming/inventory/bots/BotInventoryEvent.ts b/src/nitro/communication/messages/incoming/inventory/bots/BotInventoryEvent.ts deleted file mode 100644 index e5452974..00000000 --- a/src/nitro/communication/messages/incoming/inventory/bots/BotInventoryEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { BotInventoryParser } from '../../../parser/inventory/bots/BotReceivedMessageParser'; - -export class BotInventoryEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, BotInventoryParser); - } - - public getParser(): BotInventoryParser - { - return this.parser as BotInventoryParser; - } -} diff --git a/src/nitro/communication/messages/incoming/inventory/clothes/FigureSetIdsMessageEvent.ts b/src/nitro/communication/messages/incoming/inventory/clothes/FigureSetIdsMessageEvent.ts index 1b68df23..c8719bee 100644 --- a/src/nitro/communication/messages/incoming/inventory/clothes/FigureSetIdsMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/clothes/FigureSetIdsMessageEvent.ts @@ -13,4 +13,4 @@ export class FigureSetIdsMessageEvent extends MessageEvent implements IMessageEv { return this.parser as FigureSetIdsMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/clothes/_Str_16135.ts b/src/nitro/communication/messages/incoming/inventory/clothes/_Str_16135.ts index 073b3397..231a4d28 100644 --- a/src/nitro/communication/messages/incoming/inventory/clothes/_Str_16135.ts +++ b/src/nitro/communication/messages/incoming/inventory/clothes/_Str_16135.ts @@ -13,4 +13,4 @@ export class _Str_16135 extends MessageEvent implements IMessageEvent { return this.parser as _Str_8728; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/clothes/_Str_17532.ts b/src/nitro/communication/messages/incoming/inventory/clothes/_Str_17532.ts index ecfb0e5f..06df9aa2 100644 --- a/src/nitro/communication/messages/incoming/inventory/clothes/_Str_17532.ts +++ b/src/nitro/communication/messages/incoming/inventory/clothes/_Str_17532.ts @@ -13,4 +13,4 @@ export class _Str_17532 extends MessageEvent implements IMessageEvent { return this.parser as _Str_9021; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListAddOrUpdateEvent.ts b/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListAddOrUpdateEvent.ts index 91ccaffe..d497690f 100644 --- a/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListAddOrUpdateEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListAddOrUpdateEvent.ts @@ -13,4 +13,4 @@ export class FurnitureListAddOrUpdateEvent extends MessageEvent implements IMess { return this.parser as FurnitureListAddOrUpdateParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListEvent.ts b/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListEvent.ts index b0a9384c..a8616b92 100644 --- a/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListEvent.ts @@ -13,4 +13,4 @@ export class FurnitureListEvent extends MessageEvent implements IMessageEvent { return this.parser as FurnitureListParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListInvalidateEvent.ts b/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListInvalidateEvent.ts index b66972d6..fe66590f 100644 --- a/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListInvalidateEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListInvalidateEvent.ts @@ -13,4 +13,4 @@ export class FurnitureListInvalidateEvent extends MessageEvent implements IMessa { return this.parser as FurnitureListInvalidateParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListRemovedEvent.ts b/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListRemovedEvent.ts index 185706f1..2e85c5cb 100644 --- a/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListRemovedEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/furni/FurnitureListRemovedEvent.ts @@ -13,4 +13,4 @@ export class FurnitureListRemovedEvent extends MessageEvent implements IMessageE { return this.parser as FurnitureListRemovedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/furni/FurniturePostItPlacedEvent.ts b/src/nitro/communication/messages/incoming/inventory/furni/FurniturePostItPlacedEvent.ts index af96c5f3..2b55894f 100644 --- a/src/nitro/communication/messages/incoming/inventory/furni/FurniturePostItPlacedEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/furni/FurniturePostItPlacedEvent.ts @@ -13,4 +13,4 @@ export class FurniturePostItPlacedEvent extends MessageEvent implements IMessage { return this.parser as FurniturePostItPlacedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/index.ts b/src/nitro/communication/messages/incoming/inventory/index.ts index d79e53bf..6146ac07 100644 --- a/src/nitro/communication/messages/incoming/inventory/index.ts +++ b/src/nitro/communication/messages/incoming/inventory/index.ts @@ -1,9 +1,7 @@ export * from './achievements'; export * from './avatareffect'; export * from './badges'; -export * from './bots'; export * from './clothes'; export * from './furni'; -export * from './marketplace'; export * from './pets'; export * from './trading'; diff --git a/src/nitro/communication/messages/incoming/inventory/marketplace/MarketplaceItemPostedEvent.ts b/src/nitro/communication/messages/incoming/inventory/marketplace/MarketplaceItemPostedEvent.ts deleted file mode 100644 index d306c8fa..00000000 --- a/src/nitro/communication/messages/incoming/inventory/marketplace/MarketplaceItemPostedEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { MarketplaceItemPostedParser } from '../../../parser/inventory/marketplace/MarketplaceItemPostedParser'; - -export class MarketplaceItemPostedEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, MarketplaceItemPostedParser); - } - - public getParser(): MarketplaceItemPostedParser - { - return this.parser as MarketplaceItemPostedParser; - } -} diff --git a/src/nitro/communication/messages/incoming/inventory/marketplace/MarketplaceSellItemEvent.ts b/src/nitro/communication/messages/incoming/inventory/marketplace/MarketplaceSellItemEvent.ts deleted file mode 100644 index 7c1d5a8f..00000000 --- a/src/nitro/communication/messages/incoming/inventory/marketplace/MarketplaceSellItemEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { MarketplaceCanMakeOfferResultParser } from '../../../parser/inventory/marketplace/MarketplaceCanMakeOfferResultParser'; - -export class MarketplaceSellItemEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, MarketplaceCanMakeOfferResultParser); - } - - public getParser(): MarketplaceCanMakeOfferResultParser - { - return this.parser as MarketplaceCanMakeOfferResultParser; - } -} diff --git a/src/nitro/communication/messages/incoming/inventory/marketplace/index.ts b/src/nitro/communication/messages/incoming/inventory/marketplace/index.ts deleted file mode 100644 index f8fb0ea6..00000000 --- a/src/nitro/communication/messages/incoming/inventory/marketplace/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './MarketplaceItemPostedEvent'; -export * from './MarketplaceSellItemEvent'; diff --git a/src/nitro/communication/messages/incoming/inventory/pets/PetReceivedMessageEvent.ts b/src/nitro/communication/messages/incoming/inventory/pets/PetReceivedMessageEvent.ts new file mode 100644 index 00000000..cfa6603b --- /dev/null +++ b/src/nitro/communication/messages/incoming/inventory/pets/PetReceivedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { PetReceivedMessageParser } from '../../../parser/inventory/pets/PetReceivedMessageParser'; + +export class PetReceivedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PetReceivedMessageParser); + } + + public getParser(): PetReceivedMessageParser + { + return this.parser as PetReceivedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/inventory/pets/index.ts b/src/nitro/communication/messages/incoming/inventory/pets/index.ts index 6e171c0d..3ed03eb2 100644 --- a/src/nitro/communication/messages/incoming/inventory/pets/index.ts +++ b/src/nitro/communication/messages/incoming/inventory/pets/index.ts @@ -1,3 +1,4 @@ export * from './PetAddedToInventoryEvent'; export * from './PetInventoryEvent'; +export * from './PetReceivedMessageEvent'; export * from './PetRemovedFromInventoryEvent'; diff --git a/src/nitro/communication/messages/incoming/inventory/trading/ItemDataStructure.ts b/src/nitro/communication/messages/incoming/inventory/trading/ItemDataStructure.ts index bb0f67be..23daeb0c 100644 --- a/src/nitro/communication/messages/incoming/inventory/trading/ItemDataStructure.ts +++ b/src/nitro/communication/messages/incoming/inventory/trading/ItemDataStructure.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; import { Nitro } from '../../../../../Nitro'; import { IObjectData } from '../../../../../room/object/data/IObjectData'; import { FurnitureDataParser } from '../../../parser/room/furniture/FurnitureDataParser'; diff --git a/src/nitro/communication/messages/incoming/inventory/trading/TradingCompletedEvent.ts b/src/nitro/communication/messages/incoming/inventory/trading/TradingCompletedEvent.ts index b1a1b462..8950725c 100644 --- a/src/nitro/communication/messages/incoming/inventory/trading/TradingCompletedEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/trading/TradingCompletedEvent.ts @@ -13,4 +13,4 @@ export class TradingCompletedEvent extends MessageEvent implements IMessageEvent { return this.parser as TradingCompletedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/trading/TradingConfirmationEvent.ts b/src/nitro/communication/messages/incoming/inventory/trading/TradingConfirmationEvent.ts index 08b81fcf..42d028d0 100644 --- a/src/nitro/communication/messages/incoming/inventory/trading/TradingConfirmationEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/trading/TradingConfirmationEvent.ts @@ -13,4 +13,4 @@ export class TradingConfirmationEvent extends MessageEvent implements IMessageEv { return this.parser as TradingConfirmationParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/trading/TradingNotOpenEvent.ts b/src/nitro/communication/messages/incoming/inventory/trading/TradingNotOpenEvent.ts index cb76ddfd..a0771333 100644 --- a/src/nitro/communication/messages/incoming/inventory/trading/TradingNotOpenEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/trading/TradingNotOpenEvent.ts @@ -13,4 +13,4 @@ export class TradingNotOpenEvent extends MessageEvent implements IMessageEvent { return this.parser as TradingNotOpenParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/trading/TradingOpenFailedEvent.ts b/src/nitro/communication/messages/incoming/inventory/trading/TradingOpenFailedEvent.ts index 0bbafe5c..4c7f5ed5 100644 --- a/src/nitro/communication/messages/incoming/inventory/trading/TradingOpenFailedEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/trading/TradingOpenFailedEvent.ts @@ -13,4 +13,4 @@ export class TradingOpenFailedEvent extends MessageEvent implements IMessageEven { return this.parser as TradingOpenFailedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/trading/TradingOtherNotAllowedEvent.ts b/src/nitro/communication/messages/incoming/inventory/trading/TradingOtherNotAllowedEvent.ts index 3b0eb484..aea5be20 100644 --- a/src/nitro/communication/messages/incoming/inventory/trading/TradingOtherNotAllowedEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/trading/TradingOtherNotAllowedEvent.ts @@ -13,4 +13,4 @@ export class TradingOtherNotAllowedEvent extends MessageEvent implements IMessag { return this.parser as TradingOtherNotAllowedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/inventory/trading/TradingYouAreNotAllowedEvent.ts b/src/nitro/communication/messages/incoming/inventory/trading/TradingYouAreNotAllowedEvent.ts index c77563a0..7d37ab00 100644 --- a/src/nitro/communication/messages/incoming/inventory/trading/TradingYouAreNotAllowedEvent.ts +++ b/src/nitro/communication/messages/incoming/inventory/trading/TradingYouAreNotAllowedEvent.ts @@ -13,4 +13,4 @@ export class TradingYouAreNotAllowedEvent extends MessageEvent implements IMessa { return this.parser as TradingYouAreNotAllowedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/landingview/PromoArticleData.ts b/src/nitro/communication/messages/incoming/landingview/PromoArticleData.ts index 9b7b086d..a13df31a 100644 --- a/src/nitro/communication/messages/incoming/landingview/PromoArticleData.ts +++ b/src/nitro/communication/messages/incoming/landingview/PromoArticleData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class PromoArticleData { diff --git a/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceBuyOfferResultEvent.ts b/src/nitro/communication/messages/incoming/marketplace/MarketplaceBuyOfferResultEvent.ts similarity index 52% rename from src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceBuyOfferResultEvent.ts rename to src/nitro/communication/messages/incoming/marketplace/MarketplaceBuyOfferResultEvent.ts index 1d3531be..234908d0 100644 --- a/src/nitro/communication/messages/incoming/catalog/marketplace/MarketplaceBuyOfferResultEvent.ts +++ b/src/nitro/communication/messages/incoming/marketplace/MarketplaceBuyOfferResultEvent.ts @@ -1,6 +1,7 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { MarketplaceBuyOfferResultParser } from '../../../parser/catalog/marketplace/MarketplaceBuyOfferResultParser'; +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { MarketplaceBuyOfferResultParser } from '../../parser/marketplace/MarketplaceBuyOfferResultParser'; + export class MarketplaceBuyOfferResultEvent extends MessageEvent implements IMessageEvent { diff --git a/src/nitro/communication/messages/incoming/marketplace/MarketplaceCanMakeOfferResult.ts b/src/nitro/communication/messages/incoming/marketplace/MarketplaceCanMakeOfferResult.ts new file mode 100644 index 00000000..43d1ee98 --- /dev/null +++ b/src/nitro/communication/messages/incoming/marketplace/MarketplaceCanMakeOfferResult.ts @@ -0,0 +1,17 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { MarketplaceCanMakeOfferResultParser } from '../../parser/marketplace/MarketplaceCanMakeOfferResultParser'; + + +export class MarketplaceCanMakeOfferResult extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, MarketplaceCanMakeOfferResultParser); + } + + public getParser(): MarketplaceCanMakeOfferResultParser + { + return this.parser as MarketplaceCanMakeOfferResultParser; + } +} diff --git a/src/nitro/communication/messages/incoming/marketplace/MarketplaceCancelOfferResultEvent.ts b/src/nitro/communication/messages/incoming/marketplace/MarketplaceCancelOfferResultEvent.ts new file mode 100644 index 00000000..cee1646d --- /dev/null +++ b/src/nitro/communication/messages/incoming/marketplace/MarketplaceCancelOfferResultEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { MarketplaceCancelOfferResultParser } from '../../parser/marketplace/MarketplaceCancelOfferResultParser'; + +export class MarketplaceCancelOfferResultEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, MarketplaceCancelOfferResultParser); + } + + public getParser(): MarketplaceCancelOfferResultParser + { + return this.parser as MarketplaceCancelOfferResultParser; + } +} diff --git a/src/nitro/communication/messages/incoming/marketplace/MarketplaceConfigurationEvent.ts b/src/nitro/communication/messages/incoming/marketplace/MarketplaceConfigurationEvent.ts new file mode 100644 index 00000000..ac957ee1 --- /dev/null +++ b/src/nitro/communication/messages/incoming/marketplace/MarketplaceConfigurationEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { MarketplaceConfigurationMessageParser } from '../../parser/marketplace/MarketplaceConfigurationMessageParser'; + +export class MarketplaceConfigurationEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, MarketplaceConfigurationMessageParser); + } + + public getParser(): MarketplaceConfigurationMessageParser + { + return this.parser as MarketplaceConfigurationMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/catalog/MarketplaceItemStatsEvent.ts b/src/nitro/communication/messages/incoming/marketplace/MarketplaceItemStatsEvent.ts similarity index 83% rename from src/nitro/communication/messages/incoming/catalog/MarketplaceItemStatsEvent.ts rename to src/nitro/communication/messages/incoming/marketplace/MarketplaceItemStatsEvent.ts index 55637b81..b29cad1e 100644 --- a/src/nitro/communication/messages/incoming/catalog/MarketplaceItemStatsEvent.ts +++ b/src/nitro/communication/messages/incoming/marketplace/MarketplaceItemStatsEvent.ts @@ -1,7 +1,6 @@ import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { MarketplaceItemStatsParser } from '../../parser/catalog/MarketplaceItemStatsParser'; - +import { MarketplaceItemStatsParser } from '../../parser/marketplace/MarketplaceItemStatsParser'; export class MarketplaceItemStatsEvent extends MessageEvent implements IMessageEvent { diff --git a/src/nitro/communication/messages/incoming/marketplace/MarketplaceMakeOfferResult.ts b/src/nitro/communication/messages/incoming/marketplace/MarketplaceMakeOfferResult.ts new file mode 100644 index 00000000..8a006cd6 --- /dev/null +++ b/src/nitro/communication/messages/incoming/marketplace/MarketplaceMakeOfferResult.ts @@ -0,0 +1,17 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { MarketplaceMakeOfferResultParser } from '../../parser/marketplace/MarketplaceItemPostedParser'; + + +export class MarketplaceMakeOfferResult extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, MarketplaceMakeOfferResultParser); + } + + public getParser(): MarketplaceMakeOfferResultParser + { + return this.parser as MarketplaceMakeOfferResultParser; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOffer.ts b/src/nitro/communication/messages/incoming/marketplace/MarketplaceOffer.ts similarity index 50% rename from src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOffer.ts rename to src/nitro/communication/messages/incoming/marketplace/MarketplaceOffer.ts index 872d292d..0c05e2dc 100644 --- a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOffer.ts +++ b/src/nitro/communication/messages/incoming/marketplace/MarketplaceOffer.ts @@ -1,19 +1,19 @@ -import { IObjectData } from '../../../../../room/object/data/IObjectData'; +import { IObjectData } from '../../../../room/object/data/IObjectData'; export class MarketplaceOffer { - private readonly _offerId:number; - private readonly _furniId:number; - private readonly _furniType:number; - private readonly _extraData:string; + private readonly _offerId: number; + private readonly _furniId: number; + private readonly _furniType: number; + private readonly _extraData: string; private readonly _stuffData:IObjectData; - private readonly _price:number; - private readonly _status:number; - private readonly _timeLeftMinutes:number = -1; - private readonly _averagePrice:number; - private readonly _offerCount:number; + private readonly _price: number; + private readonly _status: number; + private readonly _timeLeftMinutes: number = -1; + private readonly _averagePrice: number; + private readonly _offerCount: number; - constructor(offerId:number, furniId:number, furniType:number, extraData:string, stuffData:IObjectData, price:number, status:number, timeLeftMinutes:number, averagePrice:number, offerCount:number=-1) + constructor(offerId: number, furniId: number, furniType: number, extraData: string, stuffData:IObjectData, price: number, status: number, timeLeftMinutes: number, averagePrice: number, offerCount: number=-1) { this._offerId = offerId; this._furniId = furniId; @@ -27,22 +27,22 @@ export class MarketplaceOffer this._offerCount = offerCount; } - public get offerId():number + public get offerId(): number { return this._offerId; } - public get furniId():number + public get furniId(): number { return this._furniId; } - public get furniType():number + public get furniType(): number { return this._furniType; } - public get extraData():string + public get extraData(): string { return this._extraData; } @@ -52,32 +52,32 @@ export class MarketplaceOffer return this._stuffData; } - public get price():number + public get price(): number { return this._price; } - public get status():number + public get status(): number { return this._status; } - public get timeLeftMinutes():number + public get timeLeftMinutes(): number { return this._timeLeftMinutes; } - public get averagePrice():number + public get averagePrice(): number { return this._averagePrice; } - public get offerCount():number + public get offerCount(): number { return this._offerCount; } - public get isUniqueLimitedItem():boolean + public get isUniqueLimitedItem(): boolean { return (!(this.stuffData == null)) && (this.stuffData.uniqueSeries > 0); } diff --git a/src/nitro/communication/messages/incoming/marketplace/MarketplaceOffersEvent.ts b/src/nitro/communication/messages/incoming/marketplace/MarketplaceOffersEvent.ts new file mode 100644 index 00000000..6f3d0e74 --- /dev/null +++ b/src/nitro/communication/messages/incoming/marketplace/MarketplaceOffersEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { MarketplaceOffersParser } from '../../parser/marketplace/MarketplaceOffersParser'; + +export class MarketPlaceOffersEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, MarketplaceOffersParser); + } + + public getParser(): MarketplaceOffersParser + { + return this.parser as MarketplaceOffersParser; + } +} diff --git a/src/nitro/communication/messages/incoming/marketplace/MarketplaceOwnOffersEvent.ts b/src/nitro/communication/messages/incoming/marketplace/MarketplaceOwnOffersEvent.ts new file mode 100644 index 00000000..57220249 --- /dev/null +++ b/src/nitro/communication/messages/incoming/marketplace/MarketplaceOwnOffersEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { MarketplaceOwnOffersParser } from '../../parser/marketplace/MarketplaceOwnOffersParser'; + +export class MarketplaceOwnOffersEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, MarketplaceOwnOffersParser); + } + + public getParser(): MarketplaceOwnOffersParser + { + return this.parser as MarketplaceOwnOffersParser; + } +} diff --git a/src/nitro/communication/messages/incoming/marketplace/index.ts b/src/nitro/communication/messages/incoming/marketplace/index.ts new file mode 100644 index 00000000..df0f5ccf --- /dev/null +++ b/src/nitro/communication/messages/incoming/marketplace/index.ts @@ -0,0 +1,9 @@ +export * from './MarketplaceBuyOfferResultEvent'; +export * from './MarketplaceCancelOfferResultEvent'; +export * from './MarketplaceCanMakeOfferResult'; +export * from './MarketplaceConfigurationEvent'; +export * from './MarketplaceItemStatsEvent'; +export * from './MarketplaceMakeOfferResult'; +export * from './MarketplaceOffer'; +export * from './MarketplaceOffersEvent'; +export * from './MarketplaceOwnOffersEvent'; diff --git a/src/nitro/communication/messages/incoming/moderation/CfhChatlogData.ts b/src/nitro/communication/messages/incoming/moderation/CfhChatlogData.ts new file mode 100644 index 00000000..b2c9d38e --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/CfhChatlogData.ts @@ -0,0 +1,45 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { ChatRecordData } from './ChatRecordData'; + +export class CfhChatlogData +{ + private _issueId: number; + private _callerUserId: number; + private _reportedUserId: number; + private _chatRecordId: number; + private _chatRecord: ChatRecordData + + constructor(k:IMessageDataWrapper) + { + this._issueId = k.readInt(); + this._callerUserId = k.readInt(); + this._reportedUserId = k.readInt(); + this._chatRecordId = k.readInt(); + this._chatRecord = new ChatRecordData(k); + } + + public get issueId(): number + { + return this._issueId; + } + + public get callerUserId(): number + { + return this._callerUserId; + } + + public get reportedUserId(): number + { + return this._reportedUserId; + } + + public get chatRecordId(): number + { + return this._chatRecordId; + } + + public get chatRecord(): ChatRecordData + { + return this._chatRecord; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/CfhChatlogEvent.ts b/src/nitro/communication/messages/incoming/moderation/CfhChatlogEvent.ts new file mode 100644 index 00000000..f6abdf5a --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/CfhChatlogEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { CfhChatlogMessageParser } from '../../parser/moderation/CfhChatlogMessageParser'; + +export class CfhChatlogEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, CfhChatlogMessageParser); + } + + public getParser(): CfhChatlogMessageParser + { + return this.parser as CfhChatlogMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/ChatRecordData.ts b/src/nitro/communication/messages/incoming/moderation/ChatRecordData.ts new file mode 100644 index 00000000..d1a66382 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/ChatRecordData.ts @@ -0,0 +1,110 @@ +import { IMessageDataWrapper } from '../../../../..'; +import { ChatlineData } from './ChatlineData'; + +export class ChatRecordData +{ + public static readonly TYPE_SIMPLE = 0; + public static readonly TYPE_ROOM_CHAT = 1; + public static readonly TYPE_IM_SESSION = 2; + public static readonly TYPE_DISCUSSION_THREAD = 3; + public static readonly TYPE_DISCUSSION_MESSAGE = 4; + public static readonly TYPE_SELFIE = 5; + public static readonly TYPE_PHOTO = 6; + + private _recordType:number; + private _context:Map; + private _chatlog:ChatlineData[]; + + constructor(wrapper: IMessageDataWrapper) + { + this._context = new Map(); + this._chatlog = []; + + this._recordType = wrapper.readByte(); + const contextCount = wrapper.readShort(); + + for(let i = 0; i < contextCount; i++) + { + const key = wrapper.readString(); + const type = wrapper.readByte(); + + switch(type) + { + case 0: + this._context.set(key, wrapper.readBoolean()); + break; + case 1: + this._context.set(key, wrapper.readInt()); + break; + case 2: + this._context.set(key, wrapper.readString()); + break; + default: + throw new Error('Unknown data type ' + type); + } + } + + const chatCount = wrapper.readShort(); + + for(let i = 0; i < chatCount; i++) + { + const timestamp = wrapper.readString(); + const habboId = wrapper.readInt(); + const username = wrapper.readString(); + const message = wrapper.readString(); + const hasHighlighting = wrapper.readBoolean(); + + this._chatlog.push(new ChatlineData(timestamp, habboId, username, message, hasHighlighting)); + } + } + + public get recordType():number + { + return this._recordType; + } + + public get context():Map + { + return this._context; + } + + public get chatlog():ChatlineData[] + { + return this._chatlog; + } + + public get roomId():number + { + return this.getInt('roomId'); + } + + public get roomName():string + { + return this._context.get('roomName') as string; + } + + public get groupId():number + { + return this.getInt('groupId'); + } + + public get threadId():number + { + return this.getInt('threadId'); + } + + public get messageId(): number + { + return this.getInt('messageId'); + } + + private getInt(k:string): number + { + const value = this._context.get(k); + if(!value) + { + return 0; + } + return value as number; + } +} diff --git a/src/nitro/communication/messages/parser/modtool/utils/ModtoolRoomChatlogLine.ts b/src/nitro/communication/messages/incoming/moderation/ChatlineData.ts similarity index 72% rename from src/nitro/communication/messages/parser/modtool/utils/ModtoolRoomChatlogLine.ts rename to src/nitro/communication/messages/incoming/moderation/ChatlineData.ts index 8a52900a..32432b7f 100644 --- a/src/nitro/communication/messages/parser/modtool/utils/ModtoolRoomChatlogLine.ts +++ b/src/nitro/communication/messages/incoming/moderation/ChatlineData.ts @@ -1,20 +1,18 @@ -import { IChatlog } from './IChatlog'; - -export class ModtoolRoomChatlogLine implements IChatlog +export class ChatlineData { private readonly _timestamp: string; private readonly _habboId: number; private readonly _username: string; private readonly _message: string; - private _boolean: boolean; + private readonly _hasHighlighting: boolean; - constructor(timestamp: string, habboId: number, username: string, message: string, boolean: boolean) + constructor(timestamp: string, habboId: number, username: string, message: string, hasHighlighting: boolean) { this._timestamp = timestamp; this._habboId = habboId; this._username = username; this._message = message; - this._boolean = boolean; + this._hasHighlighting = hasHighlighting; } public get timestamp(): string @@ -36,4 +34,9 @@ export class ModtoolRoomChatlogLine implements IChatlog { return this._message; } + + public get hasHighlighting(): boolean + { + return this._hasHighlighting; + } } diff --git a/src/nitro/communication/messages/incoming/moderation/INamed.ts b/src/nitro/communication/messages/incoming/moderation/INamed.ts new file mode 100644 index 00000000..3a74243e --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/INamed.ts @@ -0,0 +1,4 @@ +export interface INamed +{ + name: string; +} diff --git a/src/nitro/communication/messages/incoming/moderation/IssueDeletedMessageEvent.ts b/src/nitro/communication/messages/incoming/moderation/IssueDeletedMessageEvent.ts new file mode 100644 index 00000000..a284b936 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/IssueDeletedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { IssueDeletedMessageParser } from '../../parser/moderation/IssueDeletedMessageParser'; + +export class IssueDeletedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, IssueDeletedMessageParser); + } + + public getParser(): IssueDeletedMessageParser + { + return this.parser as IssueDeletedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/IssueInfoMessageEvent.ts b/src/nitro/communication/messages/incoming/moderation/IssueInfoMessageEvent.ts new file mode 100644 index 00000000..c0333171 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/IssueInfoMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { IssueInfoMessageParser } from '../../parser/moderation/IssueInfoMessageParser'; + +export class IssueInfoMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, IssueInfoMessageParser); + } + + public getParser(): IssueInfoMessageParser + { + return this.parser as IssueInfoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/IssuePickFailedMessageEvent.ts b/src/nitro/communication/messages/incoming/moderation/IssuePickFailedMessageEvent.ts new file mode 100644 index 00000000..23dfcc91 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/IssuePickFailedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { IssuePickFailedMessageParser } from '../../parser/moderation/IssuePickFailedMessageParser'; + +export class IssuePickFailedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, IssuePickFailedMessageParser); + } + + public getParser(): IssuePickFailedMessageParser + { + return this.parser as IssuePickFailedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/ModRoomData.ts b/src/nitro/communication/messages/incoming/moderation/ModRoomData.ts new file mode 100644 index 00000000..9fef6466 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/ModRoomData.ts @@ -0,0 +1,65 @@ +import { IDisposable } from '../../../../../core/common/disposable/IDisposable'; +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; + +export class ModRoomData implements IDisposable +{ + private _exists:boolean; + private _name:string; + private _desc:string; + private _tags:string[]; + private _disposed:boolean; + + constructor(k:IMessageDataWrapper) + { + this._tags = []; + this._exists = k.readBoolean(); + if(!this.exists) + { + return; + } + this._name = k.readString(); + this._desc = k.readString(); + + const tagCount = k.readInt(); + + for(let i = 0; i < tagCount; i++) + { + this._tags.push(k.readString()); + } + } + + public get name():string + { + return this._name; + } + + public get desc():string + { + return this._desc; + } + + public get tags():string[] + { + return this._tags; + } + + public get exists():boolean + { + return this._exists; + } + + public get disposed():boolean + { + return this._disposed; + } + + public dispose():void + { + if(this._disposed) + { + return; + } + this._disposed = true; + this._tags = null; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/ModeratorActionResultMessageEvent.ts b/src/nitro/communication/messages/incoming/moderation/ModeratorActionResultMessageEvent.ts new file mode 100644 index 00000000..67aecfad --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/ModeratorActionResultMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ModeratorActionResultMessageParser } from '../../parser/moderation/ModeratorActionResultMessageParser'; + +export class ModeratorActionResultMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ModeratorActionResultMessageParser); + } + + public getParser(): ModeratorActionResultMessageParser + { + return this.parser as ModeratorActionResultMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/ModeratorCautionEvent.ts b/src/nitro/communication/messages/incoming/moderation/ModeratorCautionEvent.ts new file mode 100644 index 00000000..9b14a0b9 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/ModeratorCautionEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ModerationCautionParser } from '../../parser/moderation'; + +export class ModeratorCautionEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ModerationCautionParser); + } + + public getParser(): ModerationCautionParser + { + return this.parser as ModerationCautionParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/ModeratorInitMessageEvent.ts b/src/nitro/communication/messages/incoming/moderation/ModeratorInitMessageEvent.ts new file mode 100644 index 00000000..141f13a8 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/ModeratorInitMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ModeratorInitMessageParser } from '../../parser/moderation/ModeratorInitMessageParser'; + +export class ModeratorInitMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ModeratorInitMessageParser); + } + + public getParser(): ModeratorInitMessageParser + { + return this.parser as ModeratorInitMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/ModeratorMessageEvent.ts b/src/nitro/communication/messages/incoming/moderation/ModeratorMessageEvent.ts index d63d55ac..58103ccf 100644 --- a/src/nitro/communication/messages/incoming/moderation/ModeratorMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/moderation/ModeratorMessageEvent.ts @@ -13,4 +13,4 @@ export class ModeratorMessageEvent extends MessageEvent implements IMessageEvent { return this.parser as ModeratorMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/moderation/ModeratorRoomInfoEvent.ts b/src/nitro/communication/messages/incoming/moderation/ModeratorRoomInfoEvent.ts new file mode 100644 index 00000000..b70e209a --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/ModeratorRoomInfoEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ModeratorRoomInfoMessageParser } from '../../parser/moderation/ModeratorRoomInfoMessageParser'; + +export class ModeratorRoomInfoEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ModeratorRoomInfoMessageParser); + } + + public getParser(): ModeratorRoomInfoMessageParser + { + return this.parser as ModeratorRoomInfoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/ModeratorToolPreferencesEvent.ts b/src/nitro/communication/messages/incoming/moderation/ModeratorToolPreferencesEvent.ts new file mode 100644 index 00000000..3dd6f913 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/ModeratorToolPreferencesEvent.ts @@ -0,0 +1,16 @@ +import { ModeratorToolPreferencesMessageParser } from '../..'; +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; + +export class ModeratorToolPreferencesEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ModeratorToolPreferencesMessageParser); + } + + public getParser(): ModeratorToolPreferencesMessageParser + { + return this.parser as ModeratorToolPreferencesMessageParser; + } +} diff --git a/src/nitro/communication/messages/parser/modtool/utils/ModeratorUserInfoData.ts b/src/nitro/communication/messages/incoming/moderation/ModeratorUserInfoData.ts similarity index 57% rename from src/nitro/communication/messages/parser/modtool/utils/ModeratorUserInfoData.ts rename to src/nitro/communication/messages/incoming/moderation/ModeratorUserInfoData.ts index 05e18b5e..1d67048f 100644 --- a/src/nitro/communication/messages/parser/modtool/utils/ModeratorUserInfoData.ts +++ b/src/nitro/communication/messages/incoming/moderation/ModeratorUserInfoData.ts @@ -1,26 +1,26 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class ModeratorUserInfoData { - private _userId:number; - private _userName:string; - private _registrationAgeInMinutes:number; - private _minutesSinceLastLogin:number; - private _online:boolean; - private _cfhCount:number; - private _abusiveCfhCount:number; - private _cautionCount:number; - private _banCount:number; - private _tradingLockCount:number; - private _tradingExpiryDate:string; - private _lastPurchaseDate:string; - private _identityId:number; - private _identityRelatedBanCount:number; - private _primaryEmailAddress:string; - private _figure:string; - private _userClassification:string; - private _lastSanctionTime:string = ''; - private _sanctionAgeHours:number = 0; + private _userId: number; + private _userName: string; + private _registrationAgeInMinutes: number; + private _minutesSinceLastLogin: number; + private _online: boolean; + private _cfhCount: number; + private _abusiveCfhCount: number; + private _cautionCount: number; + private _banCount: number; + private _tradingLockCount: number; + private _tradingExpiryDate: string; + private _lastPurchaseDate: string; + private _identityId: number; + private _identityRelatedBanCount: number; + private _primaryEmailAddress: string; + private _figure: string; + private _userClassification: string; + private _lastSanctionTime: string = ''; + private _sanctionAgeHours: number = 0; constructor(wrapper: IMessageDataWrapper) { @@ -48,97 +48,97 @@ export class ModeratorUserInfoData } } - public get userId():number + public get userId(): number { return this._userId; } - public get userName():string + public get userName(): string { return this._userName; } - public get figure():string + public get figure(): string { return this._figure; } - public get registrationAgeInMinutes():number + public get registrationAgeInMinutes(): number { return this._registrationAgeInMinutes; } - public get minutesSinceLastLogin():number + public get minutesSinceLastLogin(): number { return this._minutesSinceLastLogin; } - public get online():boolean + public get online(): boolean { return this._online; } - public get cfhCount():number + public get cfhCount(): number { return this._cfhCount; } - public get abusiveCfhCount():number + public get abusiveCfhCount(): number { return this._abusiveCfhCount; } - public get cautionCount():number + public get cautionCount(): number { return this._cautionCount; } - public get banCount():number + public get banCount(): number { return this._banCount; } - public get tradingLockCount():number + public get tradingLockCount(): number { return this._tradingLockCount; } - public get tradingExpiryDate():string + public get tradingExpiryDate(): string { return this._tradingExpiryDate; } - public get lastPurchaseDate():string + public get lastPurchaseDate(): string { return this._lastPurchaseDate; } - public get identityId():number + public get identityId(): number { return this._identityId; } - public get identityRelatedBanCount():number + public get identityRelatedBanCount(): number { return this._identityRelatedBanCount; } - public get primaryEmailAddress():string + public get primaryEmailAddress(): string { return this._primaryEmailAddress; } - public get userClassification():string + public get userClassification(): string { return this._userClassification; } - public get lastSanctionTime():string + public get lastSanctionTime(): string { return this._lastSanctionTime; } - public get sanctionAgeHours():number + public get sanctionAgeHours(): number { return this._sanctionAgeHours; } diff --git a/src/nitro/communication/messages/incoming/moderation/ModeratorUserInfoEvent.ts b/src/nitro/communication/messages/incoming/moderation/ModeratorUserInfoEvent.ts new file mode 100644 index 00000000..2da99427 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/ModeratorUserInfoEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ModeratorUserInfoMessageParser } from '../../parser/moderation/ModeratorUserInfoMessageParser'; + +export class ModeratorUserInfoEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ModeratorUserInfoMessageParser); + } + + public getParser(): ModeratorUserInfoMessageParser + { + return this.parser as ModeratorUserInfoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/RoomChatlogEvent.ts b/src/nitro/communication/messages/incoming/moderation/RoomChatlogEvent.ts new file mode 100644 index 00000000..791a2b30 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/RoomChatlogEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { RoomChatlogMessageParser } from '../../parser/moderation/RoomChatlogMessageParser'; + +export class RoomChatlogEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, RoomChatlogMessageParser); + } + + public getParser(): RoomChatlogMessageParser + { + return this.parser as RoomChatlogMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/RoomModerationData.ts b/src/nitro/communication/messages/incoming/moderation/RoomModerationData.ts new file mode 100644 index 00000000..1a7950c5 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/RoomModerationData.ts @@ -0,0 +1,73 @@ +import { IDisposable } from '../../../../../core/common/disposable/IDisposable'; +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { ModRoomData } from './ModRoomData'; + +export class RoomModerationData implements IDisposable +{ + private _flatId:number; + private _userCount:number; + private _ownerInRoom:boolean; + private _ownerId:number; + private _ownerName:string; + private _room:ModRoomData; + private _disposed:boolean; + + constructor(k:IMessageDataWrapper) + { + this._flatId = k.readInt(); + this._userCount = k.readInt(); + this._ownerInRoom = k.readBoolean(); + this._ownerId = k.readInt(); + this._ownerName = k.readString(); + this._room = new ModRoomData(k); + } + + public get flatId():number + { + return this._flatId; + } + + public get userCount():number + { + return this._userCount; + } + + public get ownerInRoom():boolean + { + return this._ownerInRoom; + } + + public get ownerId():number + { + return this._ownerId; + } + + public get ownerName():string + { + return this._ownerName; + } + + public get room():ModRoomData + { + return this._room; + } + + public get disposed():boolean + { + return this._disposed; + } + + public dispose():void + { + if(this._disposed) + { + return; + } + this._disposed = true; + if(this._room != null) + { + this._room.dispose(); + this._room = null; + } + } +} diff --git a/src/nitro/communication/messages/parser/modtool/utils/RoomVisitData.ts b/src/nitro/communication/messages/incoming/moderation/RoomVisitData.ts similarity index 53% rename from src/nitro/communication/messages/parser/modtool/utils/RoomVisitData.ts rename to src/nitro/communication/messages/incoming/moderation/RoomVisitData.ts index 53e3e279..f1026f8a 100644 --- a/src/nitro/communication/messages/parser/modtool/utils/RoomVisitData.ts +++ b/src/nitro/communication/messages/incoming/moderation/RoomVisitData.ts @@ -1,11 +1,11 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class RoomVisitData { - private _roomId:number; - private _roomName:string; - private _enterHour:number; - private _enterMinute:number; + private _roomId: number; + private _roomName: string; + private _enterHour: number; + private _enterMinute: number; constructor(k:IMessageDataWrapper) { @@ -15,22 +15,22 @@ export class RoomVisitData this._enterMinute = k.readInt(); } - public get roomId():number + public get roomId(): number { return this._roomId; } - public get roomName():string + public get roomName(): string { return this._roomName; } - public get enterHour():number + public get enterHour(): number { return this._enterHour; } - public get enterMinute():number + public get enterMinute(): number { return this._enterMinute; } diff --git a/src/nitro/communication/messages/parser/modtool/utils/ModtoolRoomVisitedData.ts b/src/nitro/communication/messages/incoming/moderation/RoomVisitsData.ts similarity index 69% rename from src/nitro/communication/messages/parser/modtool/utils/ModtoolRoomVisitedData.ts rename to src/nitro/communication/messages/incoming/moderation/RoomVisitsData.ts index e08fdd03..cc72cb10 100644 --- a/src/nitro/communication/messages/parser/modtool/utils/ModtoolRoomVisitedData.ts +++ b/src/nitro/communication/messages/incoming/moderation/RoomVisitsData.ts @@ -1,11 +1,10 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { RoomVisitData } from './RoomVisitData'; - -export class ModtoolRoomVisitedData +export class RoomVisitsData { - private _userId:number; - private _userName:string; + private _userId: number; + private _userName: string; private _rooms:RoomVisitData[]; constructor(k:IMessageDataWrapper) @@ -22,12 +21,12 @@ export class ModtoolRoomVisitedData } } - public get userId():number + public get userId(): number { return this._userId; } - public get userName():string + public get userName(): string { return this._userName; } diff --git a/src/nitro/communication/messages/incoming/moderation/RoomVisitsEvent.ts b/src/nitro/communication/messages/incoming/moderation/RoomVisitsEvent.ts new file mode 100644 index 00000000..29ff7201 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/RoomVisitsEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { RoomVisitsMessageParser } from '../../parser/moderation/RoomVisitsMessageParser'; + +export class RoomVisitsEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, RoomVisitsMessageParser); + } + + public getParser(): RoomVisitsMessageParser + { + return this.parser as RoomVisitsMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/UserBannedMessageEvent.ts b/src/nitro/communication/messages/incoming/moderation/UserBannedMessageEvent.ts new file mode 100644 index 00000000..e30f5cd7 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/UserBannedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { UserBannedMessageParser } from '../../parser/moderation'; + +export class UserBannedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, UserBannedMessageParser); + } + + public getParser(): UserBannedMessageParser + { + return this.parser as UserBannedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/UserChatlogData.ts b/src/nitro/communication/messages/incoming/moderation/UserChatlogData.ts new file mode 100644 index 00000000..4092c712 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/UserChatlogData.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper } from '../../../../..'; +import { ChatRecordData } from './ChatRecordData'; + +export class UserChatlogData +{ + private _userId: number; + private _username: string; + private _roomChatlogs: ChatRecordData[] = []; + + constructor(wrapper: IMessageDataWrapper) + { + this._userId = wrapper.readInt(); + this._username = wrapper.readString(); + const size = wrapper.readInt(); + for(let i = 0; i < size; i++) + { + this._roomChatlogs.push(new ChatRecordData(wrapper)); + } + } + + public get userId(): number + { + return this._userId; + } + + public get username(): string + { + return this._username; + } + + public get roomChatlogs(): ChatRecordData[] + { + return this._roomChatlogs; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/UserChatlogEvent.ts b/src/nitro/communication/messages/incoming/moderation/UserChatlogEvent.ts new file mode 100644 index 00000000..2413b2e7 --- /dev/null +++ b/src/nitro/communication/messages/incoming/moderation/UserChatlogEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { UserChatlogMessageParser } from '../../parser/moderation/UserChatlogMessageParser'; + +export class UserChatlogEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, UserChatlogMessageParser); + } + + public getParser(): UserChatlogMessageParser + { + return this.parser as UserChatlogMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/moderation/index.ts b/src/nitro/communication/messages/incoming/moderation/index.ts index 5cb8fd31..34640aef 100644 --- a/src/nitro/communication/messages/incoming/moderation/index.ts +++ b/src/nitro/communication/messages/incoming/moderation/index.ts @@ -1 +1,25 @@ +export * from './CfhChatlogData'; +export * from './CfhChatlogEvent'; +export * from './ChatlineData'; +export * from './ChatRecordData'; +export * from './INamed'; +export * from './IssueDeletedMessageEvent'; +export * from './IssueInfoMessageEvent'; +export * from './IssuePickFailedMessageEvent'; +export * from './ModeratorActionResultMessageEvent'; +export * from './ModeratorCautionEvent'; +export * from './ModeratorInitMessageEvent'; export * from './ModeratorMessageEvent'; +export * from './ModeratorRoomInfoEvent'; +export * from './ModeratorToolPreferencesEvent'; +export * from './ModeratorUserInfoData'; +export * from './ModeratorUserInfoEvent'; +export * from './ModRoomData'; +export * from './RoomChatlogEvent'; +export * from './RoomModerationData'; +export * from './RoomVisitData'; +export * from './RoomVisitsData'; +export * from './RoomVisitsEvent'; +export * from './UserBannedMessageEvent'; +export * from './UserChatlogData'; +export * from './UserChatlogEvent'; diff --git a/src/nitro/communication/messages/incoming/modtool/ModtoolCallForHelpTopicsEvent.ts b/src/nitro/communication/messages/incoming/modtool/ModtoolCallForHelpTopicsEvent.ts deleted file mode 100644 index 76d9094b..00000000 --- a/src/nitro/communication/messages/incoming/modtool/ModtoolCallForHelpTopicsEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { ModtoolCFHTopicsParser } from '../../parser/modtool/ModtoolCFHTopicsParser'; - -export class ModtoolCallForHelpTopicsEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, ModtoolCFHTopicsParser); - } - - public getParser(): ModtoolCFHTopicsParser - { - return this.parser as ModtoolCFHTopicsParser; - } -} diff --git a/src/nitro/communication/messages/incoming/modtool/ModtoolMainEvent.ts b/src/nitro/communication/messages/incoming/modtool/ModtoolMainEvent.ts deleted file mode 100644 index 63814725..00000000 --- a/src/nitro/communication/messages/incoming/modtool/ModtoolMainEvent.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { ModtoolRoomChatlogParser } from '../../parser/modtool/ModtoolRoomChatlogParser'; -import { ModtoolMainParser } from '../../parser/modtool/ModtoolMainParser'; - -export class ModtoolMainEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, ModtoolMainParser); - } - - public getParser(): ModtoolMainParser - { - return this.parser as ModtoolMainParser; - } -} diff --git a/src/nitro/communication/messages/incoming/modtool/ModtoolReceivedRoomsUserEvent.ts b/src/nitro/communication/messages/incoming/modtool/ModtoolReceivedRoomsUserEvent.ts deleted file mode 100644 index 3122afbb..00000000 --- a/src/nitro/communication/messages/incoming/modtool/ModtoolReceivedRoomsUserEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { ModtoolRoomUsersParser } from '../../parser/modtool/ModtoolRoomUsersParser'; - -export class ModtoolReceivedRoomsUserEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, ModtoolRoomUsersParser); - } - - public getParser(): ModtoolRoomUsersParser - { - return this.parser as ModtoolRoomUsersParser; - } -} diff --git a/src/nitro/communication/messages/incoming/modtool/ModtoolRoomChatlogEvent.ts b/src/nitro/communication/messages/incoming/modtool/ModtoolRoomChatlogEvent.ts deleted file mode 100644 index 1747c21c..00000000 --- a/src/nitro/communication/messages/incoming/modtool/ModtoolRoomChatlogEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { ModtoolRoomChatlogParser } from '../../parser/modtool/ModtoolRoomChatlogParser'; - -export class ModtoolRoomChatlogEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, ModtoolRoomChatlogParser); - } - - public getParser(): ModtoolRoomChatlogParser - { - return this.parser as ModtoolRoomChatlogParser; - } -} diff --git a/src/nitro/communication/messages/incoming/modtool/ModtoolRoomInfoEvent.ts b/src/nitro/communication/messages/incoming/modtool/ModtoolRoomInfoEvent.ts deleted file mode 100644 index 5e451978..00000000 --- a/src/nitro/communication/messages/incoming/modtool/ModtoolRoomInfoEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { ModtoolRoomInfoParser } from '../../parser/modtool/ModtoolRoomInfoParser'; - -export class ModtoolRoomInfoEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, ModtoolRoomInfoParser); - } - - public getParser(): ModtoolRoomInfoParser - { - return this.parser as ModtoolRoomInfoParser; - } -} diff --git a/src/nitro/communication/messages/incoming/modtool/ModtoolUserChatlogEvent.ts b/src/nitro/communication/messages/incoming/modtool/ModtoolUserChatlogEvent.ts deleted file mode 100644 index 97553c7c..00000000 --- a/src/nitro/communication/messages/incoming/modtool/ModtoolUserChatlogEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { ModtoolUserChatlogParser } from '../../parser/modtool/ModtoolUserChatlogParser'; - -export class ModtoolUserChatlogEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, ModtoolUserChatlogParser); - } - - public getParser(): ModtoolUserChatlogParser - { - return this.parser as ModtoolUserChatlogParser; - } -} diff --git a/src/nitro/communication/messages/incoming/modtool/ModtoolUserInfoEvent.ts b/src/nitro/communication/messages/incoming/modtool/ModtoolUserInfoEvent.ts deleted file mode 100644 index cd1eaa75..00000000 --- a/src/nitro/communication/messages/incoming/modtool/ModtoolUserInfoEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { ModtoolUserInfoParser } from '../../parser/modtool/ModtoolUserInfoParser'; - -export class ModtoolUserInfoEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, ModtoolUserInfoParser); - } - - public getParser(): ModtoolUserInfoParser - { - return this.parser as ModtoolUserInfoParser; - } -} diff --git a/src/nitro/communication/messages/incoming/modtool/index.ts b/src/nitro/communication/messages/incoming/modtool/index.ts deleted file mode 100644 index b0aa05ca..00000000 --- a/src/nitro/communication/messages/incoming/modtool/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './ModtoolCallForHelpTopicsEvent'; -export * from './ModtoolMainEvent'; -export * from './ModtoolReceivedRoomsUserEvent'; -export * from './ModtoolRoomChatlogEvent'; -export * from './ModtoolRoomInfoEvent'; -export * from './ModtoolUserChatlogEvent'; -export * from './ModtoolUserInfoEvent'; diff --git a/src/nitro/communication/messages/incoming/navigator/NavigatorCategoriesEvent.ts b/src/nitro/communication/messages/incoming/navigator/NavigatorCategoriesEvent.ts index 789352dd..8673f8fe 100644 --- a/src/nitro/communication/messages/incoming/navigator/NavigatorCategoriesEvent.ts +++ b/src/nitro/communication/messages/incoming/navigator/NavigatorCategoriesEvent.ts @@ -13,4 +13,4 @@ export class NavigatorCategoriesEvent extends MessageEvent implements IMessageEv { return this.parser as NavigatorCategoriesParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/navigator/NavigatorCollapsedEvent.ts b/src/nitro/communication/messages/incoming/navigator/NavigatorCollapsedEvent.ts index eee2e601..a26e0de2 100644 --- a/src/nitro/communication/messages/incoming/navigator/NavigatorCollapsedEvent.ts +++ b/src/nitro/communication/messages/incoming/navigator/NavigatorCollapsedEvent.ts @@ -13,4 +13,4 @@ export class NavigatorCollapsedEvent extends MessageEvent implements IMessageEve { return this.parser as NavigatorCollapsedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/navigator/NavigatorEventCategoriesEvent.ts b/src/nitro/communication/messages/incoming/navigator/NavigatorEventCategoriesEvent.ts index e83361a0..403addb6 100644 --- a/src/nitro/communication/messages/incoming/navigator/NavigatorEventCategoriesEvent.ts +++ b/src/nitro/communication/messages/incoming/navigator/NavigatorEventCategoriesEvent.ts @@ -13,4 +13,4 @@ export class NavigatorEventCategoriesEvent extends MessageEvent implements IMess { return this.parser as NavigatorEventCategoriesParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/navigator/NavigatorHomeRoomEvent.ts b/src/nitro/communication/messages/incoming/navigator/NavigatorHomeRoomEvent.ts index d5a444bd..932c57d5 100644 --- a/src/nitro/communication/messages/incoming/navigator/NavigatorHomeRoomEvent.ts +++ b/src/nitro/communication/messages/incoming/navigator/NavigatorHomeRoomEvent.ts @@ -13,4 +13,4 @@ export class NavigatorHomeRoomEvent extends MessageEvent implements IMessageEven { return this.parser as NavigatorHomeRoomParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/navigator/NavigatorLiftedEvent.ts b/src/nitro/communication/messages/incoming/navigator/NavigatorLiftedEvent.ts index 2624106e..4ec1f8e0 100644 --- a/src/nitro/communication/messages/incoming/navigator/NavigatorLiftedEvent.ts +++ b/src/nitro/communication/messages/incoming/navigator/NavigatorLiftedEvent.ts @@ -13,4 +13,4 @@ export class NavigatorLiftedEvent extends MessageEvent implements IMessageEvent { return this.parser as NavigatorLiftedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/navigator/NavigatorMetadataEvent.ts b/src/nitro/communication/messages/incoming/navigator/NavigatorMetadataEvent.ts index 44e7224f..c4fe9c05 100644 --- a/src/nitro/communication/messages/incoming/navigator/NavigatorMetadataEvent.ts +++ b/src/nitro/communication/messages/incoming/navigator/NavigatorMetadataEvent.ts @@ -13,4 +13,4 @@ export class NavigatorMetadataEvent extends MessageEvent implements IMessageEven { return this.parser as NavigatorMetadataParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/navigator/NavigatorOpenRoomCreatorEvent.ts b/src/nitro/communication/messages/incoming/navigator/NavigatorOpenRoomCreatorEvent.ts index 0979b5f1..ae203f0d 100644 --- a/src/nitro/communication/messages/incoming/navigator/NavigatorOpenRoomCreatorEvent.ts +++ b/src/nitro/communication/messages/incoming/navigator/NavigatorOpenRoomCreatorEvent.ts @@ -13,4 +13,4 @@ export class NavigatorOpenRoomCreatorEvent extends MessageEvent implements IMess { return this.parser as NavigatorOpenRoomCreatorParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/navigator/NavigatorSearchEvent.ts b/src/nitro/communication/messages/incoming/navigator/NavigatorSearchEvent.ts index 5ba3d204..a6e877eb 100644 --- a/src/nitro/communication/messages/incoming/navigator/NavigatorSearchEvent.ts +++ b/src/nitro/communication/messages/incoming/navigator/NavigatorSearchEvent.ts @@ -13,4 +13,4 @@ export class NavigatorSearchEvent extends MessageEvent implements IMessageEvent { return this.parser as NavigatorSearchParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/navigator/NavigatorSearchesEvent.ts b/src/nitro/communication/messages/incoming/navigator/NavigatorSearchesEvent.ts index 06e8bdad..102e7d11 100644 --- a/src/nitro/communication/messages/incoming/navigator/NavigatorSearchesEvent.ts +++ b/src/nitro/communication/messages/incoming/navigator/NavigatorSearchesEvent.ts @@ -13,4 +13,4 @@ export class NavigatorSearchesEvent extends MessageEvent implements IMessageEven { return this.parser as NavigatorSearchesParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/navigator/NavigatorSettingsEvent.ts b/src/nitro/communication/messages/incoming/navigator/NavigatorSettingsEvent.ts index 1e80d52d..253667cb 100644 --- a/src/nitro/communication/messages/incoming/navigator/NavigatorSettingsEvent.ts +++ b/src/nitro/communication/messages/incoming/navigator/NavigatorSettingsEvent.ts @@ -13,4 +13,4 @@ export class NavigatorSettingsEvent extends MessageEvent implements IMessageEven { return this.parser as NavigatorSettingsParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/notifications/AchievementLevelUpData.ts b/src/nitro/communication/messages/incoming/notifications/AchievementLevelUpData.ts new file mode 100644 index 00000000..0a7706ab --- /dev/null +++ b/src/nitro/communication/messages/incoming/notifications/AchievementLevelUpData.ts @@ -0,0 +1,93 @@ +import { IMessageDataWrapper } from '../../../../../core'; + +export class AchievementLevelUpData +{ + private _type: number; + private _level: number; + private _points: number; + private _levelRewardPoints: number; + private _levelRewardPointType: number; + private _bonusPoints: number; + private _badgeId: number; + private _badgeCode: string = ''; + private _removedBadgeCode: string = ''; + private _achievementID: number; + private _category: string; + private _showDialogToUser: boolean; + + constructor(wrapper: IMessageDataWrapper) + { + this._type = wrapper.readInt(); + this._level = wrapper.readInt(); + this._badgeId = wrapper.readInt(); + this._badgeCode = wrapper.readString(); + this._points = wrapper.readInt(); + this._levelRewardPoints = wrapper.readInt(); + this._levelRewardPointType = wrapper.readInt(); + this._bonusPoints = wrapper.readInt(); + this._achievementID = wrapper.readInt(); + this._removedBadgeCode = wrapper.readString(); + this._category = wrapper.readString(); + this._showDialogToUser = wrapper.readBoolean(); + } + + public get type(): number + { + return this._type; + } + + public get level(): number + { + return this._level; + } + + public get points(): number + { + return this._points; + } + + public get levelRewardPoints(): number + { + return this._levelRewardPoints; + } + + public get levelRewardPointType(): number + { + return this._levelRewardPointType; + } + + public get bonusPoints(): number + { + return this._bonusPoints; + } + + public get badgeId(): number + { + return this._badgeId; + } + + public get badgeCode(): string + { + return this._badgeCode; + } + + public get removedBadgeCode(): string + { + return this._removedBadgeCode; + } + + public get achievementID(): number + { + return this._achievementID; + } + + public get category(): string + { + return this._category; + } + + public get showDialogToUser(): boolean + { + return this._showDialogToUser; + } +} diff --git a/src/nitro/communication/messages/incoming/notifications/AchievementNotificationMessageEvent.ts b/src/nitro/communication/messages/incoming/notifications/AchievementNotificationMessageEvent.ts new file mode 100644 index 00000000..c30d245a --- /dev/null +++ b/src/nitro/communication/messages/incoming/notifications/AchievementNotificationMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { AchievementNotificationMessageParser } from '../../parser'; + +export class AchievementNotificationMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, AchievementNotificationMessageParser); + } + + public getParser(): AchievementNotificationMessageParser + { + return this.parser as AchievementNotificationMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/notifications/ActivityPointNotificationMessageEvent.ts b/src/nitro/communication/messages/incoming/notifications/ActivityPointNotificationMessageEvent.ts new file mode 100644 index 00000000..867192e7 --- /dev/null +++ b/src/nitro/communication/messages/incoming/notifications/ActivityPointNotificationMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ActivityPointNotificationParser } from '../../parser/notifications/ActivityPointNotificationParser'; + +export class ActivityPointNotificationMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ActivityPointNotificationParser); + } + + public getParser(): ActivityPointNotificationParser + { + return this.parser as ActivityPointNotificationParser; + } +} diff --git a/src/nitro/communication/messages/incoming/notifications/ClubGiftNotificationEvent.ts b/src/nitro/communication/messages/incoming/notifications/ClubGiftNotificationEvent.ts new file mode 100644 index 00000000..9323d6c1 --- /dev/null +++ b/src/nitro/communication/messages/incoming/notifications/ClubGiftNotificationEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ClubGiftNotificationParser } from '../../parser'; + +export class ClubGiftNotificationEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ClubGiftNotificationParser); + } + + public getParser(): ClubGiftNotificationParser + { + return this.parser as ClubGiftNotificationParser; + } +} diff --git a/src/nitro/communication/messages/incoming/notifications/HabboBroadcastMessageEvent.ts b/src/nitro/communication/messages/incoming/notifications/HabboBroadcastMessageEvent.ts index 616c4653..a69ea648 100644 --- a/src/nitro/communication/messages/incoming/notifications/HabboBroadcastMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/notifications/HabboBroadcastMessageEvent.ts @@ -13,4 +13,4 @@ export class HabboBroadcastMessageEvent extends MessageEvent implements IMessage { return this.parser as HabboBroadcastMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/notifications/InfoFeedEnableMessageEvent.ts b/src/nitro/communication/messages/incoming/notifications/InfoFeedEnableMessageEvent.ts new file mode 100644 index 00000000..dc30732d --- /dev/null +++ b/src/nitro/communication/messages/incoming/notifications/InfoFeedEnableMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { InfoFeedEnableMessageParser } from '../../parser'; + +export class InfoFeedEnableMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, InfoFeedEnableMessageParser); + } + + public getParser(): InfoFeedEnableMessageParser + { + return this.parser as InfoFeedEnableMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/notifications/MOTDNotificationEvent.ts b/src/nitro/communication/messages/incoming/notifications/MOTDNotificationEvent.ts index 1bbdca07..58453a47 100644 --- a/src/nitro/communication/messages/incoming/notifications/MOTDNotificationEvent.ts +++ b/src/nitro/communication/messages/incoming/notifications/MOTDNotificationEvent.ts @@ -13,4 +13,4 @@ export class MOTDNotificationEvent extends MessageEvent implements IMessageEvent { return this.parser as MOTDNotificationParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/notifications/NotificationDialogMessageEvent.ts b/src/nitro/communication/messages/incoming/notifications/NotificationDialogMessageEvent.ts index 33b909ea..a377eb35 100644 --- a/src/nitro/communication/messages/incoming/notifications/NotificationDialogMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/notifications/NotificationDialogMessageEvent.ts @@ -13,4 +13,4 @@ export class NotificationDialogMessageEvent extends MessageEvent implements IMes { return this.parser as NotificationDialogMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/notifications/PetLevelNotificationEvent.ts b/src/nitro/communication/messages/incoming/notifications/PetLevelNotificationEvent.ts new file mode 100644 index 00000000..ae78db32 --- /dev/null +++ b/src/nitro/communication/messages/incoming/notifications/PetLevelNotificationEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { PetLevelNotificationParser } from '../../parser/notifications/PetLevelNotificationParser'; + +export class PetLevelNotificationEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PetLevelNotificationParser); + } + + public getParser(): PetLevelNotificationParser + { + return this.parser as PetLevelNotificationParser; + } +} diff --git a/src/nitro/communication/messages/incoming/notifications/UnseenItemsEvent.ts b/src/nitro/communication/messages/incoming/notifications/UnseenItemsEvent.ts index 0d347fdd..ef13bcb1 100644 --- a/src/nitro/communication/messages/incoming/notifications/UnseenItemsEvent.ts +++ b/src/nitro/communication/messages/incoming/notifications/UnseenItemsEvent.ts @@ -13,4 +13,4 @@ export class UnseenItemsEvent extends MessageEvent implements IMessageEvent { return this.parser as UnseenItemsParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/notifications/index.ts b/src/nitro/communication/messages/incoming/notifications/index.ts index f293ba3d..467abb76 100644 --- a/src/nitro/communication/messages/incoming/notifications/index.ts +++ b/src/nitro/communication/messages/incoming/notifications/index.ts @@ -1,8 +1,13 @@ +export * from './AchievementLevelUpData'; +export * from './AchievementNotificationMessageEvent'; +export * from './ActivityPointNotificationMessageEvent'; export * from './BotErrorEvent'; +export * from './ClubGiftNotificationEvent'; export * from './HabboBroadcastMessageEvent'; export * from './HotelWillShutdownEvent'; +export * from './InfoFeedEnableMessageEvent'; export * from './MOTDNotificationEvent'; export * from './NotificationDialogMessageEvent'; +export * from './PetLevelNotificationEvent'; export * from './PetPlacingErrorEvent'; -export * from './RespectReceivedEvent'; export * from './UnseenItemsEvent'; diff --git a/src/nitro/communication/messages/incoming/perk/PerkAllowancesMessageEvent.ts b/src/nitro/communication/messages/incoming/perk/PerkAllowancesMessageEvent.ts new file mode 100644 index 00000000..dc117805 --- /dev/null +++ b/src/nitro/communication/messages/incoming/perk/PerkAllowancesMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { PerkAllowancesMessageParser } from './../../parser/perk/PerkAllowancesMessageParser'; + +export class PerkAllowancesMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PerkAllowancesMessageParser); + } + + public getParser(): PerkAllowancesMessageParser + { + return this.parser as PerkAllowancesMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/perk/index.ts b/src/nitro/communication/messages/incoming/perk/index.ts new file mode 100644 index 00000000..b19fe4b9 --- /dev/null +++ b/src/nitro/communication/messages/incoming/perk/index.ts @@ -0,0 +1 @@ +export * from './PerkAllowancesMessageEvent'; diff --git a/src/nitro/communication/messages/incoming/poll/PollContentsEvent.ts b/src/nitro/communication/messages/incoming/poll/PollContentsEvent.ts new file mode 100644 index 00000000..b8e70ad9 --- /dev/null +++ b/src/nitro/communication/messages/incoming/poll/PollContentsEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { PollContentsParser } from '../../parser/poll/PollContentsParser'; + +export class PollContentsEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PollContentsParser); + } + + public getParser(): PollContentsParser + { + return this.parser as PollContentsParser; + } +} diff --git a/src/nitro/communication/messages/incoming/poll/PollErrorEvent.ts b/src/nitro/communication/messages/incoming/poll/PollErrorEvent.ts new file mode 100644 index 00000000..b70d82bd --- /dev/null +++ b/src/nitro/communication/messages/incoming/poll/PollErrorEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { PollErrorParser } from '../../parser/poll/PollErrorParser'; + +export class PollErrorEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PollErrorParser); + } + + public getParser(): PollErrorParser + { + return this.parser as PollErrorParser; + } +} diff --git a/src/nitro/communication/messages/incoming/poll/PollOfferEvent.ts b/src/nitro/communication/messages/incoming/poll/PollOfferEvent.ts new file mode 100644 index 00000000..e7bdf1b1 --- /dev/null +++ b/src/nitro/communication/messages/incoming/poll/PollOfferEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { PollOfferParser } from '../../parser/poll/PollOfferParser'; + +export class PollOfferEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PollOfferParser); + } + + public getParser(): PollOfferParser + { + return this.parser as PollOfferParser; + } +} diff --git a/src/nitro/communication/messages/incoming/poll/QuestionAnsweredEvent.ts b/src/nitro/communication/messages/incoming/poll/QuestionAnsweredEvent.ts new file mode 100644 index 00000000..1a298384 --- /dev/null +++ b/src/nitro/communication/messages/incoming/poll/QuestionAnsweredEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { QuestionAnsweredParser } from '../../parser/poll/QuestionAnsweredParser'; + +export class QuestionAnsweredEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, QuestionAnsweredParser); + } + + public getParser(): QuestionAnsweredParser + { + return this.parser as QuestionAnsweredParser; + } +} diff --git a/src/nitro/communication/messages/incoming/poll/QuestionEvent.ts b/src/nitro/communication/messages/incoming/poll/QuestionEvent.ts new file mode 100644 index 00000000..19cedd68 --- /dev/null +++ b/src/nitro/communication/messages/incoming/poll/QuestionEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { QuestionParser } from '../../parser/poll/QuestionParser'; + +export class QuestionEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, QuestionParser); + } + + public getParser(): QuestionParser + { + return this.parser as QuestionParser; + } +} diff --git a/src/nitro/communication/messages/incoming/poll/QuestionFinishedEvent.ts b/src/nitro/communication/messages/incoming/poll/QuestionFinishedEvent.ts new file mode 100644 index 00000000..4ccf9c6a --- /dev/null +++ b/src/nitro/communication/messages/incoming/poll/QuestionFinishedEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { QuestionFinishedParser } from '../../parser/poll/QuestionFinishedParser'; + +export class QuestionFinishedEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, QuestionFinishedParser); + } + + public getParser(): QuestionFinishedParser + { + return this.parser as QuestionFinishedParser; + } +} diff --git a/src/nitro/communication/messages/incoming/poll/index.ts b/src/nitro/communication/messages/incoming/poll/index.ts new file mode 100644 index 00000000..ef4863f6 --- /dev/null +++ b/src/nitro/communication/messages/incoming/poll/index.ts @@ -0,0 +1,6 @@ +export * from './PollContentsEvent'; +export * from './PollErrorEvent'; +export * from './PollOfferEvent'; +export * from './QuestionAnsweredEvent'; +export * from './QuestionEvent'; +export * from './QuestionFinishedEvent'; diff --git a/src/nitro/communication/messages/incoming/quest/CommunityGoalData.ts b/src/nitro/communication/messages/incoming/quest/CommunityGoalData.ts index c61bf15c..ff7276b2 100644 --- a/src/nitro/communication/messages/incoming/quest/CommunityGoalData.ts +++ b/src/nitro/communication/messages/incoming/quest/CommunityGoalData.ts @@ -1,5 +1,5 @@ +import { IMessageDataWrapper } from '../../../../../core'; import { IDisposable } from '../../../../../core/common/disposable/IDisposable'; -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; export class CommunityGoalData implements IDisposable { diff --git a/src/nitro/communication/messages/incoming/quest/CommunityGoalHallOfFameData.ts b/src/nitro/communication/messages/incoming/quest/CommunityGoalHallOfFameData.ts index bb0338cf..a952cbe3 100644 --- a/src/nitro/communication/messages/incoming/quest/CommunityGoalHallOfFameData.ts +++ b/src/nitro/communication/messages/incoming/quest/CommunityGoalHallOfFameData.ts @@ -1,5 +1,5 @@ +import { IMessageDataWrapper } from '../../../../../core'; import { IDisposable } from '../../../../../core/common/disposable/IDisposable'; -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; import { HallOfFameEntryData } from './HallOfFameEntryData'; export class CommunityGoalHallOfFameData implements IDisposable diff --git a/src/nitro/communication/messages/incoming/quest/HallOfFameEntryData.ts b/src/nitro/communication/messages/incoming/quest/HallOfFameEntryData.ts index 7678e5bf..7a03d668 100644 --- a/src/nitro/communication/messages/incoming/quest/HallOfFameEntryData.ts +++ b/src/nitro/communication/messages/incoming/quest/HallOfFameEntryData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { ILandingPageUserEntry } from './ILandingPageUserEntry'; export class HallOfFameEntryData implements ILandingPageUserEntry diff --git a/src/nitro/communication/messages/incoming/quest/PrizeData.ts b/src/nitro/communication/messages/incoming/quest/PrizeData.ts index 092c77c8..ad6050b8 100644 --- a/src/nitro/communication/messages/incoming/quest/PrizeData.ts +++ b/src/nitro/communication/messages/incoming/quest/PrizeData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class PrizeData { diff --git a/src/nitro/communication/messages/incoming/quest/QuestMessageData.ts b/src/nitro/communication/messages/incoming/quest/QuestMessageData.ts index 3d142584..a09bec65 100644 --- a/src/nitro/communication/messages/incoming/quest/QuestMessageData.ts +++ b/src/nitro/communication/messages/incoming/quest/QuestMessageData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class QuestMessageData { diff --git a/src/nitro/communication/messages/incoming/room/access/RoomEnterEvent.ts b/src/nitro/communication/messages/incoming/room/access/RoomEnterEvent.ts index c46ee72a..5a56a7d2 100644 --- a/src/nitro/communication/messages/incoming/room/access/RoomEnterEvent.ts +++ b/src/nitro/communication/messages/incoming/room/access/RoomEnterEvent.ts @@ -13,4 +13,4 @@ export class RoomEnterEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomEnterParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/access/RoomForwardEvent.ts b/src/nitro/communication/messages/incoming/room/access/RoomForwardEvent.ts index 6d5ac9b3..f1935296 100644 --- a/src/nitro/communication/messages/incoming/room/access/RoomForwardEvent.ts +++ b/src/nitro/communication/messages/incoming/room/access/RoomForwardEvent.ts @@ -13,4 +13,4 @@ export class RoomForwardEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomForwardParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/access/doorbell/RoomDoorbellAcceptedEvent.ts b/src/nitro/communication/messages/incoming/room/access/doorbell/RoomDoorbellAcceptedEvent.ts index 1526dc6b..4cb9a096 100644 --- a/src/nitro/communication/messages/incoming/room/access/doorbell/RoomDoorbellAcceptedEvent.ts +++ b/src/nitro/communication/messages/incoming/room/access/doorbell/RoomDoorbellAcceptedEvent.ts @@ -13,4 +13,4 @@ export class RoomDoorbellAcceptedEvent extends MessageEvent implements IMessageE { return this.parser as RoomDoorbellAcceptedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/access/doorbell/RoomDoorbellRejectedEvent.ts b/src/nitro/communication/messages/incoming/room/access/doorbell/RoomDoorbellRejectedEvent.ts index 7547ad44..9dbda44d 100644 --- a/src/nitro/communication/messages/incoming/room/access/doorbell/RoomDoorbellRejectedEvent.ts +++ b/src/nitro/communication/messages/incoming/room/access/doorbell/RoomDoorbellRejectedEvent.ts @@ -13,4 +13,4 @@ export class RoomDoorbellRejectedEvent extends MessageEvent implements IMessageE { return this.parser as RoomDoorbellRejectedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsClearEvent.ts b/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsClearEvent.ts index 0aed6433..3056030a 100644 --- a/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsClearEvent.ts +++ b/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsClearEvent.ts @@ -13,4 +13,4 @@ export class RoomRightsClearEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomRightsClearParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsEvent.ts b/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsEvent.ts index 399bcf73..b1e10f96 100644 --- a/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsEvent.ts +++ b/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsEvent.ts @@ -13,4 +13,4 @@ export class RoomRightsEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomRightsParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsOwnerEvent.ts b/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsOwnerEvent.ts index e846cdc4..9c23418d 100644 --- a/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsOwnerEvent.ts +++ b/src/nitro/communication/messages/incoming/room/access/rights/RoomRightsOwnerEvent.ts @@ -13,4 +13,4 @@ export class RoomRightsOwnerEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomRightsOwnerParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/data/RoomInfoEvent.ts b/src/nitro/communication/messages/incoming/room/data/GetGuestRoomResultEvent.ts similarity index 84% rename from src/nitro/communication/messages/incoming/room/data/RoomInfoEvent.ts rename to src/nitro/communication/messages/incoming/room/data/GetGuestRoomResultEvent.ts index bc84fd70..98eb78fb 100644 --- a/src/nitro/communication/messages/incoming/room/data/RoomInfoEvent.ts +++ b/src/nitro/communication/messages/incoming/room/data/GetGuestRoomResultEvent.ts @@ -2,7 +2,7 @@ import { IMessageEvent } from '../../../../../../core/communication/messages/IMe import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; import { RoomInfoParser } from '../../../parser/room/data/RoomInfoParser'; -export class RoomInfoEvent extends MessageEvent implements IMessageEvent +export class GetGuestRoomResultEvent extends MessageEvent implements IMessageEvent { constructor(callBack: Function) { @@ -13,4 +13,4 @@ export class RoomInfoEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomInfoParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/data/RoomBannedUsersEvent.ts b/src/nitro/communication/messages/incoming/room/data/RoomBannedUsersEvent.ts index f4d56579..50108838 100644 --- a/src/nitro/communication/messages/incoming/room/data/RoomBannedUsersEvent.ts +++ b/src/nitro/communication/messages/incoming/room/data/RoomBannedUsersEvent.ts @@ -13,4 +13,4 @@ export class RoomBannedUsersEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomSettingsUsersListParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/data/RoomChatSettingsEvent.ts b/src/nitro/communication/messages/incoming/room/data/RoomChatSettingsEvent.ts index 407d3224..0a98da7a 100644 --- a/src/nitro/communication/messages/incoming/room/data/RoomChatSettingsEvent.ts +++ b/src/nitro/communication/messages/incoming/room/data/RoomChatSettingsEvent.ts @@ -13,4 +13,4 @@ export class RoomChatSettingsEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomChatSettingsParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/data/RoomEntryInfoMessageEvent.ts b/src/nitro/communication/messages/incoming/room/data/RoomEntryInfoMessageEvent.ts new file mode 100644 index 00000000..bcf5f89a --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/data/RoomEntryInfoMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { RoomEntryInfoMessageParser } from '../../../parser/room/data/RoomEntryInfoMessageParser'; + +export class RoomEntryInfoMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, RoomEntryInfoMessageParser); + } + + public getParser(): RoomEntryInfoMessageParser + { + return this.parser as RoomEntryInfoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/data/RoomInfoOwnerEvent.ts b/src/nitro/communication/messages/incoming/room/data/RoomInfoOwnerEvent.ts deleted file mode 100644 index bfbfb969..00000000 --- a/src/nitro/communication/messages/incoming/room/data/RoomInfoOwnerEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { RoomInfoOwnerParser } from '../../../parser/room/data/RoomInfoOwnerParser'; - -export class RoomInfoOwnerEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, RoomInfoOwnerParser); - } - - public getParser(): RoomInfoOwnerParser - { - return this.parser as RoomInfoOwnerParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/room/data/RoomScoreEvent.ts b/src/nitro/communication/messages/incoming/room/data/RoomScoreEvent.ts index 040c408a..30d257f4 100644 --- a/src/nitro/communication/messages/incoming/room/data/RoomScoreEvent.ts +++ b/src/nitro/communication/messages/incoming/room/data/RoomScoreEvent.ts @@ -13,4 +13,4 @@ export class RoomScoreEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomScoreParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/data/RoomSettingsErrorEvent.ts b/src/nitro/communication/messages/incoming/room/data/RoomSettingsErrorEvent.ts index 589d8db0..8e75b0b9 100644 --- a/src/nitro/communication/messages/incoming/room/data/RoomSettingsErrorEvent.ts +++ b/src/nitro/communication/messages/incoming/room/data/RoomSettingsErrorEvent.ts @@ -13,4 +13,4 @@ export class RoomSettingsErrorEvent extends MessageEvent implements IMessageEven { return this.parser as RoomSettingsErrorParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/data/RoomSettingsEvent.ts b/src/nitro/communication/messages/incoming/room/data/RoomSettingsEvent.ts index 27deb0e6..d3aa520d 100644 --- a/src/nitro/communication/messages/incoming/room/data/RoomSettingsEvent.ts +++ b/src/nitro/communication/messages/incoming/room/data/RoomSettingsEvent.ts @@ -13,4 +13,4 @@ export class RoomSettingsEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomSettingsParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/data/RoomSettingsSavedEvent.ts b/src/nitro/communication/messages/incoming/room/data/RoomSettingsSavedEvent.ts index 7b3dbd4c..cb9bdcfa 100644 --- a/src/nitro/communication/messages/incoming/room/data/RoomSettingsSavedEvent.ts +++ b/src/nitro/communication/messages/incoming/room/data/RoomSettingsSavedEvent.ts @@ -13,4 +13,4 @@ export class RoomSettingsSavedEvent extends MessageEvent implements IMessageEven { return this.parser as RoomSettingsSavedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/data/RoomSettingsUpdatedEvent.ts b/src/nitro/communication/messages/incoming/room/data/RoomSettingsUpdatedEvent.ts index 314e7946..d86030b7 100644 --- a/src/nitro/communication/messages/incoming/room/data/RoomSettingsUpdatedEvent.ts +++ b/src/nitro/communication/messages/incoming/room/data/RoomSettingsUpdatedEvent.ts @@ -13,4 +13,4 @@ export class RoomSettingsUpdatedEvent extends MessageEvent implements IMessageEv { return this.parser as RoomSettingsUpdatedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/data/RoomUsersWithRightsEvent.ts b/src/nitro/communication/messages/incoming/room/data/RoomUsersWithRightsEvent.ts index b32b8c8a..2b4f9b9a 100644 --- a/src/nitro/communication/messages/incoming/room/data/RoomUsersWithRightsEvent.ts +++ b/src/nitro/communication/messages/incoming/room/data/RoomUsersWithRightsEvent.ts @@ -13,4 +13,4 @@ export class RoomUsersWithRightsEvent extends MessageEvent implements IMessageEv { return this.parser as RoomSettingsUsersListParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/data/index.ts b/src/nitro/communication/messages/incoming/room/data/index.ts index e68d0d70..5f0345e5 100644 --- a/src/nitro/communication/messages/incoming/room/data/index.ts +++ b/src/nitro/communication/messages/incoming/room/data/index.ts @@ -1,7 +1,7 @@ +export * from './GetGuestRoomResultEvent'; export * from './RoomBannedUsersEvent'; export * from './RoomChatSettingsEvent'; -export * from './RoomInfoEvent'; -export * from './RoomInfoOwnerEvent'; +export * from './RoomEntryInfoMessageEvent'; export * from './RoomScoreEvent'; export * from './RoomSettingsErrorEvent'; export * from './RoomSettingsEvent'; diff --git a/src/nitro/communication/messages/incoming/room/engine/ObjectsRollingEvent.ts b/src/nitro/communication/messages/incoming/room/engine/ObjectsRollingEvent.ts index 3576dcff..dad9d317 100644 --- a/src/nitro/communication/messages/incoming/room/engine/ObjectsRollingEvent.ts +++ b/src/nitro/communication/messages/incoming/room/engine/ObjectsRollingEvent.ts @@ -13,4 +13,4 @@ export class ObjectsRollingEvent extends MessageEvent implements IMessageEvent { return this.parser as ObjectsRollingParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/engine/RoomCreatedEvent.ts b/src/nitro/communication/messages/incoming/room/engine/RoomCreatedEvent.ts index cfa37558..b4f043e4 100644 --- a/src/nitro/communication/messages/incoming/room/engine/RoomCreatedEvent.ts +++ b/src/nitro/communication/messages/incoming/room/engine/RoomCreatedEvent.ts @@ -13,4 +13,4 @@ export class RoomCreatedEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomCreatedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/DiceValueMessageEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/DiceValueMessageEvent.ts new file mode 100644 index 00000000..1bf71fce --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/DiceValueMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { DiceValueMessageParser } from '../../../parser/room/furniture/DiceValueMessageParser'; + +export class DiceValueMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, DiceValueMessageParser); + } + + public getParser(): DiceValueMessageParser + { + return this.parser as DiceValueMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/FurnitureAliasesEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/FurnitureAliasesEvent.ts index e36c34ca..a4240135 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/FurnitureAliasesEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/FurnitureAliasesEvent.ts @@ -13,4 +13,4 @@ export class FurnitureAliasesEvent extends MessageEvent implements IMessageEvent { return this.parser as FurnitureAliasesParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/FurnitureDataEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/FurnitureDataEvent.ts index 3e7808e6..8fcdf2ee 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/FurnitureDataEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/FurnitureDataEvent.ts @@ -13,4 +13,4 @@ export class FurnitureDataEvent extends MessageEvent implements IMessageEvent { return this.parser as FurnitureDataParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/FurnitureItemDataEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/FurnitureItemDataEvent.ts deleted file mode 100644 index a54e8daf..00000000 --- a/src/nitro/communication/messages/incoming/room/furniture/FurnitureItemDataEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { FurnitureItemDataParser } from '../../../parser/room/furniture/FurnitureItemDataParser'; - -export class FurnitureItemDataEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, FurnitureItemDataParser); - } - - public getParser(): FurnitureItemDataParser - { - return this.parser as FurnitureItemDataParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/room/furniture/FurniturePostItStickyPoleOpenEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/FurniturePostItStickyPoleOpenEvent.ts new file mode 100644 index 00000000..6d723b02 --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/FurniturePostItStickyPoleOpenEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { FurniturePostItStickyPoleOpenParser } from '../../../parser/room/furniture/FurniturePostItStickyPoleOpenParser'; + +export class FurniturePostItStickyPoleOpenEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, FurniturePostItStickyPoleOpenParser); + } + + public getParser(): FurniturePostItStickyPoleOpenParser + { + return this.parser as FurniturePostItStickyPoleOpenParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/FurnitureStackHeightEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/FurnitureStackHeightEvent.ts index 90a9baa6..fe827ad3 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/FurnitureStackHeightEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/FurnitureStackHeightEvent.ts @@ -13,4 +13,4 @@ export class FurnitureStackHeightEvent extends MessageEvent implements IMessageE { return this.parser as FurnitureStackHeightParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/FurnitureState2Event.ts b/src/nitro/communication/messages/incoming/room/furniture/FurnitureState2Event.ts deleted file mode 100644 index 7cc24502..00000000 --- a/src/nitro/communication/messages/incoming/room/furniture/FurnitureState2Event.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { FurnitureState2Parser } from '../../../parser/room/furniture/FurnitureState2Parser'; - -export class FurnitureState2Event extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, FurnitureState2Parser); - } - - public getParser(): FurnitureState2Parser - { - return this.parser as FurnitureState2Parser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/room/furniture/FurnitureStateEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/FurnitureStateEvent.ts deleted file mode 100644 index 07b53842..00000000 --- a/src/nitro/communication/messages/incoming/room/furniture/FurnitureStateEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { FurnitureStateParser } from '../../../parser/room/furniture/FurnitureStateParser'; - -export class FurnitureStateEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, FurnitureStateParser); - } - - public getParser(): FurnitureStateParser - { - return this.parser as FurnitureStateParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/room/furniture/GroupFurniContextMenuInfoMessageEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/GroupFurniContextMenuInfoMessageEvent.ts new file mode 100644 index 00000000..6dd79a19 --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/GroupFurniContextMenuInfoMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { GroupFurniContextMenuInfoMessageParser } from '../../../parser/room/furniture/GroupFurniContextMenuInfoMessageParser'; + +export class GroupFurniContextMenuInfoMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GroupFurniContextMenuInfoMessageParser); + } + + public getParser(): GroupFurniContextMenuInfoMessageParser + { + return this.parser as GroupFurniContextMenuInfoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/ItemDataUpdateMessageEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/ItemDataUpdateMessageEvent.ts new file mode 100644 index 00000000..e50e0554 --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/ItemDataUpdateMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { ItemDataUpdateMessageParser } from '../../../parser/room/furniture/ItemDataUpdateMessageParser'; + +export class ItemDataUpdateMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ItemDataUpdateMessageParser); + } + + public getParser(): ItemDataUpdateMessageParser + { + return this.parser as ItemDataUpdateMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/OneWayDoorStatusMessageEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/OneWayDoorStatusMessageEvent.ts new file mode 100644 index 00000000..03033c3b --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/OneWayDoorStatusMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { OneWayDoorStatusMessageParser } from '../../../parser/room/furniture/OneWayDoorStatusMessageParser'; + +export class OneWayDoorStatusMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, OneWayDoorStatusMessageParser); + } + + public getParser(): OneWayDoorStatusMessageParser + { + return this.parser as OneWayDoorStatusMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/RoomDimmerPresetsMessageData.ts b/src/nitro/communication/messages/incoming/room/furniture/RoomDimmerPresetsMessageData.ts new file mode 100644 index 00000000..9264b720 --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/RoomDimmerPresetsMessageData.ts @@ -0,0 +1,9 @@ +export class RoomDimmerPresetsMessageData +{ + constructor( + public id: number, + public type: number, + public color: number, + public brightness: number) + {} +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/RoomDimmerPresetsMessageEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/RoomDimmerPresetsMessageEvent.ts index 049823d0..db8df12b 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/RoomDimmerPresetsMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/RoomDimmerPresetsMessageEvent.ts @@ -13,4 +13,4 @@ export class RoomDimmerPresetsEvent extends MessageEvent implements IMessageEven { return this.parser as RoomDimmerPresetsMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorAddEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorAddEvent.ts index e4418384..129b57e3 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorAddEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorAddEvent.ts @@ -13,4 +13,4 @@ export class FurnitureFloorAddEvent extends MessageEvent implements IMessageEven { return this.parser as FurnitureFloorAddParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorEvent.ts index 64aa7314..73e46045 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorEvent.ts @@ -13,4 +13,4 @@ export class FurnitureFloorEvent extends MessageEvent implements IMessageEvent { return this.parser as FurnitureFloorParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorRemoveEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorRemoveEvent.ts index 727a165e..e21ae529 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorRemoveEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorRemoveEvent.ts @@ -13,4 +13,4 @@ export class FurnitureFloorRemoveEvent extends MessageEvent implements IMessageE { return this.parser as FurnitureFloorRemoveParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorUpdateEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorUpdateEvent.ts index 245e6aba..6519dd10 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorUpdateEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/floor/FurnitureFloorUpdateEvent.ts @@ -13,4 +13,4 @@ export class FurnitureFloorUpdateEvent extends MessageEvent implements IMessageE { return this.parser as FurnitureFloorUpdateParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/index.ts b/src/nitro/communication/messages/incoming/room/furniture/index.ts index 27e8ec63..a866b849 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/index.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/index.ts @@ -1,13 +1,16 @@ +export * from './DiceValueMessageEvent'; export * from './floor'; export * from './FurnitureAliasesEvent'; export * from './FurnitureDataEvent'; -export * from './FurnitureItemDataEvent'; +export * from './FurniturePostItStickyPoleOpenEvent'; export * from './FurnitureStackHeightEvent'; -export * from './FurnitureState2Event'; -export * from './FurnitureStateEvent'; +export * from './GroupFurniContextMenuInfoMessageEvent'; +export * from './ItemDataUpdateMessageEvent'; export * from './LoveLockFurniFinishedEvent'; export * from './LoveLockFurniFriendConfirmedEvent'; export * from './LoveLockFurniStartEvent'; -export * from './moodlightFromServer'; +export * from './OneWayDoorStatusMessageEvent'; +export * from './RoomDimmerPresetsMessageData'; export * from './RoomDimmerPresetsMessageEvent'; export * from './wall'; +export * from './youtube'; diff --git a/src/nitro/communication/messages/incoming/room/furniture/moodlightFromServer.ts b/src/nitro/communication/messages/incoming/room/furniture/moodlightFromServer.ts deleted file mode 100644 index 0aedc1f9..00000000 --- a/src/nitro/communication/messages/incoming/room/furniture/moodlightFromServer.ts +++ /dev/null @@ -1,64 +0,0 @@ -export class MoodlightFromServer -{ - private readonly _id: number = 0; - private _type: number = 0; - private _color: number = 0; - private _intensity: number = 0; - private _isParsed: boolean = false; - private _htmlColor: string = null; - - constructor(k: number) - { - this._id = k; - } - - public parsed(): void - { - this._isParsed = true; - } - - public get id(): number - { - return this._id; - } - - public get type(): number - { - return this._type; - } - - public set type(k: number) - { - if(!this._isParsed) this._type = k; - } - - public get color(): number - { - return this._color; - } - - public set color(k: number) - { - if(!this._isParsed) this._color = k; - } - - public get intensity(): number - { - return this._intensity; - } - - public set intensity(k: number) - { - if(!this._isParsed) this._intensity = k; - } - - public set htmlColor(color: string) - { - this._htmlColor = color; - } - - public get htmlColor(): string - { - return this._htmlColor; - } -} diff --git a/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallAddEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallAddEvent.ts index 10f6f585..29c4c65d 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallAddEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallAddEvent.ts @@ -13,4 +13,4 @@ export class FurnitureWallAddEvent extends MessageEvent implements IMessageEvent { return this.parser as FurnitureWallAddParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallEvent.ts index 46d06b2e..8fbfcbfb 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallEvent.ts @@ -13,4 +13,4 @@ export class FurnitureWallEvent extends MessageEvent implements IMessageEvent { return this.parser as FurnitureWallParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallRemoveEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallRemoveEvent.ts index 92840164..eb37586d 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallRemoveEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallRemoveEvent.ts @@ -13,4 +13,4 @@ export class FurnitureWallRemoveEvent extends MessageEvent implements IMessageEv { return this.parser as FurnitureWallRemoveParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallUpdateEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallUpdateEvent.ts index 86e8f3b9..804e543d 100644 --- a/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallUpdateEvent.ts +++ b/src/nitro/communication/messages/incoming/room/furniture/wall/FurnitureWallUpdateEvent.ts @@ -13,4 +13,4 @@ export class FurnitureWallUpdateEvent extends MessageEvent implements IMessageEv { return this.parser as FurnitureWallUpdateParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/youtube/YoutubeControlVideoMessageEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/youtube/YoutubeControlVideoMessageEvent.ts new file mode 100644 index 00000000..3c9103b0 --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/youtube/YoutubeControlVideoMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../../core/communication/messages/MessageEvent'; +import { YoutubeControlVideoMessageParser } from '../../../../parser/room/furniture/youtube/YoutubeControlVideoMessageParser'; + +export class YoutubeControlVideoMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, YoutubeControlVideoMessageParser); + } + + public getParser(): YoutubeControlVideoMessageParser + { + return this.parser as YoutubeControlVideoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/youtube/YoutubeDisplayPlaylistsEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/youtube/YoutubeDisplayPlaylistsEvent.ts new file mode 100644 index 00000000..975e7ea8 --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/youtube/YoutubeDisplayPlaylistsEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../../core/communication/messages/MessageEvent'; +import { YoutubeDisplayPlaylistsMessageParser } from '../../../../parser/room/furniture/youtube/YoutubeDisplayPlaylistsMessageParser'; + +export class YoutubeDisplayPlaylistsEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, YoutubeDisplayPlaylistsMessageParser); + } + + public getParser(): YoutubeDisplayPlaylistsMessageParser + { + return this.parser as YoutubeDisplayPlaylistsMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/youtube/YoutubeDisplayVideoMessageEvent.ts b/src/nitro/communication/messages/incoming/room/furniture/youtube/YoutubeDisplayVideoMessageEvent.ts new file mode 100644 index 00000000..800fe638 --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/youtube/YoutubeDisplayVideoMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../../core/communication/messages/MessageEvent'; +import { YoutubeDisplayVideoMessageParser } from '../../../../parser/room/furniture/youtube/YoutubeDisplayVideoMessageParser'; + +export class YoutubeDisplayVideoMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, YoutubeDisplayVideoMessageParser); + } + + public getParser(): YoutubeDisplayVideoMessageParser + { + return this.parser as YoutubeDisplayVideoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/furniture/youtube/index.ts b/src/nitro/communication/messages/incoming/room/furniture/youtube/index.ts new file mode 100644 index 00000000..4bb22a3b --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/furniture/youtube/index.ts @@ -0,0 +1,3 @@ +export * from './YoutubeControlVideoMessageEvent'; +export * from './YoutubeDisplayPlaylistsEvent'; +export * from './YoutubeDisplayVideoMessageEvent'; diff --git a/src/nitro/communication/messages/incoming/room/mapping/FloorHeightMapEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/FloorHeightMapEvent.ts new file mode 100644 index 00000000..3d063798 --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/mapping/FloorHeightMapEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { FloorHeightMapMessageParser } from '../../../parser/room/mapping/FloorHeightMapMessageParser'; + +export class FloorHeightMapEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, FloorHeightMapMessageParser); + } + + public getParser(): FloorHeightMapMessageParser + { + return this.parser as FloorHeightMapMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomBlockedTilesEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomBlockedTilesEvent.ts deleted file mode 100644 index 2c708a42..00000000 --- a/src/nitro/communication/messages/incoming/room/mapping/RoomBlockedTilesEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { RoomBlockedTilesParser } from '../../../parser/room/mapping/RoomBlockedTilesParser'; - -export class RoomBlockedTilesEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, RoomBlockedTilesParser); - } - - public getParser(): RoomBlockedTilesParser - { - return this.parser as RoomBlockedTilesParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomDoorEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomDoorEvent.ts deleted file mode 100644 index 12051a65..00000000 --- a/src/nitro/communication/messages/incoming/room/mapping/RoomDoorEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { RoomDoorParser } from '../../../parser/room/mapping/RoomDoorParser'; -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; - -export class RoomDoorEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, RoomDoorParser); - } - - public getParser(): RoomDoorParser - { - return this.parser as RoomDoorParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomEntryTileMessageEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomEntryTileMessageEvent.ts new file mode 100644 index 00000000..2e8edb9b --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/mapping/RoomEntryTileMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { RoomEntryTileMessageParser } from '../../../parser/room/mapping/RoomEntryTileMessageParser'; + +export class RoomEntryTileMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, RoomEntryTileMessageParser); + } + + public getParser(): RoomEntryTileMessageParser + { + return this.parser as RoomEntryTileMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomHeightMapEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomHeightMapEvent.ts index 48b1cbdf..43c3610c 100644 --- a/src/nitro/communication/messages/incoming/room/mapping/RoomHeightMapEvent.ts +++ b/src/nitro/communication/messages/incoming/room/mapping/RoomHeightMapEvent.ts @@ -1,6 +1,6 @@ -import { RoomHeightMapParser } from '../../../parser/room/mapping/RoomHeightMapParser'; import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { RoomHeightMapParser } from '../../../parser/room/mapping/RoomHeightMapParser'; export class RoomHeightMapEvent extends MessageEvent implements IMessageEvent { @@ -13,4 +13,4 @@ export class RoomHeightMapEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomHeightMapParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomHeightMapUpdateEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomHeightMapUpdateEvent.ts index 02cd7c01..bce5f62d 100644 --- a/src/nitro/communication/messages/incoming/room/mapping/RoomHeightMapUpdateEvent.ts +++ b/src/nitro/communication/messages/incoming/room/mapping/RoomHeightMapUpdateEvent.ts @@ -13,4 +13,4 @@ export class RoomHeightMapUpdateEvent extends MessageEvent implements IMessageEv { return this.parser as RoomHeightMapUpdateParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomModelEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomModelEvent.ts deleted file mode 100644 index 17ac3cbc..00000000 --- a/src/nitro/communication/messages/incoming/room/mapping/RoomModelEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { RoomModelParser } from '../../../parser/room/mapping/RoomModelParser'; - -export class RoomModelEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, RoomModelParser); - } - - public getParser(): RoomModelParser - { - return this.parser as RoomModelParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomModelNameEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomModelNameEvent.ts deleted file mode 100644 index 575ec56a..00000000 --- a/src/nitro/communication/messages/incoming/room/mapping/RoomModelNameEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { RoomModelNameParser } from '../../../parser/room/mapping/RoomModelNameParser'; - -export class RoomModelNameEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, RoomModelNameParser); - } - - public getParser(): RoomModelNameParser - { - return this.parser as RoomModelNameParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomOccupiedTilesMessageEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomOccupiedTilesMessageEvent.ts new file mode 100644 index 00000000..c37a591b --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/mapping/RoomOccupiedTilesMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { RoomOccupiedTilesMessageParser } from '../../../parser/room/mapping/RoomOccupiedTilesMessageParser'; + +export class RoomOccupiedTilesMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, RoomOccupiedTilesMessageParser); + } + + public getParser(): RoomOccupiedTilesMessageParser + { + return this.parser as RoomOccupiedTilesMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomPaintEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomPaintEvent.ts index 9e1597af..d798a7e4 100644 --- a/src/nitro/communication/messages/incoming/room/mapping/RoomPaintEvent.ts +++ b/src/nitro/communication/messages/incoming/room/mapping/RoomPaintEvent.ts @@ -13,4 +13,4 @@ export class RoomPaintEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomPaintParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomReadyMessageEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomReadyMessageEvent.ts new file mode 100644 index 00000000..cad05381 --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/mapping/RoomReadyMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { RoomReadyMessageParser } from '../../../parser/room/mapping/RoomReadyMessageParser'; + +export class RoomReadyMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, RoomReadyMessageParser); + } + + public getParser(): RoomReadyMessageParser + { + return this.parser as RoomReadyMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomThicknessEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomThicknessEvent.ts deleted file mode 100644 index 3ea31011..00000000 --- a/src/nitro/communication/messages/incoming/room/mapping/RoomThicknessEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { RoomThicknessParser } from '../../../parser/room/mapping/RoomThicknessParser'; - -export class RoomThicknessEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, RoomThicknessParser); - } - - public getParser(): RoomThicknessParser - { - return this.parser as RoomThicknessParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/room/mapping/RoomVisualizationSettingsEvent.ts b/src/nitro/communication/messages/incoming/room/mapping/RoomVisualizationSettingsEvent.ts new file mode 100644 index 00000000..82e7b4cf --- /dev/null +++ b/src/nitro/communication/messages/incoming/room/mapping/RoomVisualizationSettingsEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; +import { RoomVisualizationSettingsParser } from '../../../parser/room/mapping/RoomVisualizationSettingsParser'; + +export class RoomVisualizationSettingsEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, RoomVisualizationSettingsParser); + } + + public getParser(): RoomVisualizationSettingsParser + { + return this.parser as RoomVisualizationSettingsParser; + } +} diff --git a/src/nitro/communication/messages/incoming/room/mapping/index.ts b/src/nitro/communication/messages/incoming/room/mapping/index.ts index a47f592e..1ada5b8c 100644 --- a/src/nitro/communication/messages/incoming/room/mapping/index.ts +++ b/src/nitro/communication/messages/incoming/room/mapping/index.ts @@ -1,8 +1,8 @@ -export * from './RoomBlockedTilesEvent'; -export * from './RoomDoorEvent'; +export * from './FloorHeightMapEvent'; +export * from './RoomEntryTileMessageEvent'; export * from './RoomHeightMapEvent'; export * from './RoomHeightMapUpdateEvent'; -export * from './RoomModelEvent'; -export * from './RoomModelNameEvent'; +export * from './RoomOccupiedTilesMessageEvent'; export * from './RoomPaintEvent'; -export * from './RoomThicknessEvent'; +export * from './RoomReadyMessageEvent'; +export * from './RoomVisualizationSettingsEvent'; diff --git a/src/nitro/communication/messages/incoming/room/pet/BreedingPetInfo.ts b/src/nitro/communication/messages/incoming/room/pet/BreedingPetInfo.ts index e01b9d75..2545b3aa 100644 --- a/src/nitro/communication/messages/incoming/room/pet/BreedingPetInfo.ts +++ b/src/nitro/communication/messages/incoming/room/pet/BreedingPetInfo.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class BreedingPetInfo { diff --git a/src/nitro/communication/messages/incoming/room/pet/PetExperienceEvent.ts b/src/nitro/communication/messages/incoming/room/pet/PetExperienceEvent.ts index 29510634..cc598ae8 100644 --- a/src/nitro/communication/messages/incoming/room/pet/PetExperienceEvent.ts +++ b/src/nitro/communication/messages/incoming/room/pet/PetExperienceEvent.ts @@ -1,4 +1,5 @@ -import { IMessageEvent, MessageEvent } from '../../../../../../core/communication/messages'; +import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; import { PetExperienceParser } from '../../../parser'; export class PetExperienceEvent extends MessageEvent implements IMessageEvent diff --git a/src/nitro/communication/messages/incoming/room/pet/PetFigureUpdateEvent.ts b/src/nitro/communication/messages/incoming/room/pet/PetFigureUpdateEvent.ts index 00a56355..ab03250c 100644 --- a/src/nitro/communication/messages/incoming/room/pet/PetFigureUpdateEvent.ts +++ b/src/nitro/communication/messages/incoming/room/pet/PetFigureUpdateEvent.ts @@ -13,4 +13,4 @@ export class PetFigureUpdateEvent extends MessageEvent implements IMessageEvent { return this.parser as PetFigureUpdateParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/pet/RarityCategoryData.ts b/src/nitro/communication/messages/incoming/room/pet/RarityCategoryData.ts index 02858ab3..8f0c38a5 100644 --- a/src/nitro/communication/messages/incoming/room/pet/RarityCategoryData.ts +++ b/src/nitro/communication/messages/incoming/room/pet/RarityCategoryData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class RarityCategoryData { diff --git a/src/nitro/communication/messages/incoming/room/session/YouArePlayingGameEvent.ts b/src/nitro/communication/messages/incoming/room/session/YouArePlayingGameEvent.ts index a8471056..89b4aec1 100644 --- a/src/nitro/communication/messages/incoming/room/session/YouArePlayingGameEvent.ts +++ b/src/nitro/communication/messages/incoming/room/session/YouArePlayingGameEvent.ts @@ -13,4 +13,4 @@ export class YouArePlayingGameEvent extends MessageEvent implements IMessageEven { return this.parser as YouArePlayingGameParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/RoomUnitDanceEvent.ts b/src/nitro/communication/messages/incoming/room/unit/RoomUnitDanceEvent.ts index 0b2ab9d3..69b470e3 100644 --- a/src/nitro/communication/messages/incoming/room/unit/RoomUnitDanceEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/RoomUnitDanceEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitDanceEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitDanceParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/RoomUnitEffectEvent.ts b/src/nitro/communication/messages/incoming/room/unit/RoomUnitEffectEvent.ts index 213ec52c..e6c7ad89 100644 --- a/src/nitro/communication/messages/incoming/room/unit/RoomUnitEffectEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/RoomUnitEffectEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitEffectEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitEffectParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/RoomUnitEvent.ts b/src/nitro/communication/messages/incoming/room/unit/RoomUnitEvent.ts index 643afb5f..f0362ee9 100644 --- a/src/nitro/communication/messages/incoming/room/unit/RoomUnitEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/RoomUnitEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/RoomUnitExpressionEvent.ts b/src/nitro/communication/messages/incoming/room/unit/RoomUnitExpressionEvent.ts index 36bc3478..4e5cf15f 100644 --- a/src/nitro/communication/messages/incoming/room/unit/RoomUnitExpressionEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/RoomUnitExpressionEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitExpressionEvent extends MessageEvent implements IMessageEve { return this.parser as RoomUnitExpressionParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/RoomUnitHandItemEvent.ts b/src/nitro/communication/messages/incoming/room/unit/RoomUnitHandItemEvent.ts index e9ad8b58..5e6aa573 100644 --- a/src/nitro/communication/messages/incoming/room/unit/RoomUnitHandItemEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/RoomUnitHandItemEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitHandItemEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitHandItemParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/RoomUnitIdleEvent.ts b/src/nitro/communication/messages/incoming/room/unit/RoomUnitIdleEvent.ts index ef7089ff..1eb473e2 100644 --- a/src/nitro/communication/messages/incoming/room/unit/RoomUnitIdleEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/RoomUnitIdleEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitIdleEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitIdleParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/RoomUnitInfoEvent.ts b/src/nitro/communication/messages/incoming/room/unit/RoomUnitInfoEvent.ts index f3dee198..da538ba7 100644 --- a/src/nitro/communication/messages/incoming/room/unit/RoomUnitInfoEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/RoomUnitInfoEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitInfoEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitInfoParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/RoomUnitNumberEvent.ts b/src/nitro/communication/messages/incoming/room/unit/RoomUnitNumberEvent.ts index 316a82e6..4076979c 100644 --- a/src/nitro/communication/messages/incoming/room/unit/RoomUnitNumberEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/RoomUnitNumberEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitNumberEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitNumberParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/RoomUnitRemoveEvent.ts b/src/nitro/communication/messages/incoming/room/unit/RoomUnitRemoveEvent.ts index 3f410a2d..6f3f25c6 100644 --- a/src/nitro/communication/messages/incoming/room/unit/RoomUnitRemoveEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/RoomUnitRemoveEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitRemoveEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitRemoveParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/RoomUnitStatusEvent.ts b/src/nitro/communication/messages/incoming/room/unit/RoomUnitStatusEvent.ts index 808b184f..1f93cc03 100644 --- a/src/nitro/communication/messages/incoming/room/unit/RoomUnitStatusEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/RoomUnitStatusEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitStatusEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitStatusParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatEvent.ts b/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatEvent.ts index bc5514d7..b1743fa2 100644 --- a/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitChatEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitChatParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatShoutEvent.ts b/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatShoutEvent.ts index d6096b4d..7b6ccb13 100644 --- a/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatShoutEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatShoutEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitChatShoutEvent extends MessageEvent implements IMessageEven { return this.parser as RoomUnitChatParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatWhisperEvent.ts b/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatWhisperEvent.ts index 2f2944d0..cf3450ac 100644 --- a/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatWhisperEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitChatWhisperEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitChatWhisperEvent extends MessageEvent implements IMessageEv { return this.parser as RoomUnitChatParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitTypingEvent.ts b/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitTypingEvent.ts index 159bd502..c1f00a7e 100644 --- a/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitTypingEvent.ts +++ b/src/nitro/communication/messages/incoming/room/unit/chat/RoomUnitTypingEvent.ts @@ -13,4 +13,4 @@ export class RoomUnitTypingEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomUnitTypingParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/roomevents/ConditionDefinition.ts b/src/nitro/communication/messages/incoming/roomevents/ConditionDefinition.ts index 2671f6ae..b4519271 100644 --- a/src/nitro/communication/messages/incoming/roomevents/ConditionDefinition.ts +++ b/src/nitro/communication/messages/incoming/roomevents/ConditionDefinition.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { Triggerable } from './Triggerable'; export class ConditionDefinition extends Triggerable @@ -21,4 +21,4 @@ export class ConditionDefinition extends Triggerable { return this._type; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/roomevents/RoomMutedEvent.ts b/src/nitro/communication/messages/incoming/roomevents/RoomMutedEvent.ts index bbe27abe..a9050297 100644 --- a/src/nitro/communication/messages/incoming/roomevents/RoomMutedEvent.ts +++ b/src/nitro/communication/messages/incoming/roomevents/RoomMutedEvent.ts @@ -13,4 +13,4 @@ export class RoomMutedEvent extends MessageEvent implements IMessageEvent { return this.parser as RoomMutedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/roomevents/TriggerDefinition.ts b/src/nitro/communication/messages/incoming/roomevents/TriggerDefinition.ts index 10eec522..d6b4e815 100644 --- a/src/nitro/communication/messages/incoming/roomevents/TriggerDefinition.ts +++ b/src/nitro/communication/messages/incoming/roomevents/TriggerDefinition.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { Triggerable } from './Triggerable'; export class TriggerDefinition extends Triggerable diff --git a/src/nitro/communication/messages/incoming/roomevents/Triggerable.ts b/src/nitro/communication/messages/incoming/roomevents/Triggerable.ts index d9f454d1..554f92f2 100644 --- a/src/nitro/communication/messages/incoming/roomevents/Triggerable.ts +++ b/src/nitro/communication/messages/incoming/roomevents/Triggerable.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class Triggerable { diff --git a/src/nitro/communication/messages/incoming/roomevents/WiredActionDefinition.ts b/src/nitro/communication/messages/incoming/roomevents/WiredActionDefinition.ts index 1db28deb..f174c7da 100644 --- a/src/nitro/communication/messages/incoming/roomevents/WiredActionDefinition.ts +++ b/src/nitro/communication/messages/incoming/roomevents/WiredActionDefinition.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { Triggerable } from './Triggerable'; export class WiredActionDefinition extends Triggerable diff --git a/src/nitro/communication/messages/incoming/roomevents/WiredFurniActionEvent.ts b/src/nitro/communication/messages/incoming/roomevents/WiredFurniActionEvent.ts index e20ca83a..765a0707 100644 --- a/src/nitro/communication/messages/incoming/roomevents/WiredFurniActionEvent.ts +++ b/src/nitro/communication/messages/incoming/roomevents/WiredFurniActionEvent.ts @@ -13,4 +13,4 @@ export class WiredFurniActionEvent extends MessageEvent implements IMessageEvent { return this.parser as WiredFurniActionParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/roomevents/WiredFurniConditionEvent.ts b/src/nitro/communication/messages/incoming/roomevents/WiredFurniConditionEvent.ts index 4d9a729e..7d19f9e3 100644 --- a/src/nitro/communication/messages/incoming/roomevents/WiredFurniConditionEvent.ts +++ b/src/nitro/communication/messages/incoming/roomevents/WiredFurniConditionEvent.ts @@ -13,4 +13,4 @@ export class WiredFurniConditionEvent extends MessageEvent implements IMessageEv { return this.parser as WiredFurniConditionParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/roomevents/WiredFurniTriggerEvent.ts b/src/nitro/communication/messages/incoming/roomevents/WiredFurniTriggerEvent.ts index 4b4ff095..419aa09c 100644 --- a/src/nitro/communication/messages/incoming/roomevents/WiredFurniTriggerEvent.ts +++ b/src/nitro/communication/messages/incoming/roomevents/WiredFurniTriggerEvent.ts @@ -13,4 +13,4 @@ export class WiredFurniTriggerEvent extends MessageEvent implements IMessageEven { return this.parser as WiredFurniTriggerParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/roomevents/WiredOpenEvent.ts b/src/nitro/communication/messages/incoming/roomevents/WiredOpenEvent.ts index 0824e49d..c91a6946 100644 --- a/src/nitro/communication/messages/incoming/roomevents/WiredOpenEvent.ts +++ b/src/nitro/communication/messages/incoming/roomevents/WiredOpenEvent.ts @@ -13,4 +13,4 @@ export class WiredOpenEvent extends MessageEvent implements IMessageEvent { return this.parser as WiredOpenParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/roomevents/WiredSaveSuccessEvent.ts b/src/nitro/communication/messages/incoming/roomevents/WiredSaveSuccessEvent.ts index 02534465..dfb44495 100644 --- a/src/nitro/communication/messages/incoming/roomevents/WiredSaveSuccessEvent.ts +++ b/src/nitro/communication/messages/incoming/roomevents/WiredSaveSuccessEvent.ts @@ -13,4 +13,4 @@ export class WiredSaveSuccessEvent extends MessageEvent implements IMessageEvent { return this.parser as WiredSaveSuccessParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/roomevents/WiredValidationErrorEvent.ts b/src/nitro/communication/messages/incoming/roomevents/WiredValidationErrorEvent.ts index 14d09754..5af743a3 100644 --- a/src/nitro/communication/messages/incoming/roomevents/WiredValidationErrorEvent.ts +++ b/src/nitro/communication/messages/incoming/roomevents/WiredValidationErrorEvent.ts @@ -13,4 +13,4 @@ export class WiredValidationErrorEvent extends MessageEvent implements IMessageE { return this.parser as WiredValidationErrorParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/security/AuthenticatedEvent.ts b/src/nitro/communication/messages/incoming/security/AuthenticatedEvent.ts index 8c01ea30..c5788020 100644 --- a/src/nitro/communication/messages/incoming/security/AuthenticatedEvent.ts +++ b/src/nitro/communication/messages/incoming/security/AuthenticatedEvent.ts @@ -13,4 +13,4 @@ export class AuthenticatedEvent extends MessageEvent implements IMessageEvent { return this.parser as AuthenticatedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/sound/JukeboxPlayListFullMessageEvent.ts b/src/nitro/communication/messages/incoming/sound/JukeboxPlayListFullMessageEvent.ts new file mode 100644 index 00000000..fcfdf849 --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/JukeboxPlayListFullMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { JukeboxPlayListFullMessageParser } from '../../parser'; + +export class JukeboxPlayListFullMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, JukeboxPlayListFullMessageParser); + } + + public getParser(): JukeboxPlayListFullMessageParser + { + return this.parser as JukeboxPlayListFullMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/sound/JukeboxSongDisksMessageEvent.ts b/src/nitro/communication/messages/incoming/sound/JukeboxSongDisksMessageEvent.ts new file mode 100644 index 00000000..48ace66a --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/JukeboxSongDisksMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { JukeboxSongDisksMessageParser } from '../../parser'; + +export class JukeboxSongDisksMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, JukeboxSongDisksMessageParser); + } + + public getParser(): JukeboxSongDisksMessageParser + { + return this.parser as JukeboxSongDisksMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/sound/NowPlayingMessageEvent.ts b/src/nitro/communication/messages/incoming/sound/NowPlayingMessageEvent.ts new file mode 100644 index 00000000..ae016990 --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/NowPlayingMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { NowPlayingMessageParser } from '../../parser'; + +export class NowPlayingMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, NowPlayingMessageParser); + } + + public getParser(): NowPlayingMessageParser + { + return this.parser as NowPlayingMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/sound/OfficialSongIdMessageEvent.ts b/src/nitro/communication/messages/incoming/sound/OfficialSongIdMessageEvent.ts new file mode 100644 index 00000000..883f53c0 --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/OfficialSongIdMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { OfficialSongIdMessageParser } from '../../parser'; + +export class OfficialSongIdMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, OfficialSongIdMessageParser); + } + + public getParser(): OfficialSongIdMessageParser + { + return this.parser as OfficialSongIdMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/sound/PlayListEntry.ts b/src/nitro/communication/messages/incoming/sound/PlayListEntry.ts new file mode 100644 index 00000000..6a0f447e --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/PlayListEntry.ts @@ -0,0 +1,46 @@ +export class PlayListEntry +{ + protected _id: number; + protected _length: number; + protected _name: string; + protected _creator: string; + private _startPlayHead: number = 0; + + constructor(id: number, length: number, name: string, creator: string) + { + this._id = id; + this._length = length; + this._name = name; + this._creator = creator; + } + + public get id(): number + { + return this._id; + } + + public get length(): number + { + return this._length; + } + + public get name(): string + { + return this._name; + } + + public get creator(): string + { + return this._creator; + } + + public get startPlayHeadPos(): number + { + return this._startPlayHead; + } + + public set startPlayHeadPos(k: number) + { + this._startPlayHead = k; + } +} diff --git a/src/nitro/communication/messages/incoming/sound/PlayListMessageEvent.ts b/src/nitro/communication/messages/incoming/sound/PlayListMessageEvent.ts new file mode 100644 index 00000000..21d35432 --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/PlayListMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { PlayListMessageParser } from '../../parser'; + +export class PlayListMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PlayListMessageParser); + } + + public getParser(): PlayListMessageParser + { + return this.parser as PlayListMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/sound/PlayListSongAddedMessageEvent.ts b/src/nitro/communication/messages/incoming/sound/PlayListSongAddedMessageEvent.ts new file mode 100644 index 00000000..dea1784d --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/PlayListSongAddedMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { PlayListSongAddedMessageParser } from '../../parser'; + +export class PlayListSongAddedMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, PlayListSongAddedMessageParser); + } + + public getParser(): PlayListSongAddedMessageParser + { + return this.parser as PlayListSongAddedMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/sound/SongInfoEntry.ts b/src/nitro/communication/messages/incoming/sound/SongInfoEntry.ts new file mode 100644 index 00000000..1981a5c6 --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/SongInfoEntry.ts @@ -0,0 +1,17 @@ +import { PlayListEntry } from '.'; + +export class SongInfoEntry extends PlayListEntry +{ + private _data: string = ''; + + constructor(id: number, length: number, name: string, creator: string, data: string) + { + super(id, length, name, creator); + this._data = data; + } + + public get data(): string + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/incoming/sound/TraxSongInfoMessageEvent.ts b/src/nitro/communication/messages/incoming/sound/TraxSongInfoMessageEvent.ts new file mode 100644 index 00000000..8685aa8e --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/TraxSongInfoMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { TraxSongInfoMessageParser } from '../../parser'; + +export class TraxSongInfoMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, TraxSongInfoMessageParser); + } + + public getParser(): TraxSongInfoMessageParser + { + return this.parser as TraxSongInfoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/sound/UserSongDisksInventoryMessageEvent.ts b/src/nitro/communication/messages/incoming/sound/UserSongDisksInventoryMessageEvent.ts new file mode 100644 index 00000000..6a58eae0 --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/UserSongDisksInventoryMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { UserSongDisksInventoryMessageParser } from '../../parser'; + +export class UserSongDisksInventoryMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, UserSongDisksInventoryMessageParser); + } + + public getParser(): UserSongDisksInventoryMessageParser + { + return this.parser as UserSongDisksInventoryMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/sound/index.ts b/src/nitro/communication/messages/incoming/sound/index.ts new file mode 100644 index 00000000..7fa245a1 --- /dev/null +++ b/src/nitro/communication/messages/incoming/sound/index.ts @@ -0,0 +1,10 @@ +export * from './JukeboxPlayListFullMessageEvent'; +export * from './JukeboxSongDisksMessageEvent'; +export * from './NowPlayingMessageEvent'; +export * from './OfficialSongIdMessageEvent'; +export * from './PlayListEntry'; +export * from './PlayListMessageEvent'; +export * from './PlayListSongAddedMessageEvent'; +export * from './SongInfoEntry'; +export * from './TraxSongInfoMessageEvent'; +export * from './UserSongDisksInventoryMessageEvent'; diff --git a/src/nitro/communication/messages/incoming/talent/TalentTrackMessageEvent.ts b/src/nitro/communication/messages/incoming/talent/TalentTrackMessageEvent.ts new file mode 100644 index 00000000..7fd14982 --- /dev/null +++ b/src/nitro/communication/messages/incoming/talent/TalentTrackMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { TalentTrackParser } from '../../parser/talent/TalentTrackParser'; + +export class TalentTrackMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, TalentTrackParser); + } + + public getParser(): TalentTrackParser + { + return this.parser as TalentTrackParser; + } +} diff --git a/src/nitro/communication/messages/incoming/talent/index.ts b/src/nitro/communication/messages/incoming/talent/index.ts new file mode 100644 index 00000000..ebe3f002 --- /dev/null +++ b/src/nitro/communication/messages/incoming/talent/index.ts @@ -0,0 +1 @@ +export * from './TalentTrackMessageEvent'; diff --git a/src/nitro/communication/messages/incoming/user/ApproveNameMessageEvent.ts b/src/nitro/communication/messages/incoming/user/ApproveNameMessageEvent.ts new file mode 100644 index 00000000..fe4d86ba --- /dev/null +++ b/src/nitro/communication/messages/incoming/user/ApproveNameMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ApproveNameResultParser } from '../../parser'; + +export class ApproveNameMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ApproveNameResultParser); + } + + public getParser(): ApproveNameResultParser + { + return this.parser as ApproveNameResultParser; + } +} diff --git a/src/nitro/communication/messages/incoming/user/GuildMembershipsMessageEvent.ts b/src/nitro/communication/messages/incoming/user/GuildMembershipsMessageEvent.ts new file mode 100644 index 00000000..78b92971 --- /dev/null +++ b/src/nitro/communication/messages/incoming/user/GuildMembershipsMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { GuildMembershipsMessageParser } from '../../parser/user/GuildMembershipsMessageParser'; + +export class GuildMembershipsMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, GuildMembershipsMessageParser); + } + + public getParser(): GuildMembershipsMessageParser + { + return this.parser as GuildMembershipsMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/user/InClientLinkEvent.ts b/src/nitro/communication/messages/incoming/user/InClientLinkEvent.ts index 76d0bc15..4a99a899 100644 --- a/src/nitro/communication/messages/incoming/user/InClientLinkEvent.ts +++ b/src/nitro/communication/messages/incoming/user/InClientLinkEvent.ts @@ -1,6 +1,6 @@ -import { InClientLinkParser } from '../../parser/user/InClientLinkParser'; import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { InClientLinkParser } from '../../parser/user/InClientLinkParser'; export class InClientLinkEvent extends MessageEvent implements IMessageEvent { @@ -13,4 +13,4 @@ export class InClientLinkEvent extends MessageEvent implements IMessageEvent { return this.parser as InClientLinkParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/notifications/RespectReceivedEvent.ts b/src/nitro/communication/messages/incoming/user/RespectReceivedEvent.ts similarity index 83% rename from src/nitro/communication/messages/incoming/notifications/RespectReceivedEvent.ts rename to src/nitro/communication/messages/incoming/user/RespectReceivedEvent.ts index e67a7f2d..f9765451 100644 --- a/src/nitro/communication/messages/incoming/notifications/RespectReceivedEvent.ts +++ b/src/nitro/communication/messages/incoming/user/RespectReceivedEvent.ts @@ -1,6 +1,6 @@ import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; -import { RespectReceivedParser } from '../../parser/notifications/RespectReceivedParser'; +import { RespectReceivedParser } from '../../parser/user/RespectReceivedParser'; export class RespectReceivedEvent extends MessageEvent implements IMessageEvent { @@ -13,4 +13,4 @@ export class RespectReceivedEvent extends MessageEvent implements IMessageEvent { return this.parser as RespectReceivedParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/user/ScrKickbackData.ts b/src/nitro/communication/messages/incoming/user/ScrKickbackData.ts new file mode 100644 index 00000000..8464d85d --- /dev/null +++ b/src/nitro/communication/messages/incoming/user/ScrKickbackData.ts @@ -0,0 +1,72 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; + +export class ScrKickbackData +{ + private _currentHcStreak:number; + private _firstSubscriptionDate:string; + private _kickbackPercentage:number; + private _totalCreditsMissed:number; + private _totalCreditsRewarded:number; + private _totalCreditsSpent:number; + private _creditRewardForStreakBonus:number; + private _creditRewardForMonthlySpent:number; + private _timeUntilPayday:number; + + constructor(k: IMessageDataWrapper) + { + this._currentHcStreak = k.readInt(); + this._firstSubscriptionDate = k.readString(); + this._kickbackPercentage = k.readDouble(); + this._totalCreditsMissed = k.readInt(); + this._totalCreditsRewarded = k.readInt(); + this._totalCreditsSpent = k.readInt(); + this._creditRewardForStreakBonus = k.readInt(); + this._creditRewardForMonthlySpent = k.readInt(); + this._timeUntilPayday = k.readInt(); + } + + public get currentHcStreak():number + { + return this._currentHcStreak; + } + + public get firstSubscriptionDate():string + { + return this._firstSubscriptionDate; + } + + public get kickbackPercentage():number + { + return this._kickbackPercentage; + } + + public get totalCreditsMissed():number + { + return this._totalCreditsMissed; + } + + public get totalCreditsRewarded():number + { + return this._totalCreditsRewarded; + } + + public get totalCreditsSpent():number + { + return this._totalCreditsSpent; + } + + public get creditRewardForStreakBonus():number + { + return this._creditRewardForStreakBonus; + } + + public get creditRewardForMonthlySpent():number + { + return this._creditRewardForMonthlySpent; + } + + public get timeUntilPayday():number + { + return this._timeUntilPayday; + } +} diff --git a/src/nitro/communication/messages/incoming/user/ScrSendKickbackInfoMessageEvent.ts b/src/nitro/communication/messages/incoming/user/ScrSendKickbackInfoMessageEvent.ts new file mode 100644 index 00000000..592e6cfd --- /dev/null +++ b/src/nitro/communication/messages/incoming/user/ScrSendKickbackInfoMessageEvent.ts @@ -0,0 +1,16 @@ +import { IMessageEvent } from '../../../../../core/communication/messages/IMessageEvent'; +import { MessageEvent } from '../../../../../core/communication/messages/MessageEvent'; +import { ScrSendKickbackInfoMessageParser } from '../../parser/user/ScrSendKickbackInfoMessageParser'; + +export class ScrSendKickbackInfoMessageEvent extends MessageEvent implements IMessageEvent +{ + constructor(callBack: Function) + { + super(callBack, ScrSendKickbackInfoMessageParser); + } + + public getParser(): ScrSendKickbackInfoMessageParser + { + return this.parser as ScrSendKickbackInfoMessageParser; + } +} diff --git a/src/nitro/communication/messages/incoming/user/access/UserPerksEvent.ts b/src/nitro/communication/messages/incoming/user/access/UserPerksEvent.ts deleted file mode 100644 index e921e8d6..00000000 --- a/src/nitro/communication/messages/incoming/user/access/UserPerksEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { UserPerksParser } from '../../../parser/user/access/UserPerksParser'; - -export class UserPerksEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, UserPerksParser); - } - - public getParser(): UserPerksParser - { - return this.parser as UserPerksParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/user/access/UserPermissionsEvent.ts b/src/nitro/communication/messages/incoming/user/access/UserPermissionsEvent.ts index 73ffd528..28c1f273 100644 --- a/src/nitro/communication/messages/incoming/user/access/UserPermissionsEvent.ts +++ b/src/nitro/communication/messages/incoming/user/access/UserPermissionsEvent.ts @@ -13,4 +13,4 @@ export class UserPermissionsEvent extends MessageEvent implements IMessageEvent { return this.parser as UserPermissionsParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/user/access/index.ts b/src/nitro/communication/messages/incoming/user/access/index.ts index 00006559..51901c37 100644 --- a/src/nitro/communication/messages/incoming/user/access/index.ts +++ b/src/nitro/communication/messages/incoming/user/access/index.ts @@ -1,2 +1 @@ -export * from './UserPerksEvent'; export * from './UserPermissionsEvent'; diff --git a/src/nitro/communication/messages/incoming/user/data/UserCurrentBadgesEvent.ts b/src/nitro/communication/messages/incoming/user/data/UserCurrentBadgesEvent.ts index c9936402..9c509cc7 100644 --- a/src/nitro/communication/messages/incoming/user/data/UserCurrentBadgesEvent.ts +++ b/src/nitro/communication/messages/incoming/user/data/UserCurrentBadgesEvent.ts @@ -13,4 +13,4 @@ export class UserCurrentBadgesEvent extends MessageEvent implements IMessageEven { return this.parser as UserCurrentBadgesParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/user/data/UserFigureEvent.ts b/src/nitro/communication/messages/incoming/user/data/UserFigureEvent.ts deleted file mode 100644 index 1bfbd732..00000000 --- a/src/nitro/communication/messages/incoming/user/data/UserFigureEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent'; -import { UserFigureParser } from '../../../parser/user/data/UserFigureParser'; - -export class UserFigureEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, UserFigureParser); - } - - public getParser(): UserFigureParser - { - return this.parser as UserFigureParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/user/data/UserInfoEvent.ts b/src/nitro/communication/messages/incoming/user/data/UserInfoEvent.ts index ffc071e7..ecf6ba17 100644 --- a/src/nitro/communication/messages/incoming/user/data/UserInfoEvent.ts +++ b/src/nitro/communication/messages/incoming/user/data/UserInfoEvent.ts @@ -13,4 +13,4 @@ export class UserInfoEvent extends MessageEvent implements IMessageEvent { return this.parser as UserInfoParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/user/data/UserNameChangeMessageEvent.ts b/src/nitro/communication/messages/incoming/user/data/UserNameChangeMessageEvent.ts index 2b0d19a8..87952401 100644 --- a/src/nitro/communication/messages/incoming/user/data/UserNameChangeMessageEvent.ts +++ b/src/nitro/communication/messages/incoming/user/data/UserNameChangeMessageEvent.ts @@ -13,4 +13,4 @@ export class UserNameChangeMessageEvent extends MessageEvent implements IMessage { return this.parser as UserNameChangeMessageParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/user/data/UserProfileEvent.ts b/src/nitro/communication/messages/incoming/user/data/UserProfileEvent.ts index 82491aed..4b76cff7 100644 --- a/src/nitro/communication/messages/incoming/user/data/UserProfileEvent.ts +++ b/src/nitro/communication/messages/incoming/user/data/UserProfileEvent.ts @@ -13,4 +13,4 @@ export class UserProfileEvent extends MessageEvent implements IMessageEvent { return this.parser as UserProfileParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/user/data/UserSettingsEvent.ts b/src/nitro/communication/messages/incoming/user/data/UserSettingsEvent.ts index 7add18ac..488df993 100644 --- a/src/nitro/communication/messages/incoming/user/data/UserSettingsEvent.ts +++ b/src/nitro/communication/messages/incoming/user/data/UserSettingsEvent.ts @@ -13,4 +13,4 @@ export class UserSettingsEvent extends MessageEvent implements IMessageEvent { return this.parser as UserSettingsParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/user/data/index.ts b/src/nitro/communication/messages/incoming/user/data/index.ts index f18b232c..34c7d82c 100644 --- a/src/nitro/communication/messages/incoming/user/data/index.ts +++ b/src/nitro/communication/messages/incoming/user/data/index.ts @@ -1,6 +1,5 @@ export * from './RelationshipStatusInfoEvent'; export * from './UserCurrentBadgesEvent'; -export * from './UserFigureEvent'; export * from './UserInfoEvent'; export * from './UserNameChangeMessageEvent'; export * from './UserProfileEvent'; diff --git a/src/nitro/communication/messages/incoming/user/index.ts b/src/nitro/communication/messages/incoming/user/index.ts index 4f686a60..dae0e1fb 100644 --- a/src/nitro/communication/messages/incoming/user/index.ts +++ b/src/nitro/communication/messages/incoming/user/index.ts @@ -1,7 +1,12 @@ export * from './access'; +export * from './ApproveNameMessageEvent'; export * from './data'; +export * from './GuildMembershipsMessageEvent'; export * from './IgnoredUsersEvent'; export * from './IgnoreResultEvent'; export * from './InClientLinkEvent'; export * from './inventory'; +export * from './RespectReceivedEvent'; +export * from './ScrKickbackData'; +export * from './ScrSendKickbackInfoMessageEvent'; export * from './wardrobe'; diff --git a/src/nitro/communication/messages/incoming/user/inventory/currency/UserCreditsEvent.ts b/src/nitro/communication/messages/incoming/user/inventory/currency/UserCreditsEvent.ts index bc2b65c5..abcd697d 100644 --- a/src/nitro/communication/messages/incoming/user/inventory/currency/UserCreditsEvent.ts +++ b/src/nitro/communication/messages/incoming/user/inventory/currency/UserCreditsEvent.ts @@ -13,4 +13,4 @@ export class UserCreditsEvent extends MessageEvent implements IMessageEvent { return this.parser as UserCreditsParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/user/inventory/currency/UserCurrencyEvent.ts b/src/nitro/communication/messages/incoming/user/inventory/currency/UserCurrencyEvent.ts index 6175e1bb..33335727 100644 --- a/src/nitro/communication/messages/incoming/user/inventory/currency/UserCurrencyEvent.ts +++ b/src/nitro/communication/messages/incoming/user/inventory/currency/UserCurrencyEvent.ts @@ -13,4 +13,4 @@ export class UserCurrencyEvent extends MessageEvent implements IMessageEvent { return this.parser as UserCurrencyParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/incoming/user/inventory/currency/UserCurrencyUpdateEvent.ts b/src/nitro/communication/messages/incoming/user/inventory/currency/UserCurrencyUpdateEvent.ts deleted file mode 100644 index a2c4db74..00000000 --- a/src/nitro/communication/messages/incoming/user/inventory/currency/UserCurrencyUpdateEvent.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IMessageEvent } from '../../../../../../../core/communication/messages/IMessageEvent'; -import { MessageEvent } from '../../../../../../../core/communication/messages/MessageEvent'; -import { UserCurrencyUpdateParser } from '../../../../parser/user/inventory/currency/UserCurrencyUpdateParser'; - -export class UserCurrencyUpdateEvent extends MessageEvent implements IMessageEvent -{ - constructor(callBack: Function) - { - super(callBack, UserCurrencyUpdateParser); - } - - public getParser(): UserCurrencyUpdateParser - { - return this.parser as UserCurrencyUpdateParser; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/incoming/user/inventory/currency/index.ts b/src/nitro/communication/messages/incoming/user/inventory/currency/index.ts index 7b383214..f178ba75 100644 --- a/src/nitro/communication/messages/incoming/user/inventory/currency/index.ts +++ b/src/nitro/communication/messages/incoming/user/inventory/currency/index.ts @@ -1,3 +1,2 @@ export * from './UserCreditsEvent'; export * from './UserCurrencyEvent'; -export * from './UserCurrencyUpdateEvent'; diff --git a/src/nitro/communication/messages/incoming/user/inventory/subscription/UserSubscriptionEvent.ts b/src/nitro/communication/messages/incoming/user/inventory/subscription/UserSubscriptionEvent.ts index 2f370f24..af5d67c7 100644 --- a/src/nitro/communication/messages/incoming/user/inventory/subscription/UserSubscriptionEvent.ts +++ b/src/nitro/communication/messages/incoming/user/inventory/subscription/UserSubscriptionEvent.ts @@ -13,4 +13,4 @@ export class UserSubscriptionEvent extends MessageEvent implements IMessageEvent { return this.parser as UserSubscriptionParser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/outgoing/OutgoingHeader.ts b/src/nitro/communication/messages/outgoing/OutgoingHeader.ts index 5d152c36..c9e8876d 100644 --- a/src/nitro/communication/messages/outgoing/OutgoingHeader.ts +++ b/src/nitro/communication/messages/outgoing/OutgoingHeader.ts @@ -6,43 +6,54 @@ export class OutgoingHeader public static BOT_PICKUP = 3323; public static BOT_PLACE = 1592; public static BOT_SKILL_SAVE = 2624; - public static CATALOG_CLUB = 3285; - public static CATALOG_CLUB_GIFTS = 487; - public static CATALOG_MODE = 1195; - public static CATALOG_PAGE = 412; + public static GET_CLUB_OFFERS = 3285; + public static GET_CLUB_GIFT_INFO = 487; + public static GET_CATALOG_INDEX = 1195; + public static GET_CATALOG_PAGE = 412; public static CATALOG_PURCHASE = 3492; public static CATALOG_PURCHASE_GIFT = 1411; - public static CATALOG_SEARCH = 2594; + public static GET_PRODUCT_OFFER = 2594; public static CLIENT_LATENCY = 295; public static CLIENT_LATENCY_MEASURE = 96; public static CLIENT_POLICY = 26979; public static CLIENT_PONG = 2596; public static CLIENT_TOOLBAR_TOGGLE = 2313; public static CLIENT_VARIABLES = 1053; - public static DESKTOP_CAMPAIGNS = 2912; + public static GET_CURRENT_TIMING_CODE = 2912; public static DESKTOP_NEWS = 1827; public static DESKTOP_VIEW = 105; - public static DISCOUNT_CONFIG = 223; + public static GET_BUNDLE_DISCOUNT_RULESET = 223; public static EVENT_TRACKER = 3457; - public static FIND_FRIENDS = 516; + public static FIND_NEW_FRIENDS = 516; public static FURNITURE_ALIASES = 3898; public static FURNITURE_FLOOR_UPDATE = 248; public static FURNITURE_MULTISTATE = 99; public static FURNITURE_PICKUP = 3456; public static FURNITURE_PLACE = 1258; public static FURNITURE_POSTIT_PLACE = 2248; + public static FURNITURE_POSTIT_SAVE_STICKY_POLE = 3283; public static FURNITURE_RANDOMSTATE = 3617; public static FURNITURE_WALL_MULTISTATE = 210; public static FURNITURE_WALL_UPDATE = 168; public static GAMES_INIT = 2914; public static GAMES_LIST = 741; - public static GIFT_CONFIG = 418; + public static GET_GIFT_WRAPPING_CONFIG = 418; public static GROUP_ADMIN_ADD = 2894; public static GROUP_ADMIN_REMOVE = 722; public static GROUP_CREATE_OPTIONS = 798; - public static GROUP_FORUM_INFO = 3149; - public static GROUP_FORUM_LIST = 873; - public static GROUP_FORUM_THREADS = 436; + public static GROUP_FAVORITE = 3549; + public static GET_FORUM_STATS = 3149; + public static GET_FORUM_THREADS = 873; + public static GET_FORUMS_LIST = 436; + public static GET_FORUM_MESSAGES = 232; + public static GET_FORUM_THREAD = 3900; + public static GET_UNREAD_FORUMS_COUNT = 2908; + public static FORUM_MODERATE_MESSAGE = 286; + public static FORUM_MODERATE_THREAD = 1397; + public static FORUM_POST_MESSAGE = 3529; + public static UPDATE_FORUM_READ_MARKER = 1855; + public static UPDATE_FORUM_SETTINGS = 2214; + public static FORUM_UPDATE_THREAD = 3045; public static GROUP_INFO = 2991; public static GROUP_DELETE = 1134; public static GROUP_MEMBER_REMOVE_CONFIRM = 3593; @@ -59,6 +70,7 @@ export class OutgoingHeader public static GROUP_SAVE_BADGE = 1991; public static GROUP_SAVE_COLORS = 1764; public static GROUP_SAVE_PREFERENCES = 3435; + public static GROUP_BADGES = 21; public static INVENTORY_UNKNOWN = 1371; public static ITEM_CLOTHING_REDEEM = 3374; public static ITEM_COLOR_WHEEL_CLICK = 2144; @@ -69,25 +81,25 @@ export class OutgoingHeader public static ITEM_DIMMER_TOGGLE = 2296; public static ITEM_EXCHANGE_REDEEM = 3115; public static ITEM_PAINT = 711; - public static ITEM_SAVE_BACKGROUND = 3608; + public static SET_OBJECT_DATA = 3608; public static ITEM_STACK_HELPER = 3839; public static ITEM_WALL_CLICK = 210; public static ITEM_WALL_UPDATE = 168; public static MARKETPLACE_CONFIG = 2597; - public static MESSENGER_ACCEPT = 137; + public static ACCEPT_FRIEND = 137; public static MESSENGER_CHAT = 3567; - public static MESSENGER_DECLINE = 2890; - public static MESSENGER_FOLLOW = 3997; + public static DECLINE_FRIEND = 2890; + public static FOLLOW_FRIEND = 3997; public static MESSENGER_FRIENDS = 1523; public static MESSENGER_INIT = 2781; public static MESSENGER_RELATIONSHIPS = 2138; - public static MESSENGER_RELATIONSHIPS_UPDATE = 3768; - public static MESSENGER_REMOVE = 1689; - public static MESSENGER_REQUEST = 3157; - public static MESSENGER_REQUESTS = 2448; - public static MESSENGER_ROOM_INVITE = 1276; - public static MESSENGER_SEARCH = 1210; - public static MESSENGER_UPDATES = 1419; + public static SET_RELATIONSHIP_STATUS = 3768; + public static REMOVE_FRIEND = 1689; + public static REQUEST_FRIEND = 3157; + public static GET_FRIEND_REQUESTS = 2448; + public static SEND_ROOM_INVITE = 1276; + public static HABBO_SEARCH = 1210; + public static FRIEND_LIST_UPDATE = 1419; public static MOD_TOOL_USER_INFO = 3295; public static NAVIGATOR_CATEGORIES = 3027; public static NAVIGATOR_INIT = 2110; @@ -106,7 +118,7 @@ export class OutgoingHeader public static PET_MOVE = 3449; public static RECYCLER_PRIZES = 398; public static RELEASE_VERSION = 4000; - public static REPORT = 1691; + public static CALL_FOR_HELP = 1691; public static ROOM_AMBASSADOR_ALERT = 2996; public static ROOM_BAN_GIVE = 1477; public static ROOM_BAN_LIST = 2267; @@ -121,8 +133,8 @@ export class OutgoingHeader public static ROOM_KICK = 1320; public static ROOM_LIKE = 3582; public static ROOM_MODEL = 2300; - public static ROOM_MODEL_BLOCKED_TILES = 1687; - public static ROOM_MODEL_DOOR = 3559; + public static GET_OCCUPIED_TILES = 1687; + public static GET_ROOM_ENTRY_TILE = 3559; public static ROOM_MODEL_SAVE = 875; public static ROOM_MUTE = 3637; public static ROOM_MUTE_USER = 3485; @@ -172,22 +184,21 @@ export class OutgoingHeader public static USER_INFO = 357; public static USER_MOTTO = 2228; public static USER_IGNORED = 3878; - public static USER_OUTFIT_SAVE = 800; - public static USER_OUTFITS = 2742; public static USER_PETS = 3095; public static USER_PROFILE = 3265; + public static USER_PROFILE_BY_NAME = 2249; public static USER_RESPECT = 2694; - public static USER_SETTINGS = 2388; + public static GET_SOUND_SETTINGS = 2388; public static USER_SETTINGS_CAMERA = 1461; public static USER_SETTINGS_CHAT_STYLE = 1030; public static USER_SETTINGS_INVITES = 1086; public static USER_SETTINGS_OLD_CHAT = 1262; public static USER_SETTINGS_VOLUME = 1367; public static USER_SUBSCRIPTION = 3166; - public static USER_WARDROBE_PAGE = 2742; - public static USER_WARDROBE_SAVE = 800; + public static GET_WARDROBE = 2742; + public static SAVE_WARDROBE_OUTFIT = 800; public static USER_TAGS = 17; - public static USER_VISIT = 2970; + public static VISIT_USER = 2970; public static WIRED_ACTION_SAVE = 2281; public static WIRED_APPLY_SNAPSHOT = 3373; public static WIRED_CONDITION_SAVE = 3203; @@ -196,10 +207,10 @@ export class OutgoingHeader public static GET_ITEM_DATA = 3964; public static ONE_WAY_DOOR_CLICK = 2765; public static REMOVE_WALL_ITEM = 3336; - public static MODIFY_WALL_ITEM_DATA = 3666; + public static SET_ITEM_DATA = 3666; public static CATALOG_REDEEM_VOUCHER = 339; public static ROOM_TONER_APPLY = 2880; - public static LOVELOCK_START_CONFIRM = 3775; + public static FRIEND_FURNI_CONFIRM_LOCK = 3775; public static MANNEQUIN_SAVE_NAME = 2850; public static MANNEQUIN_SAVE_LOOK = 2209; public static PRESENT_OPEN_PRESENT = 3558; @@ -219,6 +230,14 @@ export class OutgoingHeader public static MODTOOL_SANCTION_MUTE = 1945; public static MODTOOL_REQUEST_USER_ROOMS = 3526; public static MODTOOL_ROOM_ALERT = 3842; + public static MODTOOL_PREFERENCES = 31; + public static CLOSE_ISSUE_DEFAULT_ACTION = 2717; + public static CLOSE_ISSUES = 2067; + public static DEFAULT_SANCTION = 1681; + public static GET_CFH_CHATLOG = 211; + public static MODTOOL_SANCTION = 1392; + public static PICK_ISSUES = 15; + public static RELEASE_ISSUES = 1572; public static CONVERT_GLOBAL_ROOM_ID = 314; public static REQUEST_SELL_ITEM = 848; public static REQUEST_MARKETPLACE_ITEM_STATS = 3288; @@ -228,12 +247,13 @@ export class OutgoingHeader public static MARKETPLACE_REDEEM_CREDITS = 2650; public static MARKETPLACE_REQUEST_OFFERS = 2407; public static MARKETPLACE_BUY_OFFER = 1603; + public static MARKETPLACE_BUY_TOKENS = 1866; public static CATALOG_REQUESET_PET_BREEDS = 1756; public static APPROVE_NAME = 2109; public static UNIT_GIVE_HANDITEM_PET = 2768; public static PET_MOUNT = 1036; public static PET_SUPPLEMENT = 749; - public static FURNITURE_GUILD_INFO = 2651; + public static FURNITURE_GROUP_INFO = 2651; public static ACHIEVEMENT_RESOLUTION_OPEN = 359; public static USE_PET_PRODUCT = 1328; public static REMOVE_PET_SADDLE = 186; @@ -271,4 +291,92 @@ export class OutgoingHeader public static RENDER_ROOM = 3226; public static RENDER_ROOM_THUMBNAIL = 1982; public static REQUEST_CAMERA_CONFIGURATION = 796; + public static ADD_JUKEBOX_DISK = 753; + public static GET_JUKEBOX_PLAYLIST = 1435; + public static GET_NOW_PLAYING = 1325; + public static GET_OFFICIAL_SONG_ID = 3189; + public static GET_SONG_INFO = 3082; + public static GET_SOUND_MACHINE_PLAYLIST = 3498; + public static GET_USER_SONG_DISKS = 2304; + public static REMOVE_JUKEBOX_DISK = 3050; + public static INTERSTITIAL_SHOWN = 1109; + public static GET_INTERSTITIAL = 2519; + public static CHANGE_USERNAME = 2977; + public static CHECK_USERNAME = 3950; + public static OPEN_CAMPAIGN_CALENDAR_DOOR_STAFF= 3889; + public static OPEN_CAMPAIGN_CALENDAR_DOOR = 2257; + public static BUILDERS_CLUB_PLACE_ROOM_ITEM = 1051; + public static BUILDERS_CLUB_PLACE_WALL_ITEM = 462; + public static BUILDERS_CLUB_QUERY_FURNI_COUNT = 2529; + public static GET_CATALOG_PAGE_EXPIRATION = 742; + public static GET_CATALOG_PAGE_WITH_EARLIEST_EXP = 3135; + public static GET_DIRECT_CLUB_BUY_AVAILABLE = 801; + public static GET_HABBO_BASIC_MEMBERSHIP_EXTEND_OFFER = 603; + public static GET_HABBO_CLUB_EXTEND_OFFER = 2462; + public static GET_IS_OFFER_GIFTABLE = 1347; + public static GET_LIMITED_OFFER_APPEARING_NEXT = 410; + public static GET_NEXT_TARGETED_OFFER = 596; + public static GET_ROOM_AD_PURCHASE_INFO = 1075; + public static GET_SEASONAL_CALENDAR_DAILY_OFFER = 3257; + public static GET_TARGETED_OFFER = 2487; + public static MARK_CATALOG_NEW_ADDITIONS_PAGE_OPENED = 2150; + public static PURCHASE_BASIC_MEMBERSHIP_EXTENSION = 2735; + public static PURCHASE_ROOM_AD = 777; + public static PURCHASE_TARGETED_OFFER = 1826; + public static PURCHASE_VIP_MEMBERSHIP_EXTENSION = 3407; + public static ROOM_AD_PURCHASE_INITIATED = 2283; + public static SET_TARGETTED_OFFER_STATE = 2041; + public static SHOP_TARGETED_OFFER_VIEWED = 3483; + public static HELPER_TALENT_TRACK = 196; + public static FORWARD_TO_A_COMPETITION_ROOM = 172; + public static FORWARD_TO_A_SUBMITTABLE_ROOM = 1450; + public static FORWARD_TO_RANDOM_COMPETITION_ROOM = 865; + public static GET_IS_USER_PART_OF_COMPETITION = 2077; + public static GET_SECONDS_UNTIL = 271; + public static ROOM_COMPETITION_INIT = 1334; + public static SUBMIT_ROOM_TO_COMPETITION = 2595; + public static VOTE_FOR_ROOM = 143; + public static GET_GIFT = 2436; + public static RESET_PHONE_NUMBER_STATE = 2741; + public static SET_PHONE_NUMBER_VERIFICATION_STATUS = 1379; + public static TRY_PHONE_NUMBER = 790; + public static VERIFY_CODE = 2721; + public static CONTROL_YOUTUBE_DISPLAY_PLAYBACK = 3005; + public static GET_YOUTUBE_DISPLAY_STATUS = 336; + public static SET_YOUTUBE_DISPLAY_PLAYLIST = 2069; + public static GO_TO_FLAT = 685; + public static CALL_FOR_HELP_FROM_FORUM_MESSAGE = 1412; + public static CALL_FOR_HELP_FROM_FORUM_THREAD = 534; + public static CALL_FOR_HELP_FROM_IM = 2950; + public static CALL_FOR_HELP_FROM_PHOTO = 2492; + public static CALL_FOR_HELP_FROM_SELFIE = 2755; + public static CHAT_REVIEW_GUIDE_DECIDES = 3365; + public static CHAT_REVIEW_GUIDE_DETACHED = 2501; + public static CHAT_REVIEW_GUIDE_VOTE = 3961; + public static CHAT_REVIEW_SESSION_CREATE = 3060; + public static DELETE_PENDING_CALLS_FOR_HELP = 3605; + public static GET_CFH_STATUS = 2746; + public static GET_FAQ_CATEGORY = 3445; + public static GET_FAQ_TEXT = 1849; + public static GET_GUIDE_REPORTING_STATUS = 3786; + public static GET_PENDING_CALLS_FOR_HELP = 3267; + public static GET_QUIZ_QUESTIONS = 1296; + public static GUIDE_SESSION_CREATE = 3338; + public static GUIDE_SESSION_FEEDBACK = 477; + public static GUIDE_SESSION_GET_REQUESTER_ROOM = 1052; + public static GUIDE_SESSION_GUIDE_DECIDES = 1424; + public static GUIDE_SESSION_INVITE_REQUESTER = 234; + public static GUIDE_SESSION_IS_TYPING = 519; + public static GUIDE_SESSION_MESSAGE = 3899 + public static GUIDE_SESSION_ON_DUTY_UPDATE = 1922; + public static GUIDE_SESSION_REPORT = 3969; + public static GUIDE_SESSION_REQUESTER_CANCELS = 291; + public static GUIDE_SESSION_RESOLVED = 887; + public static POST_QUIZ_ANSWERS = 3720; + public static SEARCH_FAQS = 2031; + public static POLL_ANSWER = 3505; + public static POLL_REJECT = 1773; + public static POLL_START = 109; + public static DISCONNECT = 2445; + public static SCR_GET_KICKBACK_INFO = 869; } diff --git a/src/nitro/communication/messages/outgoing/achievements/index.ts b/src/nitro/communication/messages/outgoing/achievements/index.ts deleted file mode 100644 index 196ac3f5..00000000 --- a/src/nitro/communication/messages/outgoing/achievements/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './RequestAchievementsMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/advertisement/GetInterstitialMessageComposer.ts b/src/nitro/communication/messages/outgoing/advertisement/GetInterstitialMessageComposer.ts new file mode 100644 index 00000000..b47e69dc --- /dev/null +++ b/src/nitro/communication/messages/outgoing/advertisement/GetInterstitialMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetInterstitialMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public dispose(): void + { + return; + } + + public getMessageArray() + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/outgoing/advertisement/InterstitialShownMessageComposer.ts b/src/nitro/communication/messages/outgoing/advertisement/InterstitialShownMessageComposer.ts new file mode 100644 index 00000000..c4d886ee --- /dev/null +++ b/src/nitro/communication/messages/outgoing/advertisement/InterstitialShownMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class InterstitialShownMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public dispose(): void + { + return; + } + + public getMessageArray() + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/outgoing/achievements/RequestAchievementsMessageComposer.ts b/src/nitro/communication/messages/outgoing/advertisement/RequestAchievementsMessageComposer.ts similarity index 80% rename from src/nitro/communication/messages/outgoing/achievements/RequestAchievementsMessageComposer.ts rename to src/nitro/communication/messages/outgoing/advertisement/RequestAchievementsMessageComposer.ts index a3f6403a..a0aaeb13 100644 --- a/src/nitro/communication/messages/outgoing/achievements/RequestAchievementsMessageComposer.ts +++ b/src/nitro/communication/messages/outgoing/advertisement/RequestAchievementsMessageComposer.ts @@ -1,4 +1,4 @@ -import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; +import { IMessageComposer } from '../../../../../core'; export class RequestAchievementsMessageComposer implements IMessageComposer> { @@ -18,4 +18,4 @@ export class RequestAchievementsMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(name: string) + { + this._data = [ name ]; + } + + dispose(): void + { + this._data = null; + } + + public getMessageArray() + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/outgoing/avatar/CheckUserNameMessageComposer.ts b/src/nitro/communication/messages/outgoing/avatar/CheckUserNameMessageComposer.ts new file mode 100644 index 00000000..12fbd746 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/avatar/CheckUserNameMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class CheckUserNameMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(name: string) + { + this._data = [ name ]; + } + + dispose(): void + { + this._data = null; + } + + public getMessageArray() + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/outgoing/avatar/GetWardrobeMessageComposer.ts b/src/nitro/communication/messages/outgoing/avatar/GetWardrobeMessageComposer.ts new file mode 100644 index 00000000..64045171 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/avatar/GetWardrobeMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetWardrobeMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(pageId: number = 0) + { + this._data = [ pageId ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/avatar/SaveWardrobeOutfitMessageComposer.ts b/src/nitro/communication/messages/outgoing/avatar/SaveWardrobeOutfitMessageComposer.ts new file mode 100644 index 00000000..c3c44111 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/avatar/SaveWardrobeOutfitMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class SaveWardrobeOutfitMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(slotId: number, look: string, gender: string) + { + this._data = [ slotId, look, gender ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/avatar/index.ts b/src/nitro/communication/messages/outgoing/avatar/index.ts new file mode 100644 index 00000000..fc2f2101 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/avatar/index.ts @@ -0,0 +1,4 @@ +export * from './ChangeUserNameMessageComposer'; +export * from './CheckUserNameMessageComposer'; +export * from './GetWardrobeMessageComposer'; +export * from './SaveWardrobeOutfitMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/camera/RenderRoomThumbnailMessageComposer.ts b/src/nitro/communication/messages/outgoing/camera/RenderRoomThumbnailMessageComposer.ts index 7f31b80b..78a2bf4b 100644 --- a/src/nitro/communication/messages/outgoing/camera/RenderRoomThumbnailMessageComposer.ts +++ b/src/nitro/communication/messages/outgoing/camera/RenderRoomThumbnailMessageComposer.ts @@ -2,7 +2,7 @@ import { RenderRoomMessageComposer } from './RenderRoomMessageComposer'; export class RenderRoomThumbnailMessageComposer extends RenderRoomMessageComposer { - constructor(k:any = '', _arg_2:string = '', _arg_3:string = '', _arg_4:number = -1, _arg_5:number = -1) + constructor(k:any = '', _arg_2: string = '', _arg_3: string = '', _arg_4: number = -1, _arg_5: number = -1) { super(k, _arg_2, _arg_3, _arg_4, _arg_5); } diff --git a/src/nitro/communication/messages/outgoing/campaign/OpenCampaignCalendarDoorAsStaffComposer.ts b/src/nitro/communication/messages/outgoing/campaign/OpenCampaignCalendarDoorAsStaffComposer.ts new file mode 100644 index 00000000..d07748a6 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/campaign/OpenCampaignCalendarDoorAsStaffComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class OpenCampaignCalendarDoorAsStaffComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string, _arg_2: number) + { + this._data = [ k, _arg_2 ]; + } + + dispose(): void + { + this._data = null; + } + + public getMessageArray() + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/outgoing/campaign/OpenCampaignCalendarDoorComposer.ts b/src/nitro/communication/messages/outgoing/campaign/OpenCampaignCalendarDoorComposer.ts new file mode 100644 index 00000000..3f798bf6 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/campaign/OpenCampaignCalendarDoorComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class OpenCampaignCalendarDoorComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string, _arg_2: number) + { + this._data = [ k, _arg_2 ]; + } + + dispose(): void + { + this._data = null; + } + + public getMessageArray() + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/outgoing/campaign/index.ts b/src/nitro/communication/messages/outgoing/campaign/index.ts new file mode 100644 index 00000000..2ecdb09a --- /dev/null +++ b/src/nitro/communication/messages/outgoing/campaign/index.ts @@ -0,0 +1,2 @@ +export * from './OpenCampaignCalendarDoorAsStaffComposer'; +export * from './OpenCampaignCalendarDoorComposer'; diff --git a/src/nitro/communication/messages/outgoing/catalog/BuildersClubPlaceRoomItemMessageComposer.ts b/src/nitro/communication/messages/outgoing/catalog/BuildersClubPlaceRoomItemMessageComposer.ts new file mode 100644 index 00000000..a91757a2 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/BuildersClubPlaceRoomItemMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class BuildersClubPlaceRoomItemMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number, _arg_3: string, _arg_4: number, _arg_5: number, _arg_6: number) + { + this._data = [k, _arg_2, _arg_3, _arg_4, _arg_5, _arg_6]; + } + + dispose(): void + { + this._data = null; + } + + public getMessageArray() + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/BuildersClubPlaceWallItemMessageComposer.ts b/src/nitro/communication/messages/outgoing/catalog/BuildersClubPlaceWallItemMessageComposer.ts new file mode 100644 index 00000000..16438448 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/BuildersClubPlaceWallItemMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class BuildersClubPlaceWallItemMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number, _arg_3: string, _arg_4: string) + { + this._data = [k, _arg_2, _arg_3, _arg_4]; + } + + dispose(): void + { + this._data = null; + } + + public getMessageArray() + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/BuildersClubQueryFurniCountMessageComposer.ts b/src/nitro/communication/messages/outgoing/catalog/BuildersClubQueryFurniCountMessageComposer.ts new file mode 100644 index 00000000..88777421 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/BuildersClubQueryFurniCountMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class BuildersClubQueryFurniCountMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + dispose(): void + { + this._data = null; + } + + public getMessageArray() + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/GetBundleDiscountRulesetComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetBundleDiscountRulesetComposer.ts new file mode 100644 index 00000000..2f05460a --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/GetBundleDiscountRulesetComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetBundleDiscountRulesetComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + dispose(): void + { + this._data = null; + } + + public getMessageArray() + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/CatalogModeComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetCatalogIndexComposer.ts similarity index 60% rename from src/nitro/communication/messages/outgoing/catalog/CatalogModeComposer.ts rename to src/nitro/communication/messages/outgoing/catalog/GetCatalogIndexComposer.ts index dd37048c..326dd5a7 100644 --- a/src/nitro/communication/messages/outgoing/catalog/CatalogModeComposer.ts +++ b/src/nitro/communication/messages/outgoing/catalog/GetCatalogIndexComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class CatalogModeComposer implements IMessageComposer> +export class GetCatalogIndexComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(mode: string) { @@ -18,4 +18,4 @@ export class CatalogModeComposer implements IMessageComposer> +export class GetCatalogPageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(pageId: number, offerId: number, catalogType: string) { @@ -18,4 +18,4 @@ export class CatalogPageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/GetCatalogPageWithEarliestExpiryComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetCatalogPageWithEarliestExpiryComposer.ts new file mode 100644 index 00000000..cd53f428 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/GetCatalogPageWithEarliestExpiryComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetCatalogPageWithEarliestExpiryComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/CatalogRequestVipGiftsComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetClubGiftInfo.ts similarity index 57% rename from src/nitro/communication/messages/outgoing/catalog/CatalogRequestVipGiftsComposer.ts rename to src/nitro/communication/messages/outgoing/catalog/GetClubGiftInfo.ts index 7d50cca9..e0bf9576 100644 --- a/src/nitro/communication/messages/outgoing/catalog/CatalogRequestVipGiftsComposer.ts +++ b/src/nitro/communication/messages/outgoing/catalog/GetClubGiftInfo.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class CatalogRequestVipGiftsComposer implements IMessageComposer> +export class GetClubGiftInfo implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor() { diff --git a/src/nitro/communication/messages/outgoing/catalog/CatalogRequestVipOffersComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetClubOffersMessageComposer.ts similarity index 59% rename from src/nitro/communication/messages/outgoing/catalog/CatalogRequestVipOffersComposer.ts rename to src/nitro/communication/messages/outgoing/catalog/GetClubOffersMessageComposer.ts index 29c405a5..9fbefa74 100644 --- a/src/nitro/communication/messages/outgoing/catalog/CatalogRequestVipOffersComposer.ts +++ b/src/nitro/communication/messages/outgoing/catalog/GetClubOffersMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class CatalogRequestVipOffersComposer implements IMessageComposer> +export class GetClubOffersMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(offerId: number) { diff --git a/src/nitro/communication/messages/outgoing/catalog/GetDirectClubBuyAvailableComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetDirectClubBuyAvailableComposer.ts new file mode 100644 index 00000000..9d2b38ca --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/GetDirectClubBuyAvailableComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetDirectClubBuyAvailableComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(days: number) + { + this._data = [ days ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/CatalogRequestGiftConfigurationComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetGiftWrappingConfigurationComposer.ts similarity index 53% rename from src/nitro/communication/messages/outgoing/catalog/CatalogRequestGiftConfigurationComposer.ts rename to src/nitro/communication/messages/outgoing/catalog/GetGiftWrappingConfigurationComposer.ts index e9cf6cf4..130d9f38 100644 --- a/src/nitro/communication/messages/outgoing/catalog/CatalogRequestGiftConfigurationComposer.ts +++ b/src/nitro/communication/messages/outgoing/catalog/GetGiftWrappingConfigurationComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class CatalogRequestGiftConfigurationComposer implements IMessageComposer> +export class GetGiftWrappingConfigurationComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor() { diff --git a/src/nitro/communication/messages/outgoing/catalog/GetHabboBasicMembershipExtendOfferComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetHabboBasicMembershipExtendOfferComposer.ts new file mode 100644 index 00000000..e9e76f7e --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/GetHabboBasicMembershipExtendOfferComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetHabboBasicMembershipExtendOfferComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/GetHabboClubExtendOfferMessageComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetHabboClubExtendOfferMessageComposer.ts new file mode 100644 index 00000000..4739e484 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/GetHabboClubExtendOfferMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetHabboClubExtendOfferMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/GetIsOfferGiftableComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetIsOfferGiftableComposer.ts new file mode 100644 index 00000000..12645a68 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/GetIsOfferGiftableComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetIsOfferGiftableComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/GetLimitedOfferAppearingNextComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetLimitedOfferAppearingNextComposer.ts new file mode 100644 index 00000000..e9ed9597 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/GetLimitedOfferAppearingNextComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetLimitedOfferAppearingNextComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/GetNextTargetedOfferComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetNextTargetedOfferComposer.ts new file mode 100644 index 00000000..ab6e79b7 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/GetNextTargetedOfferComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetNextTargetedOfferComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/CatalogSearchComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetProductOfferComposer.ts similarity index 60% rename from src/nitro/communication/messages/outgoing/catalog/CatalogSearchComposer.ts rename to src/nitro/communication/messages/outgoing/catalog/GetProductOfferComposer.ts index 9f15bdf7..2ffa9d5e 100644 --- a/src/nitro/communication/messages/outgoing/catalog/CatalogSearchComposer.ts +++ b/src/nitro/communication/messages/outgoing/catalog/GetProductOfferComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class CatalogSearchComposer implements IMessageComposer> +export class GetProductOfferComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(offerId: number) { @@ -18,4 +18,4 @@ export class CatalogSearchComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/GetSeasonalCalendarDailyOfferComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetSeasonalCalendarDailyOfferComposer.ts new file mode 100644 index 00000000..556a1c5b --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/GetSeasonalCalendarDailyOfferComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetSeasonalCalendarDailyOfferComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/CatalogRequestPetBreedsComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetSellablePetPalettesComposer.ts similarity index 57% rename from src/nitro/communication/messages/outgoing/catalog/CatalogRequestPetBreedsComposer.ts rename to src/nitro/communication/messages/outgoing/catalog/GetSellablePetPalettesComposer.ts index a8ea9a15..224d4685 100644 --- a/src/nitro/communication/messages/outgoing/catalog/CatalogRequestPetBreedsComposer.ts +++ b/src/nitro/communication/messages/outgoing/catalog/GetSellablePetPalettesComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class CatalogRequestPetBreedsComposer implements IMessageComposer> +export class GetSellablePetPalettesComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(name: string) { diff --git a/src/nitro/communication/messages/outgoing/catalog/GetTargetedOfferComposer.ts b/src/nitro/communication/messages/outgoing/catalog/GetTargetedOfferComposer.ts new file mode 100644 index 00000000..99e5c882 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/GetTargetedOfferComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetTargetedOfferComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/MarkCatalogNewAdditionsPageOpenedComposer.ts b/src/nitro/communication/messages/outgoing/catalog/MarkCatalogNewAdditionsPageOpenedComposer.ts new file mode 100644 index 00000000..6fd06477 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/MarkCatalogNewAdditionsPageOpenedComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class MarkCatalogNewAdditionsPageOpenedComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/PurchaseBasicMembershipExtensionComposer.ts b/src/nitro/communication/messages/outgoing/catalog/PurchaseBasicMembershipExtensionComposer.ts new file mode 100644 index 00000000..e356f0b0 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/PurchaseBasicMembershipExtensionComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class PurchaseBasicMembershipExtensionComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/CatalogPurchaseGiftComposer.ts b/src/nitro/communication/messages/outgoing/catalog/PurchaseFromCatalogAsGiftComposer.ts similarity index 56% rename from src/nitro/communication/messages/outgoing/catalog/CatalogPurchaseGiftComposer.ts rename to src/nitro/communication/messages/outgoing/catalog/PurchaseFromCatalogAsGiftComposer.ts index 5e3197c4..e9489d00 100644 --- a/src/nitro/communication/messages/outgoing/catalog/CatalogPurchaseGiftComposer.ts +++ b/src/nitro/communication/messages/outgoing/catalog/PurchaseFromCatalogAsGiftComposer.ts @@ -1,12 +1,12 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class CatalogPurchaseGiftComposer implements IMessageComposer> +export class PurchaseFromCatalogAsGiftComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; - constructor(pageId: number, itemId: number, extraData: string, receivingName: string, giftMessage: string, spriteId: number, color: number, ribbonId: number, anonymousGift: boolean) + constructor(pageId: number, itemId: number, extraData: string, receivingName: string, giftMessage: string, spriteId: number, boxId: number, ribbonId: number, showMyFace: boolean) { - this._data = [pageId, itemId, extraData, receivingName, giftMessage, spriteId, color, ribbonId, anonymousGift]; + this._data = [pageId, itemId, extraData, receivingName, giftMessage, spriteId, boxId, ribbonId, showMyFace]; } public getMessageArray() diff --git a/src/nitro/communication/messages/outgoing/catalog/CatalogPurchaseComposer.ts b/src/nitro/communication/messages/outgoing/catalog/PurchaseFromCatalogComposer.ts similarity index 64% rename from src/nitro/communication/messages/outgoing/catalog/CatalogPurchaseComposer.ts rename to src/nitro/communication/messages/outgoing/catalog/PurchaseFromCatalogComposer.ts index 413b255a..847a9116 100644 --- a/src/nitro/communication/messages/outgoing/catalog/CatalogPurchaseComposer.ts +++ b/src/nitro/communication/messages/outgoing/catalog/PurchaseFromCatalogComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class CatalogPurchaseComposer implements IMessageComposer> +export class PurchaseFromCatalogComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(pageId: number, offerId: number, extraData: string, amount: number) { @@ -18,4 +18,4 @@ export class CatalogPurchaseComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number, _arg_3: number, _arg_4: string, _arg_5: boolean, _arg_6: string, _arg_7: number) + { + this._data = [ k, _arg_2, _arg_3, _arg_4, _arg_5, _arg_6, _arg_7 ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/PurchaseTargetedOfferComposer.ts b/src/nitro/communication/messages/outgoing/catalog/PurchaseTargetedOfferComposer.ts new file mode 100644 index 00000000..ce35f31b --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/PurchaseTargetedOfferComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class PurchaseTargetedOfferComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number) + { + this._data = [ k, _arg_2 ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/PurchaseVipMembershipExtensionComposer.ts b/src/nitro/communication/messages/outgoing/catalog/PurchaseVipMembershipExtensionComposer.ts new file mode 100644 index 00000000..36fe7961 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/PurchaseVipMembershipExtensionComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class PurchaseVipMembershipExtensionComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/RedeemVoucherComposer.ts b/src/nitro/communication/messages/outgoing/catalog/RedeemVoucherMessageComposer.ts similarity index 60% rename from src/nitro/communication/messages/outgoing/catalog/RedeemVoucherComposer.ts rename to src/nitro/communication/messages/outgoing/catalog/RedeemVoucherMessageComposer.ts index 870910ec..a34ccefb 100644 --- a/src/nitro/communication/messages/outgoing/catalog/RedeemVoucherComposer.ts +++ b/src/nitro/communication/messages/outgoing/catalog/RedeemVoucherMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class CatalogRedeemVoucherComposer implements IMessageComposer> +export class RedeemVoucherMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(voucherCode: string) { diff --git a/src/nitro/communication/messages/outgoing/catalog/RoomAdPurchaseInitiatedComposer.ts b/src/nitro/communication/messages/outgoing/catalog/RoomAdPurchaseInitiatedComposer.ts new file mode 100644 index 00000000..77d3212b --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/RoomAdPurchaseInitiatedComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class RoomAdPurchaseInitiatedComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/CatalogSelectClubGiftComposer.ts b/src/nitro/communication/messages/outgoing/catalog/SelectClubGiftComposer.ts similarity index 59% rename from src/nitro/communication/messages/outgoing/catalog/CatalogSelectClubGiftComposer.ts rename to src/nitro/communication/messages/outgoing/catalog/SelectClubGiftComposer.ts index 58d09a5d..3b2c13be 100644 --- a/src/nitro/communication/messages/outgoing/catalog/CatalogSelectClubGiftComposer.ts +++ b/src/nitro/communication/messages/outgoing/catalog/SelectClubGiftComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class CatalogSelectClubGiftComposer implements IMessageComposer> +export class SelectClubGiftComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(itemName: string) { diff --git a/src/nitro/communication/messages/outgoing/catalog/SetTargetedOfferStateComposer.ts b/src/nitro/communication/messages/outgoing/catalog/SetTargetedOfferStateComposer.ts new file mode 100644 index 00000000..5d6b4085 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/SetTargetedOfferStateComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class SetTargetedOfferStateComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number) + { + this._data = [ k, _arg_2 ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/ShopTargetedOfferViewedComposer.ts b/src/nitro/communication/messages/outgoing/catalog/ShopTargetedOfferViewedComposer.ts new file mode 100644 index 00000000..79edfde4 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/catalog/ShopTargetedOfferViewedComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class ShopTargetedOfferViewedComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number) + { + this._data = [ k, _arg_2 ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/catalog/index.ts b/src/nitro/communication/messages/outgoing/catalog/index.ts index abe7c88f..c30e6e84 100644 --- a/src/nitro/communication/messages/outgoing/catalog/index.ts +++ b/src/nitro/communication/messages/outgoing/catalog/index.ts @@ -1,15 +1,35 @@ -export * from './CatalogGroupsComposer'; -export * from './CatalogModeComposer'; -export * from './CatalogPageComposer'; -export * from './CatalogPurchaseComposer'; -export * from './CatalogPurchaseGiftComposer'; -export * from './CatalogRequestGiftConfigurationComposer'; -export * from './CatalogRequestPetBreedsComposer'; -export * from './CatalogRequestVipGiftsComposer'; -export * from './CatalogRequestVipOffersComposer'; -export * from './CatalogSearchComposer'; -export * from './CatalogSelectClubGiftComposer'; +export * from './BuildersClubPlaceRoomItemMessageComposer'; +export * from './BuildersClubPlaceWallItemMessageComposer'; +export * from './BuildersClubQueryFurniCountMessageComposer'; export * from './GetBonusRareInfoMessageComposer'; -export * from './marketplace'; -export * from './RedeemItemClothingComposer'; -export * from './RedeemVoucherComposer'; +export * from './GetBundleDiscountRulesetComposer'; +export * from './GetCatalogIndexComposer'; +export * from './GetCatalogPageComposer'; +export * from './GetCatalogPageExpirationComposer'; +export * from './GetCatalogPageWithEarliestExpiryComposer'; +export * from './GetClubGiftInfo'; +export * from './GetClubOffersMessageComposer'; +export * from './GetDirectClubBuyAvailableComposer'; +export * from './GetGiftWrappingConfigurationComposer'; +export * from './GetHabboBasicMembershipExtendOfferComposer'; +export * from './GetHabboClubExtendOfferMessageComposer'; +export * from './GetIsOfferGiftableComposer'; +export * from './GetLimitedOfferAppearingNextComposer'; +export * from './GetNextTargetedOfferComposer'; +export * from './GetProductOfferComposer'; +export * from './GetRoomAdPurchaseInfoComposer'; +export * from './GetSeasonalCalendarDailyOfferComposer'; +export * from './GetSellablePetPalettesComposer'; +export * from './GetTargetedOfferComposer'; +export * from './MarkCatalogNewAdditionsPageOpenedComposer'; +export * from './PurchaseBasicMembershipExtensionComposer'; +export * from './PurchaseFromCatalogAsGiftComposer'; +export * from './PurchaseFromCatalogComposer'; +export * from './PurchaseRoomAdMessageComposer'; +export * from './PurchaseTargetedOfferComposer'; +export * from './PurchaseVipMembershipExtensionComposer'; +export * from './RedeemVoucherMessageComposer'; +export * from './RoomAdPurchaseInitiatedComposer'; +export * from './SelectClubGiftComposer'; +export * from './SetTargetedOfferStateComposer'; +export * from './ShopTargetedOfferViewedComposer'; diff --git a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceBuyOfferComposer.ts b/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceBuyOfferComposer.ts deleted file mode 100644 index 09baf1d7..00000000 --- a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceBuyOfferComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; - -export class MarketplaceBuyOfferComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor(offerId: number) - { - this._data = [ offerId ]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - this._data = null; - } -} diff --git a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRedeemCreditsComposer.ts b/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRedeemCreditsComposer.ts deleted file mode 100644 index c8f1da6f..00000000 --- a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRedeemCreditsComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; - -export class MarketplaceRedeemCreditsComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor() - { - this._data = [ ]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - this._data = null; - } -} diff --git a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequesstItemStatsComposer.ts b/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequesstItemStatsComposer.ts deleted file mode 100644 index bdcc7aee..00000000 --- a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequesstItemStatsComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; - -export class MarketplaceRequesstItemStatsComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor(unknown: number, itemId: number) - { - this._data = [ unknown, itemId ]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - this._data = null; - } -} diff --git a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequestComposer.ts b/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequestComposer.ts deleted file mode 100644 index e158cfe8..00000000 --- a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequestComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; - -export class MarketplaceRequestComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor() - { - this._data = [ ]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - this._data = null; - } -} diff --git a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequestOffersComposer.ts b/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequestOffersComposer.ts deleted file mode 100644 index b67ba0a4..00000000 --- a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequestOffersComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; - -export class MarketplaceRequestOffersComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor(min: number, max: number, query: string, type: number) - { - this._data = [ min, max, query, type ]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - this._data = null; - } -} diff --git a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequestOwnItemsComposer.ts b/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequestOwnItemsComposer.ts deleted file mode 100644 index 4382e4af..00000000 --- a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceRequestOwnItemsComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; - -export class MarketplaceRequestOwnItemsComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor() - { - this._data = [ ]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - this._data = null; - } -} diff --git a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceTakeItemBackComposer.ts b/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceTakeItemBackComposer.ts deleted file mode 100644 index f29ad742..00000000 --- a/src/nitro/communication/messages/outgoing/catalog/marketplace/MarketplaceTakeItemBackComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; - -export class MarketplaceTakeItemBackComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor(offerId: number) - { - this._data = [ offerId ]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - this._data = null; - } -} diff --git a/src/nitro/communication/messages/outgoing/catalog/marketplace/index.ts b/src/nitro/communication/messages/outgoing/catalog/marketplace/index.ts deleted file mode 100644 index 948ae13e..00000000 --- a/src/nitro/communication/messages/outgoing/catalog/marketplace/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './MarketplaceBuyOfferComposer'; -export * from './MarketplaceRedeemCreditsComposer'; -export * from './MarketplaceRequesstItemStatsComposer'; -export * from './MarketplaceRequestComposer'; -export * from './MarketplaceRequestOffersComposer'; -export * from './MarketplaceRequestOwnItemsComposer'; -export * from './MarketplaceTakeItemBackComposer'; diff --git a/src/nitro/communication/messages/outgoing/client/index.ts b/src/nitro/communication/messages/outgoing/client/index.ts deleted file mode 100644 index 87f344d5..00000000 --- a/src/nitro/communication/messages/outgoing/client/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './ClientPongComposer'; -export * from './ClientReleaseVersionComposer'; diff --git a/src/nitro/communication/messages/outgoing/competition/ForwardToACompetitionRoomMessageComposer.ts b/src/nitro/communication/messages/outgoing/competition/ForwardToACompetitionRoomMessageComposer.ts new file mode 100644 index 00000000..05f77a64 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/competition/ForwardToACompetitionRoomMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class ForwardToACompetitionRoomMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:string, _arg_2:number) + { + this._data = [ k, _arg_2 ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/competition/ForwardToASubmittableRoomMessageComposer.ts b/src/nitro/communication/messages/outgoing/competition/ForwardToASubmittableRoomMessageComposer.ts new file mode 100644 index 00000000..495eb00c --- /dev/null +++ b/src/nitro/communication/messages/outgoing/competition/ForwardToASubmittableRoomMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class ForwardToASubmittableRoomMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/competition/ForwardToRandomCompetitionRoomMessageComposer.ts b/src/nitro/communication/messages/outgoing/competition/ForwardToRandomCompetitionRoomMessageComposer.ts new file mode 100644 index 00000000..02a51fb7 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/competition/ForwardToRandomCompetitionRoomMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class ForwardToRandomCompetitionRoomMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string) + { + this._data = [ k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/competition/GetCurrentTimingCodeMessageComposer.ts b/src/nitro/communication/messages/outgoing/competition/GetCurrentTimingCodeMessageComposer.ts new file mode 100644 index 00000000..390a9c66 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/competition/GetCurrentTimingCodeMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetCurrentTimingCodeMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/competition/GetIsUserPartOfCompetitionMessageComposer.ts b/src/nitro/communication/messages/outgoing/competition/GetIsUserPartOfCompetitionMessageComposer.ts new file mode 100644 index 00000000..46594652 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/competition/GetIsUserPartOfCompetitionMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetIsUserPartOfCompetitionMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/competition/GetSecondsUntilMessageComposer.ts b/src/nitro/communication/messages/outgoing/competition/GetSecondsUntilMessageComposer.ts new file mode 100644 index 00000000..10c4f4b9 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/competition/GetSecondsUntilMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class GetSecondsUntilMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/competition/RoomCompetitionInitMessageComposer.ts b/src/nitro/communication/messages/outgoing/competition/RoomCompetitionInitMessageComposer.ts new file mode 100644 index 00000000..42365976 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/competition/RoomCompetitionInitMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class RoomCompetitionInitMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/competition/SubmitRoomToCompetitionMessageComposer.ts b/src/nitro/communication/messages/outgoing/competition/SubmitRoomToCompetitionMessageComposer.ts new file mode 100644 index 00000000..a968cbc5 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/competition/SubmitRoomToCompetitionMessageComposer.ts @@ -0,0 +1,26 @@ +import { IMessageComposer } from '../../../../../core'; + +export class SubmitRoomToCompetitionMessageComposer implements IMessageComposer> +{ + public static readonly CONFIRM_LEVEL_NOT_ACCEPTED = 0; + public static readonly CONFIRM_LEVEL_NOT_SUBMITTED = 1; + public static readonly CONFIRM_LEVEL_NOT_CONFIRMED = 2; + public static readonly CONFIRM_LEVEL_COMMIT = 3; + + private _data: ConstructorParameters; + + constructor(k: string, _arg_2: number) + { + this._data = [k, _arg_2]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/competition/VoteForRoomMessageComposer.ts b/src/nitro/communication/messages/outgoing/competition/VoteForRoomMessageComposer.ts new file mode 100644 index 00000000..9bd15a19 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/competition/VoteForRoomMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class VoteForRoomMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/competition/index.ts b/src/nitro/communication/messages/outgoing/competition/index.ts new file mode 100644 index 00000000..c99db8f6 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/competition/index.ts @@ -0,0 +1,9 @@ +export * from './ForwardToACompetitionRoomMessageComposer'; +export * from './ForwardToASubmittableRoomMessageComposer'; +export * from './ForwardToRandomCompetitionRoomMessageComposer'; +export * from './GetCurrentTimingCodeMessageComposer'; +export * from './GetIsUserPartOfCompetitionMessageComposer'; +export * from './GetSecondsUntilMessageComposer'; +export * from './RoomCompetitionInitMessageComposer'; +export * from './SubmitRoomToCompetitionMessageComposer'; +export * from './VoteForRoomMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/crafting/CraftSecretComposer.ts b/src/nitro/communication/messages/outgoing/crafting/CraftSecretComposer.ts index c3ea984a..5a8a153a 100644 --- a/src/nitro/communication/messages/outgoing/crafting/CraftSecretComposer.ts +++ b/src/nitro/communication/messages/outgoing/crafting/CraftSecretComposer.ts @@ -4,7 +4,7 @@ export class CraftSecretComposer implements IMessageComposer { private _data: number[]; - constructor(k: number, _arg_2:number[]) + constructor(k: number, _arg_2: number[]) { this._data = [k, _arg_2.length].concat(_arg_2); } diff --git a/src/nitro/communication/messages/outgoing/crafting/GetCraftingRecipesAvailableComposer.ts b/src/nitro/communication/messages/outgoing/crafting/GetCraftingRecipesAvailableComposer.ts index 79a4e840..a74c6410 100644 --- a/src/nitro/communication/messages/outgoing/crafting/GetCraftingRecipesAvailableComposer.ts +++ b/src/nitro/communication/messages/outgoing/crafting/GetCraftingRecipesAvailableComposer.ts @@ -4,7 +4,7 @@ export class GetCraftingRecipesAvailableComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(itemId: number, confirmed: boolean) + { + this._data = [ itemId, confirmed ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/friendfurni/index.ts b/src/nitro/communication/messages/outgoing/friendfurni/index.ts new file mode 100644 index 00000000..545be877 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/friendfurni/index.ts @@ -0,0 +1 @@ +export * from './FriendFurniConfirmLockMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/friendlist/AcceptFriendComposer.ts b/src/nitro/communication/messages/outgoing/friendlist/AcceptFriendMessageComposer.ts similarity index 61% rename from src/nitro/communication/messages/outgoing/friendlist/AcceptFriendComposer.ts rename to src/nitro/communication/messages/outgoing/friendlist/AcceptFriendMessageComposer.ts index dee8bd7a..e8611e21 100644 --- a/src/nitro/communication/messages/outgoing/friendlist/AcceptFriendComposer.ts +++ b/src/nitro/communication/messages/outgoing/friendlist/AcceptFriendMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class AcceptFriendComposer implements IMessageComposer> +export class AcceptFriendMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(...userIds: number[]) { @@ -18,4 +18,4 @@ export class AcceptFriendComposer implements IMessageComposer> +export class DeclineFriendMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(removeAll: boolean, ...userIds: number[]) { @@ -18,4 +18,4 @@ export class DeclineFriendComposer implements IMessageComposer> +export class FindNewFriendsMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor() { @@ -18,4 +18,4 @@ export class InfoRetrieveBaseMessageComposer implements IMessageComposer> +export class FollowFriendMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(userId: number) { @@ -18,4 +18,4 @@ export class FollowFriendComposer implements IMessageComposer> +{ + public static readonly NO_ISSUE_ID = -1; + + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/gifts/ResetPhoneNumberStateMessageComposer.ts b/src/nitro/communication/messages/outgoing/gifts/ResetPhoneNumberStateMessageComposer.ts new file mode 100644 index 00000000..4c435155 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/gifts/ResetPhoneNumberStateMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class ResetPhoneNumberStateMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/gifts/SetPhoneNumberVerificationStatusMessageComposer.ts b/src/nitro/communication/messages/outgoing/gifts/SetPhoneNumberVerificationStatusMessageComposer.ts new file mode 100644 index 00000000..ec15217d --- /dev/null +++ b/src/nitro/communication/messages/outgoing/gifts/SetPhoneNumberVerificationStatusMessageComposer.ts @@ -0,0 +1,23 @@ +import { IMessageComposer } from '../../../../../core'; + +export class SetPhoneNumberVerificationStatusMessageComposer implements IMessageComposer> +{ + public static readonly NO_ISSUE_ID = -1; + + private _data: ConstructorParameters; + + constructor(k: number) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/gifts/TryPhoneNumberMessageComposer.ts b/src/nitro/communication/messages/outgoing/gifts/TryPhoneNumberMessageComposer.ts new file mode 100644 index 00000000..46285297 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/gifts/TryPhoneNumberMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class TryPhoneNumberMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string, _arg_2: string) + { + this._data = [ k, _arg_2 ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/gifts/VerifyCodeMessageComposer.ts b/src/nitro/communication/messages/outgoing/gifts/VerifyCodeMessageComposer.ts new file mode 100644 index 00000000..89abfadb --- /dev/null +++ b/src/nitro/communication/messages/outgoing/gifts/VerifyCodeMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class VerifyCodeMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/gifts/index.ts b/src/nitro/communication/messages/outgoing/gifts/index.ts new file mode 100644 index 00000000..daa097bc --- /dev/null +++ b/src/nitro/communication/messages/outgoing/gifts/index.ts @@ -0,0 +1,5 @@ +export * from './GetGiftMessageComposer'; +export * from './ResetPhoneNumberStateMessageComposer'; +export * from './SetPhoneNumberVerificationStatusMessageComposer'; +export * from './TryPhoneNumberMessageComposer'; +export * from './VerifyCodeMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/client/ClientPongComposer.ts b/src/nitro/communication/messages/outgoing/group/GroupBadgesComposer.ts similarity index 60% rename from src/nitro/communication/messages/outgoing/client/ClientPongComposer.ts rename to src/nitro/communication/messages/outgoing/group/GroupBadgesComposer.ts index 10a68f84..f43c167e 100644 --- a/src/nitro/communication/messages/outgoing/client/ClientPongComposer.ts +++ b/src/nitro/communication/messages/outgoing/group/GroupBadgesComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ClientPongComposer implements IMessageComposer> +export class GroupBadgesComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor() { @@ -18,4 +18,4 @@ export class ClientPongComposer implements IMessageComposer constructor(name: string, description: string, roomId: number, colorA: number, colorB: number, badge: number[]) { - this._data = [ name, description, roomId, colorA, colorB, badge.length, badge ]; + this._data = [ name, description, roomId, colorA, colorB, badge.length, ...badge ]; } public getMessageArray() diff --git a/src/nitro/communication/messages/outgoing/group/GroupFavoriteComposer.ts b/src/nitro/communication/messages/outgoing/group/GroupFavoriteComposer.ts new file mode 100644 index 00000000..b8a941d3 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/group/GroupFavoriteComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GroupFavoriteComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(groupId: number) + { + this._data = [ groupId ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/group/index.ts b/src/nitro/communication/messages/outgoing/group/index.ts index f830f016..bf1b8fc3 100644 --- a/src/nitro/communication/messages/outgoing/group/index.ts +++ b/src/nitro/communication/messages/outgoing/group/index.ts @@ -1,10 +1,12 @@ export * from './GroupAdminGiveComposer'; export * from './GroupAdminTakeComposer'; export * from './GroupBadgePartsComposer'; +export * from './GroupBadgesComposer'; export * from './GroupBuyComposer'; export * from './GroupBuyDataComposer'; export * from './GroupConfirmRemoveMemberComposer'; export * from './GroupDeleteComposer'; +export * from './GroupFavoriteComposer'; export * from './GroupInformationComposer'; export * from './GroupJoinComposer'; export * from './GroupMembersComposer'; diff --git a/src/nitro/communication/messages/outgoing/groupforums/GetForumStatsMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/GetForumStatsMessageComposer.ts new file mode 100644 index 00000000..02abbe99 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/GetForumStatsMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class GetForumStatsMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/GetForumsListMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/GetForumsListMessageComposer.ts new file mode 100644 index 00000000..13a76085 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/GetForumsListMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class GetForumsListMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number, _arg_3: number) + { + this._data = [ k, _arg_2, _arg_3 ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/GetMessagesMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/GetMessagesMessageComposer.ts new file mode 100644 index 00000000..04ba4ceb --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/GetMessagesMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class GetMessagesMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number, _arg_3: number, _arg_4: number) + { + this._data = [k, _arg_2, _arg_3, _arg_4]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/GetThreadMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/GetThreadMessageComposer.ts new file mode 100644 index 00000000..e8f4d5b0 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/GetThreadMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class GetThreadMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number) + { + this._data = [ k, _arg_2 ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/GetThreadsMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/GetThreadsMessageComposer.ts new file mode 100644 index 00000000..939da3fb --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/GetThreadsMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class GetThreadsMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number, _arg_3: number) + { + this._data = [k, _arg_2, _arg_3 ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/GetUnreadForumsCountMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/GetUnreadForumsCountMessageComposer.ts new file mode 100644 index 00000000..022abfec --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/GetUnreadForumsCountMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetUnreadForumsCountMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/ModerateMessageMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/ModerateMessageMessageComposer.ts new file mode 100644 index 00000000..af2bdfec --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/ModerateMessageMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class ModerateMessageMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number, _arg_3:number, _arg_4:number) + { + this._data = [k, _arg_2, _arg_3, _arg_4]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/ModerateThreadMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/ModerateThreadMessageComposer.ts new file mode 100644 index 00000000..c1b20ce6 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/ModerateThreadMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class ModerateThreadMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number, _arg_3:number) + { + this._data = [k, _arg_2, _arg_3]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/PostMessageMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/PostMessageMessageComposer.ts new file mode 100644 index 00000000..4f7dd9ae --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/PostMessageMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class PostMessageMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number, _arg_3:string, _arg_4:string) + { + this._data = [k, _arg_2, _arg_3, _arg_4]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/UpdateForumReadMarkerMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/UpdateForumReadMarkerMessageComposer.ts new file mode 100644 index 00000000..b54ad930 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/UpdateForumReadMarkerMessageComposer.ts @@ -0,0 +1,33 @@ +import { IMessageComposer } from '../../../../../core'; + +export class UpdateForumReadMarkerMessageComposer implements IMessageComposer +{ + private _data: any; + + constructor(...data: UpdateForumReadMarkerEntry[]) + { + this._data = [data.length]; + data.forEach( entry => + { + this._data.push(entry.k); + this._data.push(entry._arg_2); + this._data.push(entry._arg_3); + }); + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} + +export class UpdateForumReadMarkerEntry +{ + constructor(public k:number, public _arg_2:number, public _arg_3:boolean) + {} +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/UpdateForumSettingsMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/UpdateForumSettingsMessageComposer.ts new file mode 100644 index 00000000..57235deb --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/UpdateForumSettingsMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class UpdateForumSettingsMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number, _arg_3:number, _arg_4:number, _arg_5:number) + { + this._data = [k, _arg_2, _arg_3, _arg_4, _arg_5]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/UpdateThreadMessageComposer.ts b/src/nitro/communication/messages/outgoing/groupforums/UpdateThreadMessageComposer.ts new file mode 100644 index 00000000..b96196dd --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/UpdateThreadMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class UpdateThreadMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number, _arg_3:boolean, _arg_4:boolean) + { + this._data = [k, _arg_2, _arg_4, _arg_3]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/groupforums/index.ts b/src/nitro/communication/messages/outgoing/groupforums/index.ts new file mode 100644 index 00000000..fc1825b2 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/groupforums/index.ts @@ -0,0 +1,12 @@ +export * from './GetForumsListMessageComposer'; +export * from './GetForumStatsMessageComposer'; +export * from './GetMessagesMessageComposer'; +export * from './GetThreadMessageComposer'; +export * from './GetThreadsMessageComposer'; +export * from './GetUnreadForumsCountMessageComposer'; +export * from './ModerateMessageMessageComposer'; +export * from './ModerateThreadMessageComposer'; +export * from './PostMessageMessageComposer'; +export * from './UpdateForumReadMarkerMessageComposer'; +export * from './UpdateForumSettingsMessageComposer'; +export * from './UpdateThreadMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/client/ClientReleaseVersionComposer.ts b/src/nitro/communication/messages/outgoing/handshake/ClientHelloMessageComposer.ts similarity index 77% rename from src/nitro/communication/messages/outgoing/client/ClientReleaseVersionComposer.ts rename to src/nitro/communication/messages/outgoing/handshake/ClientHelloMessageComposer.ts index af2d8a33..775075bc 100644 --- a/src/nitro/communication/messages/outgoing/client/ClientReleaseVersionComposer.ts +++ b/src/nitro/communication/messages/outgoing/handshake/ClientHelloMessageComposer.ts @@ -3,9 +3,9 @@ import { ClientDeviceCategoryEnum } from '../../../../../core/communication/conn import { ClientPlatformEnum } from '../../../../../core/communication/connections/enums/ClientPlatformEnum'; import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ClientReleaseVersionComposer implements IMessageComposer> +export class ClientHelloMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(releaseVersion: string, type: string, platform: number, category: number) { diff --git a/src/nitro/communication/messages/outgoing/handshake/DisconnectMessageComposer.ts b/src/nitro/communication/messages/outgoing/handshake/DisconnectMessageComposer.ts new file mode 100644 index 00000000..d7e43d36 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/handshake/DisconnectMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class DisconnectMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/handshake/InfoRetrieveMessageComposer.ts b/src/nitro/communication/messages/outgoing/handshake/InfoRetrieveMessageComposer.ts new file mode 100644 index 00000000..36f72e1c --- /dev/null +++ b/src/nitro/communication/messages/outgoing/handshake/InfoRetrieveMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class InfoRetrieveMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/friendlist/FindNewFriendsComposer.ts b/src/nitro/communication/messages/outgoing/handshake/PongMessageComposer.ts similarity index 59% rename from src/nitro/communication/messages/outgoing/friendlist/FindNewFriendsComposer.ts rename to src/nitro/communication/messages/outgoing/handshake/PongMessageComposer.ts index 936ce7b5..18d89613 100644 --- a/src/nitro/communication/messages/outgoing/friendlist/FindNewFriendsComposer.ts +++ b/src/nitro/communication/messages/outgoing/handshake/PongMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class FindNewFriendsComposer implements IMessageComposer> +export class PongMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor() { @@ -18,4 +18,4 @@ export class FindNewFriendsComposer implements IMessageComposer> +export class SSOTicketMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(ticket: string, time: number) { @@ -18,4 +18,4 @@ export class SecurityTicketComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(machineId:string, fingerprint:string, flashVersion:string) + { + this._data = [ machineId, fingerprint, flashVersion ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/handshake/VersionCheckMessageComposer.ts b/src/nitro/communication/messages/outgoing/handshake/VersionCheckMessageComposer.ts new file mode 100644 index 00000000..12076b26 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/handshake/VersionCheckMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../..'; + +export class VersionCheckMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(clientID:number, clientURL:string, externalVariablesURL:string) + { + this._data = [clientID, clientURL, externalVariablesURL]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/handshake/index.ts b/src/nitro/communication/messages/outgoing/handshake/index.ts index d4f561a0..f8b54484 100644 --- a/src/nitro/communication/messages/outgoing/handshake/index.ts +++ b/src/nitro/communication/messages/outgoing/handshake/index.ts @@ -1,3 +1,8 @@ export * from './AuthenticationMessageComposer'; -export * from './InfoRetrieveBaseMessageComposer'; -export * from './SecurityTicketComposer'; +export * from './ClientHelloMessageComposer'; +export * from './DisconnectMessageComposer'; +export * from './InfoRetrieveMessageComposer'; +export * from './PongMessageComposer'; +export * from './SSOTicketMessageComposer'; +export * from './UniqueIDMessageComposer'; +export * from './VersionCheckMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/help/CallForHelpFromForumMessageMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/CallForHelpFromForumMessageMessageComposer.ts new file mode 100644 index 00000000..9d49e92b --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/CallForHelpFromForumMessageMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class CallForHelpFromForumMessageMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number, _arg_3:number, _arg_4:number, _arg_5:string) + { + this._data = [k, _arg_2, _arg_3, _arg_4, _arg_5]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/CallForHelpFromForumThreadMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/CallForHelpFromForumThreadMessageComposer.ts new file mode 100644 index 00000000..5b19eee4 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/CallForHelpFromForumThreadMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class CallForHelpFromForumThreadMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number, _arg_3:number, _arg_4:string) + { + this._data = [k, _arg_2, _arg_3, _arg_4]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/CallForHelpFromIMMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/CallForHelpFromIMMessageComposer.ts new file mode 100644 index 00000000..6016ff90 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/CallForHelpFromIMMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class CallForHelpFromIMMessageComposer implements IMessageComposer +{ + private _data: any; + + constructor(message:string, topicId:number, reportedUserId:number, chatEntries:(string|number)[]) + { + this._data = [message, topicId, reportedUserId, chatEntries.length / 2, ...chatEntries]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/CallForHelpFromPhotoMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/CallForHelpFromPhotoMessageComposer.ts new file mode 100644 index 00000000..f907f692 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/CallForHelpFromPhotoMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class CallForHelpFromPhotoMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:string, _arg_2:number, _arg_3:number, _arg_4:number, _arg_5:number) + { + this._data = [k, _arg_2, _arg_3, _arg_4, _arg_5]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/CallForHelpFromSelfieMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/CallForHelpFromSelfieMessageComposer.ts new file mode 100644 index 00000000..a7e49327 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/CallForHelpFromSelfieMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class CallForHelpFromSelfieMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:string, _arg_2:number, _arg_3:number, _arg_4:string, _arg_5:number) + { + this._data = [k, _arg_2, _arg_3, _arg_4, _arg_5]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/CallForHelpMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/CallForHelpMessageComposer.ts new file mode 100644 index 00000000..eaf20e1b --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/CallForHelpMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class CallForHelpMessageComposer implements IMessageComposer +{ + private _data: any; + + constructor(message:string, topicIndex:number, reportedUserId:number, reportedRoomId:number, chatEntries:(string|number)[]) + { + this._data = [message, topicIndex, reportedUserId, reportedRoomId, chatEntries.length / 2, ...chatEntries]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/ChatReviewGuideDecidesOnOfferMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/ChatReviewGuideDecidesOnOfferMessageComposer.ts new file mode 100644 index 00000000..89fb523e --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/ChatReviewGuideDecidesOnOfferMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class ChatReviewGuideDecidesOnOfferMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:boolean) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/ChatReviewGuideDetachedMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/ChatReviewGuideDetachedMessageComposer.ts new file mode 100644 index 00000000..9717dfe9 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/ChatReviewGuideDetachedMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class ChatReviewGuideDetachedMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/ChatReviewGuideVoteMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/ChatReviewGuideVoteMessageComposer.ts new file mode 100644 index 00000000..1ba5ae7b --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/ChatReviewGuideVoteMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class ChatReviewGuideVoteMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/ChatReviewSessionCreateMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/ChatReviewSessionCreateMessageComposer.ts new file mode 100644 index 00000000..a00b8a95 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/ChatReviewSessionCreateMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class ChatReviewSessionCreateMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number) + { + this._data = [k, _arg_2]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/DeletePendingCallsForHelpMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/DeletePendingCallsForHelpMessageComposer.ts new file mode 100644 index 00000000..ad520572 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/DeletePendingCallsForHelpMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class DeletePendingCallsForHelpMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GetCfhStatusMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GetCfhStatusMessageComposer.ts new file mode 100644 index 00000000..29928871 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GetCfhStatusMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetCfhStatusMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:boolean) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GetFaqCategoryMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GetFaqCategoryMessageComposer.ts new file mode 100644 index 00000000..1679d5ec --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GetFaqCategoryMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetFaqCategoryMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(categoryId:number) + { + this._data = [categoryId]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GetFaqTextMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GetFaqTextMessageComposer.ts new file mode 100644 index 00000000..3a0b850c --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GetFaqTextMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetFaqTextMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(questionId:number) + { + this._data = [questionId]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GetGuideReportingStatusMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GetGuideReportingStatusMessageComposer.ts new file mode 100644 index 00000000..a2183636 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GetGuideReportingStatusMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetGuideReportingStatusMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GetPendingCallsForHelpMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GetPendingCallsForHelpMessageComposer.ts new file mode 100644 index 00000000..c08a4a2b --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GetPendingCallsForHelpMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetPendingCallsForHelpMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GetQuizQuestionsComposer.ts b/src/nitro/communication/messages/outgoing/help/GetQuizQuestionsComposer.ts new file mode 100644 index 00000000..4bb85a3f --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GetQuizQuestionsComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetQuizQuestionsComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:string) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionCreateMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionCreateMessageComposer.ts new file mode 100644 index 00000000..21f5233b --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionCreateMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionCreateMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:string) + { + this._data = [k, _arg_2]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionFeedbackMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionFeedbackMessageComposer.ts new file mode 100644 index 00000000..37f06331 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionFeedbackMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionFeedbackMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:boolean) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionGetRequesterRoomMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionGetRequesterRoomMessageComposer.ts new file mode 100644 index 00000000..2246034a --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionGetRequesterRoomMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionGetRequesterRoomMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionGuideDecidesMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionGuideDecidesMessageComposer.ts new file mode 100644 index 00000000..f78403dc --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionGuideDecidesMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionGuideDecidesMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:boolean) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionInviteRequesterMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionInviteRequesterMessageComposer.ts new file mode 100644 index 00000000..143a3aba --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionInviteRequesterMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionInviteRequesterMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionIsTypingMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionIsTypingMessageComposer.ts new file mode 100644 index 00000000..3bfcc871 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionIsTypingMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionIsTypingMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:boolean) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionMessageMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionMessageMessageComposer.ts new file mode 100644 index 00000000..fbb761b0 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionMessageMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionMessageMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:string) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionOnDutyUpdateMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionOnDutyUpdateMessageComposer.ts new file mode 100644 index 00000000..d171b14f --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionOnDutyUpdateMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionOnDutyUpdateMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:boolean, _arg_2:boolean, _arg_3:boolean, _arg_4:boolean) + { + this._data = [k, _arg_2, _arg_3, _arg_4]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionReportMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionReportMessageComposer.ts new file mode 100644 index 00000000..86e47cd3 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionReportMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionReportMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:string) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionRequesterCancelsMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionRequesterCancelsMessageComposer.ts new file mode 100644 index 00000000..c0ce2530 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionRequesterCancelsMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionRequesterCancelsMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/GuideSessionResolvedMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/GuideSessionResolvedMessageComposer.ts new file mode 100644 index 00000000..a868f874 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/GuideSessionResolvedMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GuideSessionResolvedMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/PostQuizAnswersComposer.ts b/src/nitro/communication/messages/outgoing/help/PostQuizAnswersComposer.ts new file mode 100644 index 00000000..62b308dc --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/PostQuizAnswersComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class PostQuizAnswersComposer implements IMessageComposer +{ + private _data: any; + + constructor(quizCode:string, answerIds:number[]) + { + this._data = [quizCode, answerIds.length, ...answerIds]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/SearchFaqsMessageComposer.ts b/src/nitro/communication/messages/outgoing/help/SearchFaqsMessageComposer.ts new file mode 100644 index 00000000..cdfe8a73 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/SearchFaqsMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class SearchFaqsMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:string) + { + this._data = [k]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/help/index.ts b/src/nitro/communication/messages/outgoing/help/index.ts new file mode 100644 index 00000000..9824e8cf --- /dev/null +++ b/src/nitro/communication/messages/outgoing/help/index.ts @@ -0,0 +1,30 @@ +export * from './CallForHelpFromForumMessageMessageComposer'; +export * from './CallForHelpFromForumThreadMessageComposer'; +export * from './CallForHelpFromIMMessageComposer'; +export * from './CallForHelpFromPhotoMessageComposer'; +export * from './CallForHelpFromSelfieMessageComposer'; +export * from './CallForHelpMessageComposer'; +export * from './ChatReviewGuideDecidesOnOfferMessageComposer'; +export * from './ChatReviewGuideDetachedMessageComposer'; +export * from './ChatReviewGuideVoteMessageComposer'; +export * from './ChatReviewSessionCreateMessageComposer'; +export * from './DeletePendingCallsForHelpMessageComposer'; +export * from './GetCfhStatusMessageComposer'; +export * from './GetFaqCategoryMessageComposer'; +export * from './GetFaqTextMessageComposer'; +export * from './GetGuideReportingStatusMessageComposer'; +export * from './GetPendingCallsForHelpMessageComposer'; +export * from './GetQuizQuestionsComposer'; +export * from './GuideSessionCreateMessageComposer'; +export * from './GuideSessionFeedbackMessageComposer'; +export * from './GuideSessionGetRequesterRoomMessageComposer'; +export * from './GuideSessionGuideDecidesMessageComposer'; +export * from './GuideSessionInviteRequesterMessageComposer'; +export * from './GuideSessionIsTypingMessageComposer'; +export * from './GuideSessionMessageMessageComposer'; +export * from './GuideSessionOnDutyUpdateMessageComposer'; +export * from './GuideSessionReportMessageComposer'; +export * from './GuideSessionRequesterCancelsMessageComposer'; +export * from './GuideSessionResolvedMessageComposer'; +export * from './PostQuizAnswersComposer'; +export * from './SearchFaqsMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/index.ts b/src/nitro/communication/messages/outgoing/index.ts index ee10b047..184a9a9c 100644 --- a/src/nitro/communication/messages/outgoing/index.ts +++ b/src/nitro/communication/messages/outgoing/index.ts @@ -1,18 +1,28 @@ -export * from './achievements'; +export * from './advertisement'; +export * from './avatar'; export * from './camera'; +export * from './campaign'; export * from './catalog'; -export * from './client'; +export * from './competition'; export * from './desktop'; +export * from './friendfurni'; export * from './friendlist'; +export * from './gifts'; export * from './group'; +export * from './groupforums'; export * from './handshake'; +export * from './help'; export * from './inventory'; export * from './landingview'; -export * from './modtool'; +export * from './marketplace'; +export * from './moderation'; export * from './navigator'; export * from './OutgoingHeader'; export * from './pet'; +export * from './poll'; export * from './quest'; export * from './room'; export * from './roomevents'; +export * from './sound'; +export * from './talent'; export * from './user'; diff --git a/src/nitro/communication/messages/outgoing/inventory/index.ts b/src/nitro/communication/messages/outgoing/inventory/index.ts index 3832a002..51ef5120 100644 --- a/src/nitro/communication/messages/outgoing/inventory/index.ts +++ b/src/nitro/communication/messages/outgoing/inventory/index.ts @@ -1,7 +1,6 @@ export * from './badges'; export * from './bots'; export * from './furni'; -export * from './marketplace'; export * from './pets'; export * from './trading'; export * from './unseen'; diff --git a/src/nitro/communication/messages/outgoing/inventory/marketplace/MarketplaceSellItemComposer.ts b/src/nitro/communication/messages/outgoing/inventory/marketplace/MarketplaceSellItemComposer.ts deleted file mode 100644 index 825d3f4b..00000000 --- a/src/nitro/communication/messages/outgoing/inventory/marketplace/MarketplaceSellItemComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; - -export class MarketplaceSellItemComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor(credits: number, arg2: number, itemId: number) - { - this._data = [credits, arg2, itemId]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - return; - } -} diff --git a/src/nitro/communication/messages/outgoing/inventory/marketplace/index.ts b/src/nitro/communication/messages/outgoing/inventory/marketplace/index.ts deleted file mode 100644 index aa5af83b..00000000 --- a/src/nitro/communication/messages/outgoing/inventory/marketplace/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './MarketplaceSellItemComposer'; -export * from './RequestSellItemComposer'; diff --git a/src/nitro/communication/messages/outgoing/marketplace/BuyMarketplaceOfferMessageComposer.ts b/src/nitro/communication/messages/outgoing/marketplace/BuyMarketplaceOfferMessageComposer.ts new file mode 100644 index 00000000..1a10dad2 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/BuyMarketplaceOfferMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class BuyMarketplaceOfferMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(offerId: number) + { + this._data = [ offerId ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/marketplace/BuyMarketplaceTokensMessageComposer.ts b/src/nitro/communication/messages/outgoing/marketplace/BuyMarketplaceTokensMessageComposer.ts new file mode 100644 index 00000000..4a95c4ca --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/BuyMarketplaceTokensMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class BuyMarketplaceTokensMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/marketplace/CancelMarketplaceOfferMessageComposer.ts b/src/nitro/communication/messages/outgoing/marketplace/CancelMarketplaceOfferMessageComposer.ts new file mode 100644 index 00000000..33a44323 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/CancelMarketplaceOfferMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class CancelMarketplaceOfferMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(offerId: number) + { + this._data = [ offerId ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceCanMakeOfferComposer.ts b/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceCanMakeOfferComposer.ts new file mode 100644 index 00000000..ceb75838 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceCanMakeOfferComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetMarketplaceCanMakeOfferComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceConfigurationMessageComposer.ts b/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceConfigurationMessageComposer.ts new file mode 100644 index 00000000..93175ac7 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceConfigurationMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetMarketplaceConfigurationMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = [ ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceItemStatsComposer.ts b/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceItemStatsComposer.ts new file mode 100644 index 00000000..de65d31d --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceItemStatsComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetMarketplaceItemStatsComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(unknown: number, itemId: number) + { + this._data = [ unknown, itemId ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceOffersMessageComposer.ts b/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceOffersMessageComposer.ts new file mode 100644 index 00000000..f807c3c2 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceOffersMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetMarketplaceOffersMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(min: number, max: number, query: string, type: number) + { + this._data = [ min, max, query, type ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceOwnOffersMessageComposer.ts b/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceOwnOffersMessageComposer.ts new file mode 100644 index 00000000..6535037a --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/GetMarketplaceOwnOffersMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class GetMarketplaceOwnOffersMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = [ ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/marketplace/MakeOfferMessageComposer.ts b/src/nitro/communication/messages/outgoing/marketplace/MakeOfferMessageComposer.ts new file mode 100644 index 00000000..584ce49f --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/MakeOfferMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class MakeOfferMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(credits: number, arg2: number, itemId: number) + { + this._data = [credits, arg2, itemId]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/marketplace/RedeemMarketplaceOfferCreditsMessageComposer.ts b/src/nitro/communication/messages/outgoing/marketplace/RedeemMarketplaceOfferCreditsMessageComposer.ts new file mode 100644 index 00000000..c1187531 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/RedeemMarketplaceOfferCreditsMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class RedeemMarketplaceOfferCreditsMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = [ ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + this._data = null; + } +} diff --git a/src/nitro/communication/messages/outgoing/marketplace/index.ts b/src/nitro/communication/messages/outgoing/marketplace/index.ts new file mode 100644 index 00000000..742161a4 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/marketplace/index.ts @@ -0,0 +1,10 @@ +export * from './BuyMarketplaceOfferMessageComposer'; +export * from './BuyMarketplaceTokensMessageComposer'; +export * from './CancelMarketplaceOfferMessageComposer'; +export * from './GetMarketplaceCanMakeOfferComposer'; +export * from './GetMarketplaceConfigurationMessageComposer'; +export * from './GetMarketplaceItemStatsComposer'; +export * from './GetMarketplaceOffersMessageComposer'; +export * from './GetMarketplaceOwnOffersMessageComposer'; +export * from './MakeOfferMessageComposer'; +export * from './RedeemMarketplaceOfferCreditsMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/moderation/CloseIssueDefaultActionMessageComposer.ts b/src/nitro/communication/messages/outgoing/moderation/CloseIssueDefaultActionMessageComposer.ts new file mode 100644 index 00000000..33f481e5 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/moderation/CloseIssueDefaultActionMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class CloseIssueDefaultActionMessageComposer implements IMessageComposer +{ + private _data: number[]; + + constructor(k: number, issueIds: number[], _arg_2: number) + { + this._data = [ k, issueIds.length, ...issueIds, _arg_2 ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/moderation/CloseIssuesMessageComposer.ts b/src/nitro/communication/messages/outgoing/moderation/CloseIssuesMessageComposer.ts new file mode 100644 index 00000000..d1261740 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/moderation/CloseIssuesMessageComposer.ts @@ -0,0 +1,25 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class CloseIssuesMessageComposer implements IMessageComposer +{ + public static readonly RESOLUTION_USELESS = 1; + public static readonly RESOLUTION_ABUSIVE = 2; + public static readonly RESOLUTION_RESOLVED = 3; + + private _data: number[]; + + constructor(issueIds: number[], resolutionType: number) + { + this._data = [ resolutionType, issueIds.length, ...issueIds]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/moderation/DefaultSanctionMessageComposer.ts b/src/nitro/communication/messages/outgoing/moderation/DefaultSanctionMessageComposer.ts new file mode 100644 index 00000000..dee107e6 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/moderation/DefaultSanctionMessageComposer.ts @@ -0,0 +1,26 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; +import { ModBanMessageComposer } from './ModBanMessageComposer'; + +export class DefaultSanctionMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number, _arg_3:string, _arg_4:number = -1) + { + this._data = [k, _arg_2, _arg_3]; + if(_arg_4 != ModBanMessageComposer.NO_ISSUE_ID) + { + this._data.push(_arg_4); + } + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/moderation/GetCfhChatlogMessageComposer.ts b/src/nitro/communication/messages/outgoing/moderation/GetCfhChatlogMessageComposer.ts new file mode 100644 index 00000000..5e2ad992 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/moderation/GetCfhChatlogMessageComposer.ts @@ -0,0 +1,22 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + + +export class GetCfhChatlogMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(issueId: number) + { + this._data = [issueId]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolRequestRoomInfoComposer.ts b/src/nitro/communication/messages/outgoing/moderation/GetModeratorRoomInfoMessageComposer.ts similarity index 56% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolRequestRoomInfoComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/GetModeratorRoomInfoMessageComposer.ts index 1dbd40d0..e6d04fb4 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolRequestRoomInfoComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/GetModeratorRoomInfoMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ModtoolRequestRoomInfoComposer implements IMessageComposer> +export class GetModeratorRoomInfoMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(roomId: number) { diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolRequestUserChatlogComposer.ts b/src/nitro/communication/messages/outgoing/moderation/GetModeratorUserInfoMessageComposer.ts similarity index 56% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolRequestUserChatlogComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/GetModeratorUserInfoMessageComposer.ts index b1634684..631ddcd6 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolRequestUserChatlogComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/GetModeratorUserInfoMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ModtoolRequestUserChatlogComposer implements IMessageComposer> +export class GetModeratorUserInfoMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(userId: number) { diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolRequestRoomChatlogComposer.ts b/src/nitro/communication/messages/outgoing/moderation/GetRoomChatlogMessageComposer.ts similarity index 59% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolRequestRoomChatlogComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/GetRoomChatlogMessageComposer.ts index 3a87a54e..94fea2e7 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolRequestRoomChatlogComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/GetRoomChatlogMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ModtoolRequestRoomChatlogComposer implements IMessageComposer> +export class GetRoomChatlogMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(roomId: number, useless: number = 0) { diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolRequestUserRoomsComposer.ts b/src/nitro/communication/messages/outgoing/moderation/GetRoomVisitsMessageComposer.ts similarity index 57% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolRequestUserRoomsComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/GetRoomVisitsMessageComposer.ts index ed99c4cc..f4719fa4 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolRequestUserRoomsComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/GetRoomVisitsMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ModtoolRequestUserRoomsComposer implements IMessageComposer> +export class GetRoomVisitsMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(k: number) { diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolRequestUserInfoComposer.ts b/src/nitro/communication/messages/outgoing/moderation/GetUserChatlogMessageComposer.ts similarity index 58% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolRequestUserInfoComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/GetUserChatlogMessageComposer.ts index c29f16fb..015c32ff 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolRequestUserInfoComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/GetUserChatlogMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ModtoolRequestUserInfoComposer implements IMessageComposer> +export class GetUserChatlogMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(userId: number) { diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionAlertComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ModAlertMessageComposer.ts similarity index 51% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionAlertComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/ModAlertMessageComposer.ts index 0bb5ee24..0bbb1b35 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionAlertComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/ModAlertMessageComposer.ts @@ -1,15 +1,14 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; +import { ModBanMessageComposer } from './ModBanMessageComposer'; -export class ModtoolSanctionAlertComposer implements IMessageComposer +export class ModAlertMessageComposer implements IMessageComposer> { - private _data: any[] = []; + private _data: ConstructorParameters; constructor(k: number, arg2: string, arg3: number, arg4: number = -1) { - this._data.push(k); - this._data.push(arg2); - this._data.push(arg3); - if(arg4 != -1) + this._data = [k, arg2, arg3]; + if(arg4 != ModBanMessageComposer.NO_ISSUE_ID) { this._data.push(arg4); } diff --git a/src/nitro/communication/messages/outgoing/moderation/ModBanMessageComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ModBanMessageComposer.ts new file mode 100644 index 00000000..2340e70b --- /dev/null +++ b/src/nitro/communication/messages/outgoing/moderation/ModBanMessageComposer.ts @@ -0,0 +1,27 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class ModBanMessageComposer implements IMessageComposer> +{ + public static readonly NO_ISSUE_ID = -1; + + private _data: ConstructorParameters; + + constructor(k: number, arg2: string, arg3: number, arg4: number, arg5: boolean, arg6: number = -1) + { + this._data = [k, arg2, arg3, arg4, arg5]; + if(arg6 != ModBanMessageComposer.NO_ISSUE_ID) + { + this._data.push(arg6); + } + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionKickComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ModKickMessageComposer.ts similarity index 52% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionKickComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/ModKickMessageComposer.ts index 1b5bd86d..bdb77231 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionKickComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/ModKickMessageComposer.ts @@ -1,15 +1,15 @@ +import { ModBanMessageComposer } from '..'; import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ModtoolSanctionKickComposer implements IMessageComposer +export class ModKickMessageComposer implements IMessageComposer> { - private _data: any[] = []; + private _data: ConstructorParameters; constructor(k: number, arg2: string, arg3: number, arg4: number = -1) { - this._data.push(k); - this._data.push(arg2); - this._data.push(arg3); - if(arg4 != -1) + this._data = [k, arg2, arg3]; + + if(arg4 != ModBanMessageComposer.NO_ISSUE_ID) { this._data.push(arg4); } diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolEventAlertComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ModMessageMessageComposer.ts similarity index 67% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolEventAlertComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/ModMessageMessageComposer.ts index 59d71974..154bc350 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolEventAlertComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/ModMessageMessageComposer.ts @@ -1,6 +1,7 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; +import { ModBanMessageComposer } from './ModBanMessageComposer'; -export class ModtoolEventAlertComposer implements IMessageComposer +export class ModMessageMessageComposer implements IMessageComposer { private _data: any[] = []; @@ -8,8 +9,10 @@ export class ModtoolEventAlertComposer implements IMessageComposer { this._data.push(k); this._data.push(arg2); + this._data.push(''); + this._data.push(''); this._data.push(arg3); - if(arg4 != -1) + if(arg4 != ModBanMessageComposer.NO_ISSUE_ID) { this._data.push(arg4); } diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionMuteComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ModMuteMessageComposer.ts similarity index 53% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionMuteComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/ModMuteMessageComposer.ts index b6a67e69..b60c1b0a 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionMuteComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/ModMuteMessageComposer.ts @@ -1,15 +1,14 @@ +import { ModBanMessageComposer } from '.'; import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ModtoolSanctionMuteComposer implements IMessageComposer +export class ModMuteMessageComposer implements IMessageComposer> { - private _data: any[] = []; + private _data: ConstructorParameters; constructor(k: number, arg2: string, arg3: number, arg4: number = -1) { - this._data.push(k); - this._data.push(arg2); - this._data.push(arg3); - if(arg4 != -1) + this._data = [k, arg2, arg3]; + if(arg4 != ModBanMessageComposer.NO_ISSUE_ID) { this._data.push(arg4); } diff --git a/src/nitro/communication/messages/outgoing/moderation/ModToolPreferencesComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ModToolPreferencesComposer.ts new file mode 100644 index 00000000..4adfc84d --- /dev/null +++ b/src/nitro/communication/messages/outgoing/moderation/ModToolPreferencesComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class ModToolPreferencesComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number, _arg_3:number, _arg_4:number) + { + this._data = [k, _arg_2, _arg_3, _arg_4]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/moderation/ModToolSanctionComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ModToolSanctionComposer.ts new file mode 100644 index 00000000..efc2d781 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/moderation/ModToolSanctionComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class ModToolSanctionComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:number, _arg_3:number) + { + this._data = [k, _arg_2, _arg_3]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionTradelockComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ModTradingLockMessageComposer.ts similarity index 50% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionTradelockComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/ModTradingLockMessageComposer.ts index bf7c0616..12ecfd43 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionTradelockComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/ModTradingLockMessageComposer.ts @@ -1,16 +1,15 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; +import { ModBanMessageComposer } from './ModBanMessageComposer'; -export class ModtoolSanctionTradelockComposer implements IMessageComposer +export class ModTradingLockMessageComposer implements IMessageComposer> { - private _data: any[] = []; + private _data: ConstructorParameters; constructor(k: number, arg2: string, arg3: number, arg4: number, arg5: number = -1) { - this._data.push(k); - this._data.push(arg2); - this._data.push(arg3); - this._data.push(arg4); - if(arg5 != -1) + this._data = [ k, arg2, arg3, arg4 ]; + + if(arg5 != ModBanMessageComposer.NO_ISSUE_ID) { this._data.push(arg5); } diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolChangeRoomSettingsComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ModerateRoomMessageComposer.ts similarity index 63% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolChangeRoomSettingsComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/ModerateRoomMessageComposer.ts index 168ff4eb..9e6b31c9 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolChangeRoomSettingsComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/ModerateRoomMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ModtoolChangeRoomSettingsComposer implements IMessageComposer> +export class ModerateRoomMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(roomId: number, lockDoor: number, changeTitle: number, kickUsers: number) { diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolRoomAlertComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ModeratorActionMessageComposer.ts similarity index 60% rename from src/nitro/communication/messages/outgoing/modtool/ModtoolRoomAlertComposer.ts rename to src/nitro/communication/messages/outgoing/moderation/ModeratorActionMessageComposer.ts index 0870af32..2a6e3c97 100644 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolRoomAlertComposer.ts +++ b/src/nitro/communication/messages/outgoing/moderation/ModeratorActionMessageComposer.ts @@ -1,7 +1,12 @@ import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; -export class ModtoolRoomAlertComposer implements IMessageComposer +export class ModeratorActionMessageComposer implements IMessageComposer { + public static readonly ACTION_ALERT = 0; + public static readonly ACTION_KICK = 1; + public static readonly ACTION_MESSAGE = 3; + public static readonly ACTION_MESSAGE_AND_SOFT_KICK = 4; + private _data: any[] = []; constructor(k: number, arg2: string, arg3: string) diff --git a/src/nitro/communication/messages/outgoing/moderation/PickIssuesMessageComposer.ts b/src/nitro/communication/messages/outgoing/moderation/PickIssuesMessageComposer.ts new file mode 100644 index 00000000..a05955e0 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/moderation/PickIssuesMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class PickIssuesMessageComposer implements IMessageComposer +{ + private _data: any; + + constructor(issueIds:number[], retryEnabled:boolean, retryCount:number, message:string) + { + this._data = [issueIds.length, ...issueIds, retryEnabled, retryCount, message]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/moderation/ReleaseIssuesMessageComposer.ts b/src/nitro/communication/messages/outgoing/moderation/ReleaseIssuesMessageComposer.ts new file mode 100644 index 00000000..a6f3c92a --- /dev/null +++ b/src/nitro/communication/messages/outgoing/moderation/ReleaseIssuesMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class ReleaseIssuesMessageComposer implements IMessageComposer +{ + private _data: number[]; + + constructor(issueIds: number[]) + { + this._data = [issueIds.length, ...issueIds]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/moderation/index.ts b/src/nitro/communication/messages/outgoing/moderation/index.ts new file mode 100644 index 00000000..6f357620 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/moderation/index.ts @@ -0,0 +1,21 @@ +export * from './CloseIssueDefaultActionMessageComposer'; +export * from './CloseIssuesMessageComposer'; +export * from './DefaultSanctionMessageComposer'; +export * from './GetCfhChatlogMessageComposer'; +export * from './GetModeratorRoomInfoMessageComposer'; +export * from './GetModeratorUserInfoMessageComposer'; +export * from './GetRoomChatlogMessageComposer'; +export * from './GetRoomVisitsMessageComposer'; +export * from './GetUserChatlogMessageComposer'; +export * from './ModAlertMessageComposer'; +export * from './ModBanMessageComposer'; +export * from './ModerateRoomMessageComposer'; +export * from './ModeratorActionMessageComposer'; +export * from './ModKickMessageComposer'; +export * from './ModMessageMessageComposer'; +export * from './ModMuteMessageComposer'; +export * from './ModToolPreferencesComposer'; +export * from './ModToolSanctionComposer'; +export * from './ModTradingLockMessageComposer'; +export * from './PickIssuesMessageComposer'; +export * from './ReleaseIssuesMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionBanComposer.ts b/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionBanComposer.ts deleted file mode 100644 index f1a47fa9..00000000 --- a/src/nitro/communication/messages/outgoing/modtool/ModtoolSanctionBanComposer.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; - -export class ModtoolSanctionBanComposer implements IMessageComposer -{ - private _data: any[] = []; - - constructor(k: number, arg2: string, arg3: number, arg4:number, arg5: boolean, arg6: number = -1) - { - this._data.push(k); - this._data.push(arg2); - this._data.push(arg3); - this._data.push(arg4); - this._data.push(arg5); - if(arg6 != -1) - { - this._data.push(arg6); - } - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - return; - } -} diff --git a/src/nitro/communication/messages/outgoing/modtool/index.ts b/src/nitro/communication/messages/outgoing/modtool/index.ts deleted file mode 100644 index 25263a66..00000000 --- a/src/nitro/communication/messages/outgoing/modtool/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -export * from './ModtoolChangeRoomSettingsComposer'; -export * from './ModtoolEventAlertComposer'; -export * from './ModtoolRequestRoomChatlogComposer'; -export * from './ModtoolRequestRoomInfoComposer'; -export * from './ModtoolRequestUserChatlogComposer'; -export * from './ModtoolRequestUserInfoComposer'; -export * from './ModtoolRequestUserRoomsComposer'; -export * from './ModtoolRoomAlertComposer'; -export * from './ModtoolSanctionAlertComposer'; -export * from './ModtoolSanctionBanComposer'; -export * from './ModtoolSanctionKickComposer'; -export * from './ModtoolSanctionMuteComposer'; -export * from './ModtoolSanctionTradelockComposer'; diff --git a/src/nitro/communication/messages/outgoing/poll/PollAnswerComposer.ts b/src/nitro/communication/messages/outgoing/poll/PollAnswerComposer.ts new file mode 100644 index 00000000..323f44b3 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/poll/PollAnswerComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class PollAnswerComposer implements IMessageComposer +{ + private _data: any; + + constructor(pollId:number, questionId:number, answers:string[]) + { + this._data = [ pollId, questionId, answers.length, ...answers ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/poll/PollRejectComposer.ts b/src/nitro/communication/messages/outgoing/poll/PollRejectComposer.ts new file mode 100644 index 00000000..1e26b5db --- /dev/null +++ b/src/nitro/communication/messages/outgoing/poll/PollRejectComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class PollRejectComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/poll/PollStartComposer.ts b/src/nitro/communication/messages/outgoing/poll/PollStartComposer.ts new file mode 100644 index 00000000..f469c68a --- /dev/null +++ b/src/nitro/communication/messages/outgoing/poll/PollStartComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class PollStartComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/poll/index.ts b/src/nitro/communication/messages/outgoing/poll/index.ts new file mode 100644 index 00000000..d41d4182 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/poll/index.ts @@ -0,0 +1,3 @@ +export * from './PollAnswerComposer'; +export * from './PollRejectComposer'; +export * from './PollStartComposer'; diff --git a/src/nitro/communication/messages/outgoing/catalog/RedeemItemClothingComposer.ts b/src/nitro/communication/messages/outgoing/room/RedeemItemClothingComposer.ts similarity index 100% rename from src/nitro/communication/messages/outgoing/catalog/RedeemItemClothingComposer.ts rename to src/nitro/communication/messages/outgoing/room/RedeemItemClothingComposer.ts diff --git a/src/nitro/communication/messages/outgoing/room/access/RoomDoorbellAccessComposer.ts b/src/nitro/communication/messages/outgoing/room/access/RoomDoorbellAccessComposer.ts index c75da08f..472ceed1 100644 --- a/src/nitro/communication/messages/outgoing/room/access/RoomDoorbellAccessComposer.ts +++ b/src/nitro/communication/messages/outgoing/room/access/RoomDoorbellAccessComposer.ts @@ -4,7 +4,7 @@ export class RoomDoorbellAccessComposer implements IMessageComposer; - constructor(user:string, allowedEntry: boolean) + constructor(user: string, allowedEntry: boolean) { this._data = [ user, allowedEntry ]; } diff --git a/src/nitro/communication/messages/outgoing/room/engine/ModifyWallItemDataComposer.ts b/src/nitro/communication/messages/outgoing/room/engine/SetItemDataMessageComposer.ts similarity index 63% rename from src/nitro/communication/messages/outgoing/room/engine/ModifyWallItemDataComposer.ts rename to src/nitro/communication/messages/outgoing/room/engine/SetItemDataMessageComposer.ts index 62ae8bd9..53799211 100644 --- a/src/nitro/communication/messages/outgoing/room/engine/ModifyWallItemDataComposer.ts +++ b/src/nitro/communication/messages/outgoing/room/engine/SetItemDataMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; -export class ModifyWallItemDataComposer implements IMessageComposer> +export class SetItemDataMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(itemId: number, colorHex: string, text: string) { @@ -18,4 +18,4 @@ export class ModifyWallItemDataComposer implements IMessageComposer +{ + private _data: any[]; + + constructor(objectId: number, data: Map) + { + this._data = [ objectId, (data.size * 2) ]; + + for(const [ key, value ] of data.entries()) this._data.push( key, value ); + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/room/engine/index.ts b/src/nitro/communication/messages/outgoing/room/engine/index.ts index 6dcd9b1c..66c46372 100644 --- a/src/nitro/communication/messages/outgoing/room/engine/index.ts +++ b/src/nitro/communication/messages/outgoing/room/engine/index.ts @@ -2,8 +2,9 @@ export * from './BotPlaceComposer'; export * from './BotRemoveComposer'; export * from './BotSkillSaveComposer'; export * from './GetItemDataComposer'; -export * from './ModifyWallItemDataComposer'; export * from './PetMoveComposer'; export * from './PetPlaceComposer'; export * from './PetRemoveComposer'; export * from './RemoveWallItemComposer'; +export * from './SetItemDataMessageComposer'; +export * from './SetObjectDataMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/room/furniture/FurnitureGuildInfoComposer.ts b/src/nitro/communication/messages/outgoing/room/furniture/FurnitureGroupInfoComposer.ts similarity index 64% rename from src/nitro/communication/messages/outgoing/room/furniture/FurnitureGuildInfoComposer.ts rename to src/nitro/communication/messages/outgoing/room/furniture/FurnitureGroupInfoComposer.ts index c14028ef..59c36316 100644 --- a/src/nitro/communication/messages/outgoing/room/furniture/FurnitureGuildInfoComposer.ts +++ b/src/nitro/communication/messages/outgoing/room/furniture/FurnitureGroupInfoComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; -export class FurnitureGuildInfoComposer implements IMessageComposer> +export class FurnitureGroupInfoComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(objectId: number, guildId: number) { diff --git a/src/nitro/communication/messages/outgoing/room/furniture/FurniturePostItSaveStickyPoleComposer.ts b/src/nitro/communication/messages/outgoing/room/furniture/FurniturePostItSaveStickyPoleComposer.ts new file mode 100644 index 00000000..162b446e --- /dev/null +++ b/src/nitro/communication/messages/outgoing/room/furniture/FurniturePostItSaveStickyPoleComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; + +export class FurniturePostItSaveStickyPoleComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(itemId: number, wallLocation: string, color: string, text: string) + { + this._data = [ itemId, wallLocation, color, text ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/room/furniture/ads/RoomAdsUpdateComposer.ts b/src/nitro/communication/messages/outgoing/room/furniture/ads/RoomAdsUpdateComposer.ts deleted file mode 100644 index bb5df433..00000000 --- a/src/nitro/communication/messages/outgoing/room/furniture/ads/RoomAdsUpdateComposer.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { IMessageComposer } from '../../../../../../../core/communication/messages/IMessageComposer'; - -export class RoomAdsUpdateComposer implements IMessageComposer -{ - private _data: any[]; - - constructor(k: number, _arg_2: Map) - { - this._data = [ k, (_arg_2.size * 2) ]; - - for(const [ key, value ] of _arg_2.entries()) this._data.push( key, value ); - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - return; - } -} diff --git a/src/nitro/communication/messages/outgoing/room/furniture/ads/index.ts b/src/nitro/communication/messages/outgoing/room/furniture/ads/index.ts deleted file mode 100644 index 0662c201..00000000 --- a/src/nitro/communication/messages/outgoing/room/furniture/ads/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './RoomAdsUpdateComposer'; diff --git a/src/nitro/communication/messages/outgoing/room/furniture/dimmer/MoodlightSettingsSaveComposer.ts b/src/nitro/communication/messages/outgoing/room/furniture/dimmer/MoodlightSettingsSaveComposer.ts index 75d58b1a..a8f52044 100644 --- a/src/nitro/communication/messages/outgoing/room/furniture/dimmer/MoodlightSettingsSaveComposer.ts +++ b/src/nitro/communication/messages/outgoing/room/furniture/dimmer/MoodlightSettingsSaveComposer.ts @@ -4,7 +4,7 @@ export class MoodlightSettingsSaveComposer implements IMessageComposer; - constructor(k: number, arg2: number, arg3: string, arg4:number, arg5:boolean) + constructor(k: number, arg2: number, arg3: string, arg4: number, arg5: boolean) { this._data = [k, arg2, arg3, arg4, arg5]; } diff --git a/src/nitro/communication/messages/outgoing/room/furniture/index.ts b/src/nitro/communication/messages/outgoing/room/furniture/index.ts index db3a223a..6d5a8620 100644 --- a/src/nitro/communication/messages/outgoing/room/furniture/index.ts +++ b/src/nitro/communication/messages/outgoing/room/furniture/index.ts @@ -1,14 +1,15 @@ -export * from './ads'; export * from './dimmer'; export * from './floor'; export * from './FurnitureAliasesComposer'; -export * from './FurnitureGuildInfoComposer'; +export * from './FurnitureGroupInfoComposer'; export * from './FurniturePickupComposer'; export * from './FurniturePlaceComposer'; export * from './FurniturePlacePaintComposer'; export * from './FurniturePostItPlaceComposer'; +export * from './FurniturePostItSaveStickyPoleComposer'; export * from './logic'; export * from './mannequin'; export * from './presents'; export * from './toner'; export * from './wall'; +export * from './youtube'; diff --git a/src/nitro/communication/messages/outgoing/room/furniture/logic/LoveLockStartConfirmComposer.ts b/src/nitro/communication/messages/outgoing/room/furniture/logic/LoveLockStartConfirmComposer.ts deleted file mode 100644 index 7f9d0b8e..00000000 --- a/src/nitro/communication/messages/outgoing/room/furniture/logic/LoveLockStartConfirmComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../../core/communication/messages/IMessageComposer'; - -export class LoveLockStartConfirmComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor(itemId: number, confirmed: boolean) - { - this._data = [ itemId, confirmed ]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - return; - } -} diff --git a/src/nitro/communication/messages/outgoing/room/furniture/logic/index.ts b/src/nitro/communication/messages/outgoing/room/furniture/logic/index.ts index 978bb5b1..838e3389 100644 --- a/src/nitro/communication/messages/outgoing/room/furniture/logic/index.ts +++ b/src/nitro/communication/messages/outgoing/room/furniture/logic/index.ts @@ -7,4 +7,3 @@ export * from './FurnitureOneWayDoorComposer'; export * from './FurnitureRandomStateComposer'; export * from './FurnitureStackHeightComposer'; export * from './FurnitureWallMultiStateComposer'; -export * from './LoveLockStartConfirmComposer'; diff --git a/src/nitro/communication/messages/outgoing/room/furniture/toner/ApplyTonerComposer.ts b/src/nitro/communication/messages/outgoing/room/furniture/toner/ApplyTonerComposer.ts index 4a122db3..a30f26fa 100644 --- a/src/nitro/communication/messages/outgoing/room/furniture/toner/ApplyTonerComposer.ts +++ b/src/nitro/communication/messages/outgoing/room/furniture/toner/ApplyTonerComposer.ts @@ -4,7 +4,7 @@ export class ApplyTonerComposer implements IMessageComposer; - constructor(k: number, arg2:number, arg3: number, arg4: number) + constructor(k: number, arg2: number, arg3: number, arg4: number) { this._data = [k, arg2, arg3, arg4]; } diff --git a/src/nitro/communication/messages/outgoing/room/furniture/youtube/ControlYoutubeDisplayPlaybackMessageComposer.ts b/src/nitro/communication/messages/outgoing/room/furniture/youtube/ControlYoutubeDisplayPlaybackMessageComposer.ts new file mode 100644 index 00000000..fa0c69d9 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/room/furniture/youtube/ControlYoutubeDisplayPlaybackMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../../../core'; + +export class ControlYoutubeDisplayPlaybackMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg_2: number) + { + this._data = [k, _arg_2]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/room/furniture/youtube/GetYoutubeDisplayStatusMessageComposer.ts b/src/nitro/communication/messages/outgoing/room/furniture/youtube/GetYoutubeDisplayStatusMessageComposer.ts new file mode 100644 index 00000000..3ff94292 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/room/furniture/youtube/GetYoutubeDisplayStatusMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../../../core'; + +export class GetYoutubeDisplayStatusMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/room/furniture/youtube/SetYoutubeDisplayPlaylistMessageComposer.ts b/src/nitro/communication/messages/outgoing/room/furniture/youtube/SetYoutubeDisplayPlaylistMessageComposer.ts new file mode 100644 index 00000000..4902b528 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/room/furniture/youtube/SetYoutubeDisplayPlaylistMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../../..'; + +export class SetYoutubeDisplayPlaylistMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k:number, _arg_2:string) + { + this._data = [k, _arg_2]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/room/furniture/youtube/index.ts b/src/nitro/communication/messages/outgoing/room/furniture/youtube/index.ts new file mode 100644 index 00000000..c72bc637 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/room/furniture/youtube/index.ts @@ -0,0 +1,3 @@ +export * from './ControlYoutubeDisplayPlaybackMessageComposer'; +export * from './GetYoutubeDisplayStatusMessageComposer'; +export * from './SetYoutubeDisplayPlaylistMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/room/index.ts b/src/nitro/communication/messages/outgoing/room/index.ts index 4b101b0e..047a28e1 100644 --- a/src/nitro/communication/messages/outgoing/room/index.ts +++ b/src/nitro/communication/messages/outgoing/room/index.ts @@ -4,6 +4,8 @@ export * from './bots'; export * from './data'; export * from './engine'; export * from './furniture'; -export * from './mapping'; +export * from './layout'; +export * from './RedeemItemClothingComposer'; export * from './RoomCreateComposer'; +export * from './session'; export * from './unit'; diff --git a/src/nitro/communication/messages/outgoing/inventory/marketplace/RequestSellItemComposer.ts b/src/nitro/communication/messages/outgoing/room/layout/GetOccupiedTilesMessageComposer.ts similarity index 56% rename from src/nitro/communication/messages/outgoing/inventory/marketplace/RequestSellItemComposer.ts rename to src/nitro/communication/messages/outgoing/room/layout/GetOccupiedTilesMessageComposer.ts index 2cf77e63..fa1983b5 100644 --- a/src/nitro/communication/messages/outgoing/inventory/marketplace/RequestSellItemComposer.ts +++ b/src/nitro/communication/messages/outgoing/room/layout/GetOccupiedTilesMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; -export class RequestSellItemComposer implements IMessageComposer> +export class GetOccupiedTilesMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor() { diff --git a/src/nitro/communication/messages/outgoing/room/mapping/RoomBlockedTilesComposer.ts b/src/nitro/communication/messages/outgoing/room/layout/GetRoomEntryDataMessageComposer.ts similarity index 56% rename from src/nitro/communication/messages/outgoing/room/mapping/RoomBlockedTilesComposer.ts rename to src/nitro/communication/messages/outgoing/room/layout/GetRoomEntryDataMessageComposer.ts index f55d5f9f..c2f98d0d 100644 --- a/src/nitro/communication/messages/outgoing/room/mapping/RoomBlockedTilesComposer.ts +++ b/src/nitro/communication/messages/outgoing/room/layout/GetRoomEntryDataMessageComposer.ts @@ -1,8 +1,8 @@ import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; -export class RoomBlockedTilesComposer implements IMessageComposer> +export class GetRoomEntryDataMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor() { @@ -18,4 +18,4 @@ export class RoomBlockedTilesComposer implements IMessageComposer> +export class GetRoomEntryTileMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor() { @@ -18,4 +18,4 @@ export class RoomDoorSettingsComposer implements IMessageComposer> +export class UpdateFloorPropertiesMessageComposer implements IMessageComposer> { - private _data: ConstructorParameters; + private _data: ConstructorParameters; constructor(model: string, doorX: number, doorY: number, doorDirection: number, thicknessWall: number, thicknessFloor: number, wallHeight: number) { @@ -18,4 +18,4 @@ export class RoomModelSaveComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor() - { - this._data = []; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - return; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/outgoing/room/mapping/index.ts b/src/nitro/communication/messages/outgoing/room/mapping/index.ts deleted file mode 100644 index ca5941e7..00000000 --- a/src/nitro/communication/messages/outgoing/room/mapping/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './RoomBlockedTilesComposer'; -export * from './RoomDoorSettingsComposer'; -export * from './RoomModelComposer'; -export * from './RoomModelSaveComposer'; diff --git a/src/nitro/communication/messages/outgoing/room/session/GoToFlatMessageComposer.ts b/src/nitro/communication/messages/outgoing/room/session/GoToFlatMessageComposer.ts new file mode 100644 index 00000000..5fda5db4 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/room/session/GoToFlatMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; + +export class GoToFlatMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(roomId: number) + { + this._data = [ roomId ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/room/session/index.ts b/src/nitro/communication/messages/outgoing/room/session/index.ts new file mode 100644 index 00000000..63746e9f --- /dev/null +++ b/src/nitro/communication/messages/outgoing/room/session/index.ts @@ -0,0 +1 @@ +export * from './GoToFlatMessageComposer'; diff --git a/src/nitro/communication/messages/outgoing/sound/AddJukeboxDiskComposer.ts b/src/nitro/communication/messages/outgoing/sound/AddJukeboxDiskComposer.ts new file mode 100644 index 00000000..0b5748da --- /dev/null +++ b/src/nitro/communication/messages/outgoing/sound/AddJukeboxDiskComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class AddJukeboxDiskComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number, _arg2: number) + { + this._data = [k, _arg2]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/sound/GetJukeboxPlayListMessageComposer.ts b/src/nitro/communication/messages/outgoing/sound/GetJukeboxPlayListMessageComposer.ts new file mode 100644 index 00000000..0f4da65e --- /dev/null +++ b/src/nitro/communication/messages/outgoing/sound/GetJukeboxPlayListMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetJukeboxPlayListMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/sound/GetNowPlayingMessageComposer.ts b/src/nitro/communication/messages/outgoing/sound/GetNowPlayingMessageComposer.ts new file mode 100644 index 00000000..b13cc0c6 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/sound/GetNowPlayingMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetNowPlayingMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/sound/GetOfficialSongIdMessageComposer.ts b/src/nitro/communication/messages/outgoing/sound/GetOfficialSongIdMessageComposer.ts new file mode 100644 index 00000000..c200b8ce --- /dev/null +++ b/src/nitro/communication/messages/outgoing/sound/GetOfficialSongIdMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetOfficialSongIdMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: string) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/sound/GetSongInfoMessageComposer.ts b/src/nitro/communication/messages/outgoing/sound/GetSongInfoMessageComposer.ts new file mode 100644 index 00000000..3814a31e --- /dev/null +++ b/src/nitro/communication/messages/outgoing/sound/GetSongInfoMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetSongInfoMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters< typeof GetSongInfoMessageComposer>; + + constructor(...args: number[]) + { + this._data = [args.length].concat(args); + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/sound/GetSoundMachinePlayListMessageComposer.ts b/src/nitro/communication/messages/outgoing/sound/GetSoundMachinePlayListMessageComposer.ts new file mode 100644 index 00000000..2a161a40 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/sound/GetSoundMachinePlayListMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetSoundMachinePlayListMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/sound/GetSoundSettingsComposer.ts b/src/nitro/communication/messages/outgoing/sound/GetSoundSettingsComposer.ts new file mode 100644 index 00000000..2c12f089 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/sound/GetSoundSettingsComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetSoundSettingsComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/sound/GetUserSongDisksMessageComposer.ts b/src/nitro/communication/messages/outgoing/sound/GetUserSongDisksMessageComposer.ts new file mode 100644 index 00000000..6a809d5f --- /dev/null +++ b/src/nitro/communication/messages/outgoing/sound/GetUserSongDisksMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class GetUserSongDisksMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/sound/RemoveJukeboxDiskComposer.ts b/src/nitro/communication/messages/outgoing/sound/RemoveJukeboxDiskComposer.ts new file mode 100644 index 00000000..e679deae --- /dev/null +++ b/src/nitro/communication/messages/outgoing/sound/RemoveJukeboxDiskComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core'; + +export class RemoveJukeboxDiskComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(k: number) + { + this._data = [ k ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/sound/index.ts b/src/nitro/communication/messages/outgoing/sound/index.ts new file mode 100644 index 00000000..bb1dffdc --- /dev/null +++ b/src/nitro/communication/messages/outgoing/sound/index.ts @@ -0,0 +1,9 @@ +export * from './AddJukeboxDiskComposer'; +export * from './GetJukeboxPlayListMessageComposer'; +export * from './GetNowPlayingMessageComposer'; +export * from './GetOfficialSongIdMessageComposer'; +export * from './GetSongInfoMessageComposer'; +export * from './GetSoundMachinePlayListMessageComposer'; +export * from './GetSoundSettingsComposer'; +export * from './GetUserSongDisksMessageComposer'; +export * from './RemoveJukeboxDiskComposer'; diff --git a/src/nitro/communication/messages/outgoing/talent/TalentTrackComposer.ts b/src/nitro/communication/messages/outgoing/talent/TalentTrackComposer.ts new file mode 100644 index 00000000..6992b7e7 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/talent/TalentTrackComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class TalentTrackComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(type: string) + { + this._data = [ type ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/talent/index.ts b/src/nitro/communication/messages/outgoing/talent/index.ts new file mode 100644 index 00000000..018730e0 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/talent/index.ts @@ -0,0 +1 @@ +export * from './TalentTrackComposer'; diff --git a/src/nitro/communication/messages/outgoing/catalog/CatalogGroupsComposer.ts b/src/nitro/communication/messages/outgoing/user/CatalogGroupsComposer.ts similarity index 100% rename from src/nitro/communication/messages/outgoing/catalog/CatalogGroupsComposer.ts rename to src/nitro/communication/messages/outgoing/user/CatalogGroupsComposer.ts diff --git a/src/nitro/communication/messages/outgoing/user/ScrGetKickbackInfoMessageComposer.ts b/src/nitro/communication/messages/outgoing/user/ScrGetKickbackInfoMessageComposer.ts new file mode 100644 index 00000000..ae9dd871 --- /dev/null +++ b/src/nitro/communication/messages/outgoing/user/ScrGetKickbackInfoMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer'; + +export class ScrGetKickbackInfoMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor() + { + this._data = []; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/user/data/GetExtendedProfileByNameMessageComposer.ts b/src/nitro/communication/messages/outgoing/user/data/GetExtendedProfileByNameMessageComposer.ts new file mode 100644 index 00000000..6fc9f38a --- /dev/null +++ b/src/nitro/communication/messages/outgoing/user/data/GetExtendedProfileByNameMessageComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../../core'; + +export class GetExtendedProfileByNameMessageComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(username: string) + { + this._data = [ username ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/src/nitro/communication/messages/outgoing/user/data/index.ts b/src/nitro/communication/messages/outgoing/user/data/index.ts index ff4e27f2..a71a6a48 100644 --- a/src/nitro/communication/messages/outgoing/user/data/index.ts +++ b/src/nitro/communication/messages/outgoing/user/data/index.ts @@ -1,3 +1,4 @@ +export * from './GetExtendedProfileByNameMessageComposer'; export * from './GetIgnoredUsersComposer'; export * from './IgnoreUserComposer'; export * from './IgnoreUserIdComposer'; diff --git a/src/nitro/communication/messages/outgoing/user/index.ts b/src/nitro/communication/messages/outgoing/user/index.ts index 006b940b..58328eda 100644 --- a/src/nitro/communication/messages/outgoing/user/index.ts +++ b/src/nitro/communication/messages/outgoing/user/index.ts @@ -1,6 +1,7 @@ export * from './ApproveNameMessageComposer'; +export * from './CatalogGroupsComposer'; export * from './data'; export * from './inventory'; +export * from './ScrGetKickbackInfoMessageComposer'; export * from './settings'; export * from './UserRespectComposer'; -export * from './wardrobe'; diff --git a/src/nitro/communication/messages/outgoing/user/wardrobe/UserWardrobePageComposer.ts b/src/nitro/communication/messages/outgoing/user/wardrobe/UserWardrobePageComposer.ts deleted file mode 100644 index c1ffcf15..00000000 --- a/src/nitro/communication/messages/outgoing/user/wardrobe/UserWardrobePageComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; - -export class UserWardrobePageComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor(pageId: number = 0) - { - this._data = [ pageId ]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - return; - } -} diff --git a/src/nitro/communication/messages/outgoing/user/wardrobe/UserWardrobeSaveComposer.ts b/src/nitro/communication/messages/outgoing/user/wardrobe/UserWardrobeSaveComposer.ts deleted file mode 100644 index 3a5ac70e..00000000 --- a/src/nitro/communication/messages/outgoing/user/wardrobe/UserWardrobeSaveComposer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer'; - -export class UserWardrobeSaveComposer implements IMessageComposer> -{ - private _data: ConstructorParameters; - - constructor(slotId: number, look: string, gender: string) - { - this._data = [ slotId, look, gender ]; - } - - public getMessageArray() - { - return this._data; - } - - public dispose(): void - { - return; - } -} diff --git a/src/nitro/communication/messages/outgoing/user/wardrobe/index.ts b/src/nitro/communication/messages/outgoing/user/wardrobe/index.ts deleted file mode 100644 index 544d1174..00000000 --- a/src/nitro/communication/messages/outgoing/user/wardrobe/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './UserWardrobePageComposer'; -export * from './UserWardrobeSaveComposer'; diff --git a/src/nitro/communication/messages/parser/advertisement/InterstitialMessageParser.ts b/src/nitro/communication/messages/parser/advertisement/InterstitialMessageParser.ts new file mode 100644 index 00000000..20692dd0 --- /dev/null +++ b/src/nitro/communication/messages/parser/advertisement/InterstitialMessageParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class InterstitialMessageParser implements IMessageParser +{ + private _canShowInterstitial: boolean; + + public flush(): boolean + { + this._canShowInterstitial = false; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._canShowInterstitial = wrapper.readBoolean(); + + return true; + } + + public get canShowInterstitial(): boolean + { + return this._canShowInterstitial; + } +} diff --git a/src/nitro/communication/messages/parser/advertisement/RoomAdErrorMessageParser.ts b/src/nitro/communication/messages/parser/advertisement/RoomAdErrorMessageParser.ts new file mode 100644 index 00000000..f31f4e67 --- /dev/null +++ b/src/nitro/communication/messages/parser/advertisement/RoomAdErrorMessageParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class RoomAdErrorMessageParser implements IMessageParser +{ + private _errorCode: number; + private _filteredText: string; + + public flush(): boolean + { + this._errorCode = 0; + this._filteredText = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._errorCode = wrapper.readInt(); + this._filteredText = wrapper.readString(); + + return true; + } + + public get errorCode(): number + { + return this._errorCode; + } + + public get filteredText(): string + { + return this._filteredText; + } +} diff --git a/src/nitro/communication/messages/parser/advertisement/index.ts b/src/nitro/communication/messages/parser/advertisement/index.ts new file mode 100644 index 00000000..d7b6995a --- /dev/null +++ b/src/nitro/communication/messages/parser/advertisement/index.ts @@ -0,0 +1,2 @@ +export * from './InterstitialMessageParser'; +export * from './RoomAdErrorMessageParser'; diff --git a/src/nitro/communication/messages/parser/availability/AvailabilityStatusMessageParser.ts b/src/nitro/communication/messages/parser/availability/AvailabilityStatusMessageParser.ts index 4f9f47df..a9b6a194 100644 --- a/src/nitro/communication/messages/parser/availability/AvailabilityStatusMessageParser.ts +++ b/src/nitro/communication/messages/parser/availability/AvailabilityStatusMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class AvailabilityStatusMessageParser implements IMessageParser { @@ -45,4 +44,4 @@ export class AvailabilityStatusMessageParser implements IMessageParser { return this._isAuthenticUser; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/availability/AvailabilityTimeMessageParser.ts b/src/nitro/communication/messages/parser/availability/AvailabilityTimeMessageParser.ts new file mode 100644 index 00000000..9b1f4bfb --- /dev/null +++ b/src/nitro/communication/messages/parser/availability/AvailabilityTimeMessageParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class AvailabilityTimeMessageParser implements IMessageParser +{ + private _isOpen: boolean; + private _minutesUntilChange: number; + + public flush(): boolean + { + this._isOpen = false; + this._minutesUntilChange = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._isOpen = (wrapper.readInt() > 0); + this._minutesUntilChange = wrapper.readInt(); + + return true; + } + + public get isOpen(): boolean + { + return this._isOpen; + } + + public get minutesUntilChange(): number + { + return this._minutesUntilChange; + } +} diff --git a/src/nitro/communication/messages/parser/availability/HotelClosedAndOpensMessageParser.ts b/src/nitro/communication/messages/parser/availability/HotelClosedAndOpensMessageParser.ts new file mode 100644 index 00000000..af3ffa9f --- /dev/null +++ b/src/nitro/communication/messages/parser/availability/HotelClosedAndOpensMessageParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class HotelClosedAndOpensMessageParser implements IMessageParser +{ + private _openHour: number; + private _openMinute: number; + + public flush(): boolean + { + this._openHour = 0; + this._openMinute = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._openHour = wrapper.readInt(); + this._openMinute = wrapper.readInt(); + + return true; + } + + public get openHour(): number + { + return this._openHour; + } + + public get openMinute(): number + { + return this._openMinute; + } +} diff --git a/src/nitro/communication/messages/parser/availability/HotelClosesAndWillOpenAtMessageParser.ts b/src/nitro/communication/messages/parser/availability/HotelClosesAndWillOpenAtMessageParser.ts new file mode 100644 index 00000000..7013e448 --- /dev/null +++ b/src/nitro/communication/messages/parser/availability/HotelClosesAndWillOpenAtMessageParser.ts @@ -0,0 +1,43 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class HotelClosesAndWillOpenAtMessageParser implements IMessageParser +{ + private _openHour: number; + private _openMinute: number; + private _userThrownOutAtClose: boolean; + + public flush(): boolean + { + this._openHour = 0; + this._openMinute = 0; + this._userThrownOutAtClose = false; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._openHour = wrapper.readInt(); + this._openMinute = wrapper.readInt(); + this._userThrownOutAtClose = wrapper.readBoolean(); + + return true; + } + + public get openHour(): number + { + return this._openHour; + } + + public get openMinute(): number + { + return this._openMinute; + } + + public get userThrowOutAtClose(): boolean + { + return this._userThrownOutAtClose; + } +} diff --git a/src/nitro/communication/messages/parser/availability/HotelWillCloseInMinutesMessageParser.ts b/src/nitro/communication/messages/parser/availability/HotelWillCloseInMinutesMessageParser.ts new file mode 100644 index 00000000..25b084a0 --- /dev/null +++ b/src/nitro/communication/messages/parser/availability/HotelWillCloseInMinutesMessageParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class HotelWillCloseInMinutesMessageParser implements IMessageParser +{ + private _minutes: number; + + public flush(): boolean + { + this._minutes = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._minutes = wrapper.readInt(); + + return true; + } + + public get openMinute(): number + { + return this._minutes; + } +} diff --git a/src/nitro/communication/messages/parser/availability/MaintenanceStatusMessageParser.ts b/src/nitro/communication/messages/parser/availability/MaintenanceStatusMessageParser.ts new file mode 100644 index 00000000..cb0328a5 --- /dev/null +++ b/src/nitro/communication/messages/parser/availability/MaintenanceStatusMessageParser.ts @@ -0,0 +1,47 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class MaintenanceStatusMessageParser implements IMessageParser +{ + private _isInMaintenance: boolean; + private _minutesUntilMaintenance: number; + private _duration: number; + + public flush(): boolean + { + this._isInMaintenance = false; + this._minutesUntilMaintenance = 0; + this._duration = 15; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._isInMaintenance = wrapper.readBoolean(); + this._minutesUntilMaintenance = wrapper.readInt(); + + if(wrapper.bytesAvailable) + { + this._duration = wrapper.readInt(); + } + + return true; + } + + public get isInMaintenance(): boolean + { + return this._isInMaintenance; + } + + public get minutesUntilMaintenance(): number + { + return this._minutesUntilMaintenance; + } + + public get duration(): number + { + return this._duration; + } +} diff --git a/src/nitro/communication/messages/parser/availability/index.ts b/src/nitro/communication/messages/parser/availability/index.ts index 3e6f5b68..4f619450 100644 --- a/src/nitro/communication/messages/parser/availability/index.ts +++ b/src/nitro/communication/messages/parser/availability/index.ts @@ -1 +1,6 @@ export * from './AvailabilityStatusMessageParser'; +export * from './AvailabilityTimeMessageParser'; +export * from './HotelClosedAndOpensMessageParser'; +export * from './HotelClosesAndWillOpenAtMessageParser'; +export * from './HotelWillCloseInMinutesMessageParser'; +export * from './MaintenanceStatusMessageParser'; diff --git a/src/nitro/communication/messages/parser/avatar/ChangeNameUpdateParser.ts b/src/nitro/communication/messages/parser/avatar/ChangeUserNameResultMessageParser.ts similarity index 76% rename from src/nitro/communication/messages/parser/avatar/ChangeNameUpdateParser.ts rename to src/nitro/communication/messages/parser/avatar/ChangeUserNameResultMessageParser.ts index 1624c314..fe908069 100644 --- a/src/nitro/communication/messages/parser/avatar/ChangeNameUpdateParser.ts +++ b/src/nitro/communication/messages/parser/avatar/ChangeUserNameResultMessageParser.ts @@ -1,11 +1,10 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; -export class ChangeNameUpdateParser implements IMessageParser +export class ChangeUserNameResultMessageParser implements IMessageParser { private _resultCode: number; private _name: string; - private _nameSuggestions; + private _nameSuggestions: string[]; public flush(): boolean { @@ -49,4 +48,4 @@ export class ChangeNameUpdateParser implements IMessageParser { return this._nameSuggestions; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/avatar/CheckUserNameResultMessageParser.ts b/src/nitro/communication/messages/parser/avatar/CheckUserNameResultMessageParser.ts new file mode 100644 index 00000000..76ff0ead --- /dev/null +++ b/src/nitro/communication/messages/parser/avatar/CheckUserNameResultMessageParser.ts @@ -0,0 +1,51 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class CheckUserNameResultMessageParser implements IMessageParser +{ + private _resultCode: number; + private _name: string; + private _nameSuggestions: string[]; + + public flush(): boolean + { + this._resultCode = -1; + this._name = ''; + this._nameSuggestions = []; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._resultCode = wrapper.readInt(); + this._name = wrapper.readString(); + + let totalSuggestions = wrapper.readInt(); + + while(totalSuggestions > 0) + { + this._nameSuggestions.push(wrapper.readString()); + + totalSuggestions--; + } + + return true; + } + + public get resultCode(): number + { + return this._resultCode; + } + + public get name(): string + { + return this._name; + } + + public get nameSuggestions(): string[] + { + return this._nameSuggestions; + } +} diff --git a/src/nitro/communication/messages/parser/avatar/FigureUpdateParser.ts b/src/nitro/communication/messages/parser/avatar/FigureUpdateParser.ts new file mode 100644 index 00000000..d9e64413 --- /dev/null +++ b/src/nitro/communication/messages/parser/avatar/FigureUpdateParser.ts @@ -0,0 +1,37 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class FigureUpdateParser implements IMessageParser +{ + private _figure: string; + private _gender: string; + + public flush(): boolean + { + this._figure = ''; + this._gender = ''; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._figure = wrapper.readString(); + this._gender = wrapper.readString(); + + if(this._gender) this._gender = this._gender.toUpperCase(); + + return true; + } + + public get figure(): string + { + return this._figure; + } + + public get gender(): string + { + return this._gender; + } +} diff --git a/src/nitro/communication/messages/parser/avatar/WardrobeMessageParser.ts b/src/nitro/communication/messages/parser/avatar/WardrobeMessageParser.ts new file mode 100644 index 00000000..bf193392 --- /dev/null +++ b/src/nitro/communication/messages/parser/avatar/WardrobeMessageParser.ts @@ -0,0 +1,44 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { OutfitData } from '../../incoming'; + +export class WardrobeMessageParser implements IMessageParser +{ + private _state: number; + private _outfits: OutfitData[]; + + public flush(): boolean + { + this._state = 0; + this._outfits = []; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._state = wrapper.readInt(); + + let count = wrapper.readInt(); + + while(count > 0) + { + this._outfits.push(new OutfitData(wrapper)); + + count--; + } + + return true; + } + + public get state(): number + { + return this._state; + } + + public get outfits(): OutfitData[] + { + return this._outfits; + } +} diff --git a/src/nitro/communication/messages/parser/avatar/index.ts b/src/nitro/communication/messages/parser/avatar/index.ts index bd135d97..fa085295 100644 --- a/src/nitro/communication/messages/parser/avatar/index.ts +++ b/src/nitro/communication/messages/parser/avatar/index.ts @@ -1 +1,4 @@ -export * from './ChangeNameUpdateParser'; +export * from './ChangeUserNameResultMessageParser'; +export * from './CheckUserNameResultMessageParser'; +export * from './FigureUpdateParser'; +export * from './WardrobeMessageParser'; diff --git a/src/nitro/communication/messages/parser/inventory/bots/BotAddedToInventoryParser.ts b/src/nitro/communication/messages/parser/bots/BotAddedToInventoryParser.ts similarity index 77% rename from src/nitro/communication/messages/parser/inventory/bots/BotAddedToInventoryParser.ts rename to src/nitro/communication/messages/parser/bots/BotAddedToInventoryParser.ts index 17c62b66..e0576029 100644 --- a/src/nitro/communication/messages/parser/inventory/bots/BotAddedToInventoryParser.ts +++ b/src/nitro/communication/messages/parser/bots/BotAddedToInventoryParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { BotData } from './BotData'; export class BotAddedToInventoryParser implements IMessageParser @@ -34,4 +33,4 @@ export class BotAddedToInventoryParser implements IMessageParser { return this._openInventory; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/bots/BotData.ts b/src/nitro/communication/messages/parser/bots/BotData.ts similarity index 88% rename from src/nitro/communication/messages/parser/inventory/bots/BotData.ts rename to src/nitro/communication/messages/parser/bots/BotData.ts index 0c41834c..410e51e0 100644 --- a/src/nitro/communication/messages/parser/inventory/bots/BotData.ts +++ b/src/nitro/communication/messages/parser/bots/BotData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class BotData { @@ -43,4 +43,4 @@ export class BotData { return this._gender; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/bots/BotInventoryMessageParser.ts b/src/nitro/communication/messages/parser/bots/BotInventoryMessageParser.ts similarity index 76% rename from src/nitro/communication/messages/parser/inventory/bots/BotInventoryMessageParser.ts rename to src/nitro/communication/messages/parser/bots/BotInventoryMessageParser.ts index 35aff960..7bc3a112 100644 --- a/src/nitro/communication/messages/parser/inventory/bots/BotInventoryMessageParser.ts +++ b/src/nitro/communication/messages/parser/bots/BotInventoryMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { BotData } from './BotData'; export class BotInventoryMessageParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/inventory/bots/BotReceivedMessageParser.ts b/src/nitro/communication/messages/parser/bots/BotReceivedMessageParser.ts similarity index 70% rename from src/nitro/communication/messages/parser/inventory/bots/BotReceivedMessageParser.ts rename to src/nitro/communication/messages/parser/bots/BotReceivedMessageParser.ts index 43b2b87d..314b7eea 100644 --- a/src/nitro/communication/messages/parser/inventory/bots/BotReceivedMessageParser.ts +++ b/src/nitro/communication/messages/parser/bots/BotReceivedMessageParser.ts @@ -1,8 +1,7 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { BotData } from './BotData'; -export class BotInventoryParser implements IMessageParser +export class BotReceivedMessageParser implements IMessageParser { private _boughtAsGift: boolean; private _item: BotData; diff --git a/src/nitro/communication/messages/parser/inventory/bots/BotRemovedFromInventoryParser.ts b/src/nitro/communication/messages/parser/bots/BotRemovedFromInventoryParser.ts similarity index 67% rename from src/nitro/communication/messages/parser/inventory/bots/BotRemovedFromInventoryParser.ts rename to src/nitro/communication/messages/parser/bots/BotRemovedFromInventoryParser.ts index d93e2c33..29f31e01 100644 --- a/src/nitro/communication/messages/parser/inventory/bots/BotRemovedFromInventoryParser.ts +++ b/src/nitro/communication/messages/parser/bots/BotRemovedFromInventoryParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class BotRemovedFromInventoryParser implements IMessageParser { @@ -25,4 +24,4 @@ export class BotRemovedFromInventoryParser implements IMessageParser { return this._itemId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/bots/index.ts b/src/nitro/communication/messages/parser/bots/index.ts similarity index 100% rename from src/nitro/communication/messages/parser/inventory/bots/index.ts rename to src/nitro/communication/messages/parser/bots/index.ts diff --git a/src/nitro/communication/messages/parser/callforhelp/CfhSanctionMessageParser.ts b/src/nitro/communication/messages/parser/callforhelp/CfhSanctionMessageParser.ts new file mode 100644 index 00000000..d5fcddad --- /dev/null +++ b/src/nitro/communication/messages/parser/callforhelp/CfhSanctionMessageParser.ts @@ -0,0 +1,45 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { CfhSanctionTypeData } from '../../incoming/callforhelp'; +import { IMessageParser } from './../../../../../core'; + +export class CfhSanctionMessageParser implements IMessageParser +{ + private _issueId: number; + private _accountId: number; + private _sanctionType: CfhSanctionTypeData; + + public flush(): boolean + { + this._issueId = -1; + this._accountId = 1; + this._sanctionType = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._issueId = wrapper.readInt(); + this._accountId = wrapper.readInt(); + this._sanctionType = new CfhSanctionTypeData(wrapper); + + return true; + } + + public get issueId(): number + { + return this._issueId; + } + + public get accountId(): number + { + return this._accountId; + } + + public get sanctionType(): CfhSanctionTypeData + { + return this._sanctionType; + } +} diff --git a/src/nitro/communication/messages/parser/modtool/ModtoolCFHTopicsParser.ts b/src/nitro/communication/messages/parser/callforhelp/CfhTopicsInitMessageParser.ts similarity index 52% rename from src/nitro/communication/messages/parser/modtool/ModtoolCFHTopicsParser.ts rename to src/nitro/communication/messages/parser/callforhelp/CfhTopicsInitMessageParser.ts index d5a4a6c1..87884dbc 100644 --- a/src/nitro/communication/messages/parser/modtool/ModtoolCFHTopicsParser.ts +++ b/src/nitro/communication/messages/parser/callforhelp/CfhTopicsInitMessageParser.ts @@ -1,24 +1,31 @@ -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { CallForHelpCategoryData } from './utils/CallForHelpCategoryData'; +import { IMessageDataWrapper } from '../../../../../core'; +import { CallForHelpCategoryData } from '../../incoming/callforhelp/CallForHelpCategoryData'; +import { IMessageParser } from './../../../../../core'; -export class ModtoolCFHTopicsParser implements IMessageParser +export class CfhTopicsInitMessageParser implements IMessageParser { private _callForHelpCategories: CallForHelpCategoryData[]; + public flush(): boolean { + this._callForHelpCategories = null; + return true; } public parse(wrapper: IMessageDataWrapper): boolean { + if(!wrapper) return false; + this._callForHelpCategories = []; - const count = wrapper.readInt(); - let i = 0; - while(i < count) + + let count = wrapper.readInt(); + + while(count > 0) { this._callForHelpCategories.push(new CallForHelpCategoryData(wrapper)); - i++; + + count--; } return true; diff --git a/src/nitro/communication/messages/parser/callforhelp/SanctionStatusMessageParser.ts b/src/nitro/communication/messages/parser/callforhelp/SanctionStatusMessageParser.ts new file mode 100644 index 00000000..65eb6cd4 --- /dev/null +++ b/src/nitro/communication/messages/parser/callforhelp/SanctionStatusMessageParser.ts @@ -0,0 +1,115 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; + +export class SanctionStatusMessageParser implements IMessageParser +{ + private _isSanctionNew: boolean; + private _isSanctionActive: boolean; + private _sanctionName: string; + private _sanctionLengthHours: number; + private _sanctionReason: string; + private _sanctionCreationTime: string; + private _probationHoursLeft: number; + private _nextSanctionName: string; + private _nextSanctionLengthHours: number; + private _hasCustomMute: boolean; + private _tradeLockExpiryTime: string; + + public flush(): boolean + { + this._isSanctionNew = false; + this._isSanctionActive = false; + this._sanctionName = null; + this._sanctionLengthHours = 0; + this._sanctionReason = null; + this._sanctionCreationTime = null; + this._probationHoursLeft = 0; + this._nextSanctionName = null; + this._nextSanctionLengthHours = 0; + this._hasCustomMute = false; + this._tradeLockExpiryTime = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._isSanctionNew = wrapper.readBoolean(); + this._isSanctionActive = wrapper.readBoolean(); + this._sanctionName = wrapper.readString(); + this._sanctionLengthHours = wrapper.readInt(); + + wrapper.readInt(); + + this._sanctionReason = wrapper.readString(); + this._sanctionCreationTime = wrapper.readString(); + this._probationHoursLeft = wrapper.readInt(); + this._nextSanctionName = wrapper.readString(); + this._nextSanctionLengthHours = wrapper.readInt(); + + wrapper.readInt(); + + this._hasCustomMute = wrapper.readBoolean(); + + if(wrapper.bytesAvailable) this._tradeLockExpiryTime = wrapper.readString(); + + return true; + } + + public get isSanctionNew(): boolean + { + return this._isSanctionNew; + } + + public get isSanctionActive(): boolean + { + return this._isSanctionActive; + } + + public get sanctionName(): string + { + return this._sanctionName; + } + + public get sanctionLengthHours(): number + { + return this._sanctionLengthHours; + } + + public get sanctionReason(): string + { + return this._sanctionReason; + } + + public get sanctionCreationTime(): string + { + return this._sanctionCreationTime; + } + + public get probationHoursLeft(): number + { + return this._probationHoursLeft; + } + + public get nextSanctionName(): string + { + return this._nextSanctionName; + } + + public get nextSanctionLengthHours(): number + { + return this._nextSanctionLengthHours; + } + + public get hasCustomMute(): boolean + { + return this._hasCustomMute; + } + + public get tradeLockExpiryTime(): string + { + return this._tradeLockExpiryTime; + } +} diff --git a/src/nitro/communication/messages/parser/callforhelp/index.ts b/src/nitro/communication/messages/parser/callforhelp/index.ts new file mode 100644 index 00000000..2064142a --- /dev/null +++ b/src/nitro/communication/messages/parser/callforhelp/index.ts @@ -0,0 +1,3 @@ +export * from './CfhSanctionMessageParser'; +export * from './CfhTopicsInitMessageParser'; +export * from './SanctionStatusMessageParser'; diff --git a/src/nitro/communication/messages/parser/camera/CameraPublishStatusMessageParser.ts b/src/nitro/communication/messages/parser/camera/CameraPublishStatusMessageParser.ts index be9ce189..c23ee0f1 100644 --- a/src/nitro/communication/messages/parser/camera/CameraPublishStatusMessageParser.ts +++ b/src/nitro/communication/messages/parser/camera/CameraPublishStatusMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class CameraPublishStatusMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/camera/CameraPurchaseOKMessageParser.ts b/src/nitro/communication/messages/parser/camera/CameraPurchaseOKMessageParser.ts index 1ecb9d84..fc7c0658 100644 --- a/src/nitro/communication/messages/parser/camera/CameraPurchaseOKMessageParser.ts +++ b/src/nitro/communication/messages/parser/camera/CameraPurchaseOKMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class CameraPurchaseOKMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/camera/CameraStorageUrlMessageParser.ts b/src/nitro/communication/messages/parser/camera/CameraStorageUrlMessageParser.ts index 101a808a..dd32d742 100644 --- a/src/nitro/communication/messages/parser/camera/CameraStorageUrlMessageParser.ts +++ b/src/nitro/communication/messages/parser/camera/CameraStorageUrlMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class CameraStorageUrlMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/camera/CompetitionStatusMessageParser.ts b/src/nitro/communication/messages/parser/camera/CompetitionStatusMessageParser.ts index aa8d6119..40202c8c 100644 --- a/src/nitro/communication/messages/parser/camera/CompetitionStatusMessageParser.ts +++ b/src/nitro/communication/messages/parser/camera/CompetitionStatusMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class CompetitionStatusMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/camera/InitCameraMessageParser.ts b/src/nitro/communication/messages/parser/camera/InitCameraMessageParser.ts index 8680e335..523c76d7 100644 --- a/src/nitro/communication/messages/parser/camera/InitCameraMessageParser.ts +++ b/src/nitro/communication/messages/parser/camera/InitCameraMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class InitCameraMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/camera/ThumbnailStatusMessageParser.ts b/src/nitro/communication/messages/parser/camera/ThumbnailStatusMessageParser.ts index 06cb5ace..ac628b3d 100644 --- a/src/nitro/communication/messages/parser/camera/ThumbnailStatusMessageParser.ts +++ b/src/nitro/communication/messages/parser/camera/ThumbnailStatusMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class ThumbnailStatusMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/campaign/CampaignCalendarData.ts b/src/nitro/communication/messages/parser/campaign/CampaignCalendarData.ts new file mode 100644 index 00000000..3cf16476 --- /dev/null +++ b/src/nitro/communication/messages/parser/campaign/CampaignCalendarData.ts @@ -0,0 +1,114 @@ +import { IMessageDataWrapper } from '../../../../../core'; + +export class CampaignCalendarData +{ + private _campaignName: string; + private _campaignImage: string; + private _currentDay: number; + private _campaignDays: number; + private _openedDays: number[]; + private _missedDays: number[]; + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._campaignName = wrapper.readString(); + this._campaignImage = wrapper.readString(); + this._currentDay = wrapper.readInt(); + this._campaignDays = wrapper.readInt(); + this._openedDays = []; + + let count = wrapper.readInt(); + + for(let i = 0; i < count; i++) + { + this._openedDays.push(wrapper.readInt()); + } + + this._missedDays = []; + + count = wrapper.readInt(); + + for(let i = 0; i < count; i++) + { + this._missedDays.push(wrapper.readInt()); + } + + return true; + } + + public clone(): CampaignCalendarData + { + const data = new CampaignCalendarData(); + + data.campaignDays = this._campaignDays; + data.campaignImage = this._campaignImage; + data.campaignName = this._campaignName; + data.currentDay = this._currentDay; + data.missedDays = this._missedDays; + data.openedDays = this._openedDays; + + return data; + } + + public get campaignName(): string + { + return this._campaignName; + } + + public set campaignName(name: string) + { + this._campaignName = name; + } + + public get campaignImage(): string + { + return this._campaignImage; + } + + public set campaignImage(image: string) + { + this._campaignImage = image; + } + + public get currentDay(): number + { + return this._currentDay; + } + + public set currentDay(day: number) + { + this._currentDay = day; + } + + public get campaignDays(): number + { + return this._campaignDays; + } + + public set campaignDays(days: number) + { + this._campaignDays = days; + } + + public get openedDays(): number[] + { + return this._openedDays; + } + + public set openedDays(days: number[]) + { + this._openedDays = days; + } + + public get missedDays(): number[] + { + return this._missedDays; + } + + public set missedDays(days: number[]) + { + this._missedDays = days; + } +} diff --git a/src/nitro/communication/messages/parser/campaign/CampaignCalendarDataMessageParser.ts b/src/nitro/communication/messages/parser/campaign/CampaignCalendarDataMessageParser.ts new file mode 100644 index 00000000..a590bc2d --- /dev/null +++ b/src/nitro/communication/messages/parser/campaign/CampaignCalendarDataMessageParser.ts @@ -0,0 +1,30 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; +import { CampaignCalendarData } from './CampaignCalendarData'; + +export class CampaignCalendarDataMessageParser implements IMessageParser +{ + private _calendarData: CampaignCalendarData; + + public flush(): boolean + { + this._calendarData = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._calendarData = new CampaignCalendarData(); + this._calendarData.parse(wrapper); + + return true; + } + + public get calendarData(): CampaignCalendarData + { + return this._calendarData; + } +} diff --git a/src/nitro/communication/messages/parser/campaign/CampaignCalendarDoorOpenedMessageParser.ts b/src/nitro/communication/messages/parser/campaign/CampaignCalendarDoorOpenedMessageParser.ts new file mode 100644 index 00000000..0e9ff0d0 --- /dev/null +++ b/src/nitro/communication/messages/parser/campaign/CampaignCalendarDoorOpenedMessageParser.ts @@ -0,0 +1,52 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; + +export class CampaignCalendarDoorOpenedMessageParser implements IMessageParser +{ + private _doorOpened: boolean; + private _productName: string; + private _customImage: string; + private _furnitureClassName: string; + + public flush(): boolean + { + this._doorOpened = false; + this._productName = null; + this._customImage = null; + this._furnitureClassName = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._doorOpened = wrapper.readBoolean(); + this._productName = wrapper.readString(); + this._customImage = wrapper.readString(); + this._furnitureClassName = wrapper.readString(); + + return true; + } + + public get doorOpened(): boolean + { + return this._doorOpened; + } + + public get productName(): string + { + return this._productName; + } + + public get customImage(): string + { + return this._customImage; + } + + public get furnitureClassName(): string + { + return this._furnitureClassName; + } +} diff --git a/src/nitro/communication/messages/parser/campaign/index.ts b/src/nitro/communication/messages/parser/campaign/index.ts new file mode 100644 index 00000000..bb30603c --- /dev/null +++ b/src/nitro/communication/messages/parser/campaign/index.ts @@ -0,0 +1,3 @@ +export * from './CampaignCalendarData'; +export * from './CampaignCalendarDataMessageParser'; +export * from './CampaignCalendarDoorOpenedMessageParser'; diff --git a/src/nitro/communication/messages/parser/catalog/BonusRareInfoMessageParser.ts b/src/nitro/communication/messages/parser/catalog/BonusRareInfoMessageParser.ts index d3d988cd..8eb02b35 100644 --- a/src/nitro/communication/messages/parser/catalog/BonusRareInfoMessageParser.ts +++ b/src/nitro/communication/messages/parser/catalog/BonusRareInfoMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class BonusRareInfoMessageParser implements IMessageParser { @@ -17,7 +17,7 @@ export class BonusRareInfoMessageParser implements IMessageParser return true; } - public parse(wrapper:IMessageDataWrapper): boolean + public parse(wrapper: IMessageDataWrapper): boolean { if(!wrapper) return false; diff --git a/src/nitro/communication/messages/parser/catalog/BuildersClubFurniCountMessageParser.ts b/src/nitro/communication/messages/parser/catalog/BuildersClubFurniCountMessageParser.ts new file mode 100644 index 00000000..a3a0f7a7 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/BuildersClubFurniCountMessageParser.ts @@ -0,0 +1,28 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; + +export class BuildersClubFurniCountMessageParser implements IMessageParser +{ + private _furniCount: number; + + public flush(): boolean + { + this._furniCount = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._furniCount = wrapper.readInt(); + + return true; + } + + public get furniCount(): number + { + return this._furniCount; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/BuildersClubSubscriptionStatusMessageParser.ts b/src/nitro/communication/messages/parser/catalog/BuildersClubSubscriptionStatusMessageParser.ts new file mode 100644 index 00000000..95a781e6 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/BuildersClubSubscriptionStatusMessageParser.ts @@ -0,0 +1,54 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; + +export class BuildersClubSubscriptionStatusMessageParser implements IMessageParser +{ + private _Str_16456: number; + private _Str_12494: number; + private _Str_19123: number; + private _Str_17298: number; + + public flush(): boolean + { + this._Str_16456 = 0; + this._Str_12494 = 0; + this._Str_19123 = 0; + this._Str_17298 = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._Str_16456 = wrapper.readInt(); + this._Str_12494 = wrapper.readInt(); + this._Str_19123 = wrapper.readInt(); + + if(wrapper.bytesAvailable) this._Str_17298 = wrapper.readInt(); + else this._Str_17298 = this._Str_16456; + + return true; + } + + public get _Str_3709(): number + { + return this._Str_16456; + } + + public get _Str_15864(): number + { + return this._Str_12494; + } + + public get _Str_24094(): number + { + return this._Str_19123; + } + + public get _Str_24379(): number + { + return this._Str_17298; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/BundleDiscountRulesetMessageParser.ts b/src/nitro/communication/messages/parser/catalog/BundleDiscountRulesetMessageParser.ts new file mode 100644 index 00000000..9816e6d9 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/BundleDiscountRulesetMessageParser.ts @@ -0,0 +1,29 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { BundleDiscountRuleset } from '../../incoming'; +import { IMessageParser } from './../../../../../core'; + +export class BundleDiscountRulesetMessageParser implements IMessageParser +{ + private _bundleDiscountRuleset: BundleDiscountRuleset; + + public flush(): boolean + { + this._bundleDiscountRuleset = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._bundleDiscountRuleset = new BundleDiscountRuleset(wrapper); + + return true; + } + + public get bundleDiscountRuleset(): BundleDiscountRuleset + { + return this._bundleDiscountRuleset; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogClubParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogClubParser.ts deleted file mode 100644 index e06c1c63..00000000 --- a/src/nitro/communication/messages/parser/catalog/CatalogClubParser.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { CatalogClubOfferData } from './utils/CatalogClubOfferData'; - -export class CatalogClubParser implements IMessageParser -{ - private _offers: CatalogClubOfferData[]; - - public flush(): boolean - { - this._offers = []; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - let totalOffers = wrapper.readInt(); - - while(totalOffers > 0) - { - this._offers.push(new CatalogClubOfferData(wrapper)); - - totalOffers--; - } - - return true; - } - - public get offers(): CatalogClubOfferData[] - { - return this._offers; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/parser/catalog/CatalogGiftUsernameUnavailableParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogGiftUsernameUnavailableParser.ts deleted file mode 100644 index a33a9898..00000000 --- a/src/nitro/communication/messages/parser/catalog/CatalogGiftUsernameUnavailableParser.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; - -export class CatalogGiftUsernameUnavailableParser implements IMessageParser -{ - - public flush(): boolean - { - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - return true; - } - - -} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogGroupsParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogGroupsParser.ts deleted file mode 100644 index 09694dad..00000000 --- a/src/nitro/communication/messages/parser/catalog/CatalogGroupsParser.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { CatalogGroupData } from './utils/CatalogGroupData'; - -export class CatalogGroupsParser implements IMessageParser -{ - private _groups: CatalogGroupData[]; - - public flush(): boolean - { - this._groups = []; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - let totalOffers = wrapper.readInt(); - - while(totalOffers > 0) - { - this._groups.push(new CatalogGroupData(wrapper)); - - totalOffers--; - } - - return true; - } - - public get groups(): CatalogGroupData[] - { - return this._groups; - } -} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogPagesParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogIndexMessageParser.ts similarity index 58% rename from src/nitro/communication/messages/parser/catalog/CatalogPagesParser.ts rename to src/nitro/communication/messages/parser/catalog/CatalogIndexMessageParser.ts index 099549ef..00102499 100644 --- a/src/nitro/communication/messages/parser/catalog/CatalogPagesParser.ts +++ b/src/nitro/communication/messages/parser/catalog/CatalogIndexMessageParser.ts @@ -1,10 +1,9 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { CatalogPageData } from './utils/CatalogPageData'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { NodeData } from '../../incoming/catalog/NodeData'; -export class CatalogPagesParser implements IMessageParser +export class CatalogIndexMessageParser implements IMessageParser { - private _root: CatalogPageData; + private _root: NodeData; private _newAdditionsAvailable: boolean; private _catalogType: string; @@ -19,14 +18,14 @@ export class CatalogPagesParser implements IMessageParser { if(!wrapper) return false; - this._root = new CatalogPageData(wrapper); + this._root = new NodeData(wrapper); this._newAdditionsAvailable = wrapper.readBoolean(); this._catalogType = wrapper.readString(); return true; } - public get root(): CatalogPageData + public get root(): NodeData { return this._root; } @@ -40,4 +39,4 @@ export class CatalogPagesParser implements IMessageParser { return this._catalogType; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogModeParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogModeParser.ts deleted file mode 100644 index 97ec9b7f..00000000 --- a/src/nitro/communication/messages/parser/catalog/CatalogModeParser.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; - -export class CatalogModeParser implements IMessageParser -{ - private _mode: number; - - public flush(): boolean - { - this._mode = -1; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._mode = wrapper.readInt(); - - return true; - } - - public get mode(): number - { - return this._mode; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/parser/catalog/CatalogPageExpirationParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogPageExpirationParser.ts new file mode 100644 index 00000000..5f1e0970 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/CatalogPageExpirationParser.ts @@ -0,0 +1,51 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class CatalogPageExpirationParser implements IMessageParser +{ + private _pageName: string; + private _pageId: number; + private _Str_5158: number; + private _image: string; + + public flush(): boolean + { + this._pageName = null; + this._pageId = 0; + this._Str_5158 = 0; + this._image = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._pageId = wrapper.readInt(); + this._pageName = wrapper.readString(); + this._Str_5158 = wrapper.readInt(); + this._image = wrapper.readString(); + + return true; + } + + public get pageName(): string + { + return this._pageName; + } + + public get pageId(): number + { + return this._pageId; + } + + public get _Str_17123(): number + { + return this._Str_5158; + } + + public get image(): string + { + return this._image; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogPageParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogPageMessageParser.ts similarity index 70% rename from src/nitro/communication/messages/parser/catalog/CatalogPageParser.ts rename to src/nitro/communication/messages/parser/catalog/CatalogPageMessageParser.ts index 021b9656..f1450e2d 100644 --- a/src/nitro/communication/messages/parser/catalog/CatalogPageParser.ts +++ b/src/nitro/communication/messages/parser/catalog/CatalogPageMessageParser.ts @@ -1,20 +1,18 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { CatalogFrontPageItem } from './utils/CatalogFrontPageItem'; -import { CatalogLocalizationData } from './utils/CatalogLocalizationData'; -import { CatalogPageOfferData } from './utils/CatalogPageOfferData'; -import { ICatalogPageParser } from './utils/ICatalogPageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { CatalogLocalizationData } from '../../incoming/catalog/CatalogLocalizationData'; +import { CatalogPageMessageOfferData } from '../../incoming/catalog/CatalogPageMessageOfferData'; +import { FrontPageItem } from '../../incoming/catalog/FrontPageItem'; -export class CatalogPageParser implements IMessageParser, ICatalogPageParser +export class CatalogPageMessageParser implements IMessageParser { private _pageId: number; private _catalogType: string; private _layoutCode: string; private _localization: CatalogLocalizationData; - private _offers: CatalogPageOfferData[]; + private _offers: CatalogPageMessageOfferData[]; private _offerId: number; private _acceptSeasonCurrencyAsCredits: boolean; - private _frontPageItems: CatalogFrontPageItem[]; + private _frontPageItems: FrontPageItem[]; public flush(): boolean { @@ -43,7 +41,7 @@ export class CatalogPageParser implements IMessageParser, ICatalogPageParser while(totalOffers > 0) { - this._offers.push(new CatalogPageOfferData(wrapper)); + this._offers.push(new CatalogPageMessageOfferData(wrapper)); totalOffers--; } @@ -57,7 +55,7 @@ export class CatalogPageParser implements IMessageParser, ICatalogPageParser while(totalFrontPageItems > 0) { - this._frontPageItems.push(new CatalogFrontPageItem(wrapper)); + this._frontPageItems.push(new FrontPageItem(wrapper)); totalFrontPageItems--; } @@ -86,7 +84,7 @@ export class CatalogPageParser implements IMessageParser, ICatalogPageParser return this._localization; } - public get offers(): CatalogPageOfferData[] + public get offers(): CatalogPageMessageOfferData[] { return this._offers; } @@ -101,7 +99,7 @@ export class CatalogPageParser implements IMessageParser, ICatalogPageParser return this._acceptSeasonCurrencyAsCredits; } - public get frontPageItems(): CatalogFrontPageItem[] + public get frontPageItems(): FrontPageItem[] { return this._frontPageItems; } diff --git a/src/nitro/communication/messages/parser/catalog/CatalogPageWithEarliestExpiryMessageParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogPageWithEarliestExpiryMessageParser.ts new file mode 100644 index 00000000..d0f2d9a7 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/CatalogPageWithEarliestExpiryMessageParser.ts @@ -0,0 +1,43 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class CatalogPageWithEarliestExpiryMessageParser implements IMessageParser +{ + private _pageName: string; + private _Str_5158: number; + private _image: string; + + public flush(): boolean + { + this._pageName = null; + this._Str_5158 = 0; + this._image = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._pageName = wrapper.readString(); + this._Str_5158 = wrapper.readInt(); + this._image = wrapper.readString(); + + return true; + } + + public get pageName(): string + { + return this._pageName; + } + + public get _Str_17123(): number + { + return this._Str_5158; + } + + public get image(): string + { + return this._image; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogUpdatedParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogPublishedMessageParser.ts similarity index 74% rename from src/nitro/communication/messages/parser/catalog/CatalogUpdatedParser.ts rename to src/nitro/communication/messages/parser/catalog/CatalogPublishedMessageParser.ts index 07d5f654..b04564bd 100644 --- a/src/nitro/communication/messages/parser/catalog/CatalogUpdatedParser.ts +++ b/src/nitro/communication/messages/parser/catalog/CatalogPublishedMessageParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; -export class CatalogUpdatedParser implements IMessageParser +export class CatalogPublishedMessageParser implements IMessageParser { private _instantlyRefreshCatalogue: boolean; private _newFurniDataHash: string; @@ -34,4 +33,4 @@ export class CatalogUpdatedParser implements IMessageParser { return this._newFurniDataHash; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogPurchaseParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogPurchaseParser.ts deleted file mode 100644 index 239d13aa..00000000 --- a/src/nitro/communication/messages/parser/catalog/CatalogPurchaseParser.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { CatalogPurchaseData } from './utils/CatalogPurchaseData'; - -export class CatalogPurchaseParser implements IMessageParser -{ - private _offer: CatalogPurchaseData; - - public flush(): boolean - { - this._offer = null; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._offer = new CatalogPurchaseData(wrapper); - - return true; - } - - public get offer(): CatalogPurchaseData - { - return this._offer; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/parser/catalog/CatalogRedeemVoucherErrorParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogRedeemVoucherErrorParser.ts deleted file mode 100644 index 893cc7ed..00000000 --- a/src/nitro/communication/messages/parser/catalog/CatalogRedeemVoucherErrorParser.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; - -export class CatalogRedeemVoucherErrorParser implements IMessageParser -{ - private _errorCode:string = ''; - - public flush(): boolean - { - this._errorCode = ''; - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._errorCode = wrapper.readString(); - - return true; - } - - public get errorCode():string - { - return this._errorCode; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/parser/catalog/CatalogSearchParser.ts b/src/nitro/communication/messages/parser/catalog/CatalogSearchParser.ts deleted file mode 100644 index a415ae42..00000000 --- a/src/nitro/communication/messages/parser/catalog/CatalogSearchParser.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { CatalogPageOfferData } from './utils/CatalogPageOfferData'; - -export class CatalogSearchParser implements IMessageParser -{ - private _offer: CatalogPageOfferData; - - public flush(): boolean - { - this._offer = null; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._offer = new CatalogPageOfferData(wrapper); - - return true; - } - - public get offer(): CatalogPageOfferData - { - return this._offer; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/parser/catalog/ClubGiftInfoParser.ts b/src/nitro/communication/messages/parser/catalog/ClubGiftInfoParser.ts index 56ae01a2..64d106b0 100644 --- a/src/nitro/communication/messages/parser/catalog/ClubGiftInfoParser.ts +++ b/src/nitro/communication/messages/parser/catalog/ClubGiftInfoParser.ts @@ -1,13 +1,12 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { CatalogPageOfferData } from './utils/CatalogPageOfferData'; -import { ClubGiftData } from './utils/ClubGiftData'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { CatalogPageMessageOfferData } from '../../incoming/catalog/CatalogPageMessageOfferData'; +import { ClubGiftData } from '../../incoming/catalog/ClubGiftData'; export class ClubGiftInfoParser implements IMessageParser { - private _daysUntilNextGift:number; - private _giftsAvailable:number; - private _offers: CatalogPageOfferData[]; + private _daysUntilNextGift: number; + private _giftsAvailable: number; + private _offers: CatalogPageMessageOfferData[]; private _giftData:Map; public flush(): boolean @@ -29,7 +28,7 @@ export class ClubGiftInfoParser implements IMessageParser for(let i = 0; i < offerCount; i ++) { - this._offers.push(new CatalogPageOfferData(wrapper)); + this._offers.push(new CatalogPageMessageOfferData(wrapper)); } const giftDataCount = wrapper.readInt(); @@ -43,17 +42,17 @@ export class ClubGiftInfoParser implements IMessageParser return true; } - public get offers(): CatalogPageOfferData[] + public get offers(): CatalogPageMessageOfferData[] { return this._offers; } - public get daysUntilNextGift():number + public get daysUntilNextGift(): number { return this._daysUntilNextGift; } - public get giftsAvailable():number + public get giftsAvailable(): number { return this._giftsAvailable; } diff --git a/src/nitro/communication/messages/parser/catalog/ClubGiftSelectedParser.ts b/src/nitro/communication/messages/parser/catalog/ClubGiftSelectedParser.ts new file mode 100644 index 00000000..0e684e4f --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/ClubGiftSelectedParser.ts @@ -0,0 +1,44 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { CatalogPageMessageProductData } from '../../incoming'; + +export class ClubGiftSelectedParser implements IMessageParser +{ + private _productCode: string; + private _products: CatalogPageMessageProductData[]; + + public flush(): boolean + { + this._productCode = null; + this._products = []; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._productCode = wrapper.readString(); + + let count = wrapper.readInt(); + + while(count > 0) + { + this._products.push(new CatalogPageMessageProductData(wrapper)); + + count--; + } + + return true; + } + + public get productCode(): string + { + return this._productCode; + } + + public get products(): CatalogPageMessageProductData[] + { + return this._products; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/DirectSMSClubBuyAvailableMessageParser.ts b/src/nitro/communication/messages/parser/catalog/DirectSMSClubBuyAvailableMessageParser.ts new file mode 100644 index 00000000..7749b219 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/DirectSMSClubBuyAvailableMessageParser.ts @@ -0,0 +1,53 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class DirectSMSClubBuyAvailableMessageParser implements IMessageParser +{ + private _available: boolean; + private _Str_16515: string; + private _Str_22121: string; + private _Str_21897: number; + + public flush(): boolean + { + this._available = false; + this._Str_16515 = null; + this._Str_22121 = null; + this._Str_21897 = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._Str_16515 = wrapper.readString(); + + if(this._Str_16515 !== '') this._available = true; + + this._Str_22121 = wrapper.readString(); + this._Str_21897 = wrapper.readInt(); + + return true; + } + + public get available(): boolean + { + return this._available; + } + + public get _Str_26301(): string + { + return this._Str_16515; + } + + public get _Str_26118(): string + { + return this._Str_22121; + } + + public get _Str_26380(): number + { + return this._Str_21897; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/GiftReceiverNotFoundParser.ts b/src/nitro/communication/messages/parser/catalog/GiftReceiverNotFoundParser.ts new file mode 100644 index 00000000..6cbdc1dd --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/GiftReceiverNotFoundParser.ts @@ -0,0 +1,20 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GiftReceiverNotFoundParser implements IMessageParser +{ + + public flush(): boolean + { + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + return true; + } + + +} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogGiftConfigurationParser.ts b/src/nitro/communication/messages/parser/catalog/GiftWrappingConfigurationParser.ts similarity index 82% rename from src/nitro/communication/messages/parser/catalog/CatalogGiftConfigurationParser.ts rename to src/nitro/communication/messages/parser/catalog/GiftWrappingConfigurationParser.ts index fbaae143..7c618a0a 100644 --- a/src/nitro/communication/messages/parser/catalog/CatalogGiftConfigurationParser.ts +++ b/src/nitro/communication/messages/parser/catalog/GiftWrappingConfigurationParser.ts @@ -1,10 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { CatalogFrontPageItem } from './utils/CatalogFrontPageItem'; -import { CatalogLocalizationData } from './utils/CatalogLocalizationData'; -import { CatalogPageOfferData } from './utils/CatalogPageOfferData'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; -export class CatalogGiftConfigurationParser implements IMessageParser +export class GiftWrappingConfigurationParser implements IMessageParser { private _isEnabled: boolean = false; private _price: number = null; diff --git a/src/nitro/communication/messages/parser/catalog/HabboClubExtendOfferMessageParser.ts b/src/nitro/communication/messages/parser/catalog/HabboClubExtendOfferMessageParser.ts new file mode 100644 index 00000000..03fa8c33 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/HabboClubExtendOfferMessageParser.ts @@ -0,0 +1,28 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { ClubOfferExtendedData } from '../../incoming/catalog/ClubOfferExtendedData'; + +export class HabboClubExtendOfferMessageParser implements IMessageParser +{ + private _offer: ClubOfferExtendedData; + + public flush(): boolean + { + this._offer = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._offer = new ClubOfferExtendedData(wrapper); + + return true; + } + + public get offer(): ClubOfferExtendedData + { + return this._offer; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/HabboClubOffersMessageParser.ts b/src/nitro/communication/messages/parser/catalog/HabboClubOffersMessageParser.ts new file mode 100644 index 00000000..df5efda2 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/HabboClubOffersMessageParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { ClubOfferData } from '../../incoming/catalog/ClubOfferData'; + +export class HabboClubOffersMessageParser implements IMessageParser +{ + private _offers: ClubOfferData[]; + + public flush(): boolean + { + this._offers = []; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + let totalOffers = wrapper.readInt(); + + while(totalOffers > 0) + { + this._offers.push(new ClubOfferData(wrapper)); + + totalOffers--; + } + + return true; + } + + public get offers(): ClubOfferData[] + { + return this._offers; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/IsOfferGiftableMessageParser.ts b/src/nitro/communication/messages/parser/catalog/IsOfferGiftableMessageParser.ts new file mode 100644 index 00000000..68a90510 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/IsOfferGiftableMessageParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class IsOfferGiftableMessageParser implements IMessageParser +{ + private _offerId: number; + private _Str_21271: boolean; + + public flush(): boolean + { + this._offerId = 0; + this._Str_21271 = false; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._offerId = wrapper.readInt(); + this._Str_21271 = wrapper.readBoolean(); + + return true; + } + + public get offerId(): number + { + return this._offerId; + } + + public get _Str_18028(): boolean + { + return this._Str_21271; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/LimitedEditionSoldOutParser.ts b/src/nitro/communication/messages/parser/catalog/LimitedEditionSoldOutParser.ts new file mode 100644 index 00000000..42339760 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/LimitedEditionSoldOutParser.ts @@ -0,0 +1,16 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class LimitedEditionSoldOutParser implements IMessageParser +{ + public flush(): boolean + { + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + return true; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/LimitedOfferAppearingNextMessageParser.ts b/src/nitro/communication/messages/parser/catalog/LimitedOfferAppearingNextMessageParser.ts new file mode 100644 index 00000000..47fbf0b4 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/LimitedOfferAppearingNextMessageParser.ts @@ -0,0 +1,51 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class LimitedOfferAppearingNextMessageParser implements IMessageParser +{ + private _Str_6800: number; + private _pageId: number; + private _offerId: number; + private _productType: string; + + public flush(): boolean + { + this._Str_6800 = -1; + this._pageId = -1; + this._offerId = -1; + this._productType = ''; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._Str_6800 = wrapper.readInt(); + this._pageId = wrapper.readInt(); + this._offerId = wrapper.readInt(); + this._productType = wrapper.readString(); + + return true; + } + + public get _Str_23051(): number + { + return this._Str_6800; + } + + public get pageId(): number + { + return this._pageId; + } + + public get offerId(): number + { + return this._offerId; + } + + public get productType(): string + { + return this._productType; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/MarketplaceConfigParser.ts b/src/nitro/communication/messages/parser/catalog/MarketplaceConfigParser.ts deleted file mode 100644 index 1cef80d1..00000000 --- a/src/nitro/communication/messages/parser/catalog/MarketplaceConfigParser.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; - -export class MarketplaceConfigParser implements IMessageParser -{ - private _enabled:boolean; - private _commission:number; - private _credits:number; - private _advertisements:number; - private _maximumPrice:number; - private _minimumPrice:number; - private _offerTime:number; - private _displayTime:number; - - - public get enabled():boolean - { - return this._enabled; - } - - public get commission():number - { - return this._commission; - } - - public get credits():number - { - return this._credits; - } - - public get advertisements():number - { - return this._advertisements; - } - - public get minimumPrice():number - { - return this._minimumPrice; - } - - public get maximumPrice():number - { - return this._maximumPrice; - } - - public get offerTime():number - { - return this._offerTime; - } - - public get displayTime():number - { - return this._displayTime; - } - - public flush(): boolean - { - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._enabled = wrapper.readBoolean(); - this._commission = wrapper.readInt(); - this._credits = wrapper.readInt(); - this._advertisements = wrapper.readInt(); - this._minimumPrice = wrapper.readInt(); - this._maximumPrice = wrapper.readInt(); - this._offerTime = wrapper.readInt(); - this._displayTime = wrapper.readInt(); - - return true; - } - - -} diff --git a/src/nitro/communication/messages/parser/catalog/NotEnoughBalanceMessageParser.ts b/src/nitro/communication/messages/parser/catalog/NotEnoughBalanceMessageParser.ts new file mode 100644 index 00000000..af9764ad --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/NotEnoughBalanceMessageParser.ts @@ -0,0 +1,44 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class NotEnoughBalanceMessageParser implements IMessageParser +{ + private _Str_17433: boolean = false; + private _Str_19031: boolean = false; + private _activityPointType: number = 0; + + public flush(): boolean + { + this._Str_17433 = false; + this._Str_19031 = false; + this._activityPointType = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._Str_17433 = wrapper.readBoolean(); + this._Str_19031 = wrapper.readBoolean(); + + if(wrapper.bytesAvailable) this._activityPointType = wrapper.readInt(); + + return true; + } + + public get notEnoughCredits(): boolean + { + return this._Str_17433; + } + + public get _Str_24352(): boolean + { + return this._Str_19031; + } + + public get activityPointType(): number + { + return this._activityPointType; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/ProductOfferMessageParser.ts b/src/nitro/communication/messages/parser/catalog/ProductOfferMessageParser.ts new file mode 100644 index 00000000..d7bb9719 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/ProductOfferMessageParser.ts @@ -0,0 +1,28 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { CatalogPageMessageOfferData } from '../../incoming/catalog/CatalogPageMessageOfferData'; + +export class ProductOfferMessageParser implements IMessageParser +{ + private _offer: CatalogPageMessageOfferData; + + public flush(): boolean + { + this._offer = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._offer = new CatalogPageMessageOfferData(wrapper); + + return true; + } + + public get offer(): CatalogPageMessageOfferData + { + return this._offer; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogPurchaseFailedParser.ts b/src/nitro/communication/messages/parser/catalog/PurchaseErrorMessageParser.ts similarity index 57% rename from src/nitro/communication/messages/parser/catalog/CatalogPurchaseFailedParser.ts rename to src/nitro/communication/messages/parser/catalog/PurchaseErrorMessageParser.ts index e125b690..10796a3a 100644 --- a/src/nitro/communication/messages/parser/catalog/CatalogPurchaseFailedParser.ts +++ b/src/nitro/communication/messages/parser/catalog/PurchaseErrorMessageParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; -export class CatalogPurchaseFailedParser implements IMessageParser +export class PurchaseErrorMessageParser implements IMessageParser { private _code: number; @@ -25,4 +24,4 @@ export class CatalogPurchaseFailedParser implements IMessageParser { return this._code; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogPurchaseUnavailableParser.ts b/src/nitro/communication/messages/parser/catalog/PurchaseNotAllowedMessageParser.ts similarity index 57% rename from src/nitro/communication/messages/parser/catalog/CatalogPurchaseUnavailableParser.ts rename to src/nitro/communication/messages/parser/catalog/PurchaseNotAllowedMessageParser.ts index 89707f25..203fccf8 100644 --- a/src/nitro/communication/messages/parser/catalog/CatalogPurchaseUnavailableParser.ts +++ b/src/nitro/communication/messages/parser/catalog/PurchaseNotAllowedMessageParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; -export class CatalogPurchaseUnavailableParser implements IMessageParser +export class PurchaseNotAllowedMessageParser implements IMessageParser { private _code: number; @@ -25,4 +24,4 @@ export class CatalogPurchaseUnavailableParser implements IMessageParser { return this._code; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/catalog/PurchaseOKMessageParser.ts b/src/nitro/communication/messages/parser/catalog/PurchaseOKMessageParser.ts new file mode 100644 index 00000000..2455cfbe --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/PurchaseOKMessageParser.ts @@ -0,0 +1,28 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { PurchaseOKMessageOfferData } from '../../incoming/catalog/PurchaseOKMessageOfferData'; + +export class PurchaseOKMessageParser implements IMessageParser +{ + private _offer: PurchaseOKMessageOfferData; + + public flush(): boolean + { + this._offer = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._offer = new PurchaseOKMessageOfferData(wrapper); + + return true; + } + + public get offer(): PurchaseOKMessageOfferData + { + return this._offer; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/RoomAdPurchaseInfoEventParser.ts b/src/nitro/communication/messages/parser/catalog/RoomAdPurchaseInfoEventParser.ts new file mode 100644 index 00000000..5815520d --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/RoomAdPurchaseInfoEventParser.ts @@ -0,0 +1,44 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { RoomEntryData } from '../user'; + +export class RoomAdPurchaseInfoEventParser implements IMessageParser +{ + private _isVip: boolean; + private _rooms: RoomEntryData[]; + + public flush(): boolean + { + this._isVip = false; + this._rooms = []; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._isVip = wrapper.readBoolean(); + + let count = wrapper.readInt(); + + while(count > 0) + { + this._rooms.push(new RoomEntryData(wrapper.readInt(), wrapper.readString(), wrapper.readBoolean())); + + count--; + } + + return true; + } + + public get isVip(): boolean + { + return this._isVip; + } + + public get rooms(): RoomEntryData[] + { + return this._rooms; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/SeasonalCalendarDailyOfferMessageParser.ts b/src/nitro/communication/messages/parser/catalog/SeasonalCalendarDailyOfferMessageParser.ts new file mode 100644 index 00000000..a374d9fb --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/SeasonalCalendarDailyOfferMessageParser.ts @@ -0,0 +1,36 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { CatalogPageMessageOfferData } from '../../incoming'; + +export class SeasonalCalendarDailyOfferMessageParser implements IMessageParser +{ + private _pageId: number; + private _data: CatalogPageMessageOfferData; + + public flush(): boolean + { + this._pageId = -1; + this._data = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._pageId = wrapper.readInt(); + this._data = new CatalogPageMessageOfferData(wrapper); + + return true; + } + + public get pageId(): number + { + return this._pageId; + } + + public get data(): CatalogPageMessageOfferData + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/utils/SellablePetPaletteData.ts b/src/nitro/communication/messages/parser/catalog/SellablePetPaletteData.ts similarity index 92% rename from src/nitro/communication/messages/parser/catalog/utils/SellablePetPaletteData.ts rename to src/nitro/communication/messages/parser/catalog/SellablePetPaletteData.ts index b7d4dd1b..d87f02ea 100644 --- a/src/nitro/communication/messages/parser/catalog/utils/SellablePetPaletteData.ts +++ b/src/nitro/communication/messages/parser/catalog/SellablePetPaletteData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class SellablePetPaletteData { diff --git a/src/nitro/communication/messages/parser/catalog/CatalogPetBreedsParser.ts b/src/nitro/communication/messages/parser/catalog/SellablePetPalettesParser.ts similarity index 77% rename from src/nitro/communication/messages/parser/catalog/CatalogPetBreedsParser.ts rename to src/nitro/communication/messages/parser/catalog/SellablePetPalettesParser.ts index e72296be..36f47a60 100644 --- a/src/nitro/communication/messages/parser/catalog/CatalogPetBreedsParser.ts +++ b/src/nitro/communication/messages/parser/catalog/SellablePetPalettesParser.ts @@ -1,6 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { SellablePetPaletteData } from './utils'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { SellablePetPaletteData } from './SellablePetPaletteData'; export class SellablePetPalettesParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/catalog/TargetedOfferNotFoundParser.ts b/src/nitro/communication/messages/parser/catalog/TargetedOfferNotFoundParser.ts new file mode 100644 index 00000000..32a943bc --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/TargetedOfferNotFoundParser.ts @@ -0,0 +1,16 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class TargetedOfferNotFoundParser implements IMessageParser +{ + public flush(): boolean + { + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + return true; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/TargetedOfferParser.ts b/src/nitro/communication/messages/parser/catalog/TargetedOfferParser.ts new file mode 100644 index 00000000..ed73822a --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/TargetedOfferParser.ts @@ -0,0 +1,28 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { TargetedOfferData } from '../../incoming/catalog/TargetedOfferData'; + +export class TargetedOfferParser implements IMessageParser +{ + private _data: TargetedOfferData; + + public flush(): boolean + { + this._data = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._data = new TargetedOfferData(wrapper); + + return true; + } + + public get data(): TargetedOfferData + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/VoucherRedeemErrorMessageParser.ts b/src/nitro/communication/messages/parser/catalog/VoucherRedeemErrorMessageParser.ts new file mode 100644 index 00000000..39c32e52 --- /dev/null +++ b/src/nitro/communication/messages/parser/catalog/VoucherRedeemErrorMessageParser.ts @@ -0,0 +1,26 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class VoucherRedeemErrorMessageParser implements IMessageParser +{ + private _errorCode: string = ''; + + public flush(): boolean + { + this._errorCode = ''; + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._errorCode = wrapper.readString(); + + return true; + } + + public get errorCode(): string + { + return this._errorCode; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogRedeemVoucherOkParser.ts b/src/nitro/communication/messages/parser/catalog/VoucherRedeemOkMessageParser.ts similarity index 53% rename from src/nitro/communication/messages/parser/catalog/CatalogRedeemVoucherOkParser.ts rename to src/nitro/communication/messages/parser/catalog/VoucherRedeemOkMessageParser.ts index 5f28983a..bdf52080 100644 --- a/src/nitro/communication/messages/parser/catalog/CatalogRedeemVoucherOkParser.ts +++ b/src/nitro/communication/messages/parser/catalog/VoucherRedeemOkMessageParser.ts @@ -1,10 +1,9 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; -export class CatalogRedeemVoucherOkParser implements IMessageParser +export class VoucherRedeemOkMessageParser implements IMessageParser { - private _productName:string = ''; - private _productDescription:string = ''; + private _productName: string = ''; + private _productDescription: string = ''; public flush(): boolean { @@ -23,13 +22,13 @@ export class CatalogRedeemVoucherOkParser implements IMessageParser return true; } - public get productName():string + public get productName(): string { return this._productName; } - public get productDescription():string + public get productDescription(): string { return this._productDescription; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/catalog/index.ts b/src/nitro/communication/messages/parser/catalog/index.ts index 3a6bc3b4..5afbef31 100644 --- a/src/nitro/communication/messages/parser/catalog/index.ts +++ b/src/nitro/communication/messages/parser/catalog/index.ts @@ -1,23 +1,32 @@ export * from './BonusRareInfoMessageParser'; -export * from './CatalogApproveNameResultParser'; -export * from './CatalogClubParser'; -export * from './CatalogGiftConfigurationParser'; -export * from './CatalogGiftUsernameUnavailableParser'; -export * from './CatalogGroupsParser'; -export * from './CatalogModeParser'; -export * from './CatalogPageParser'; -export * from './CatalogPagesParser'; -export * from './CatalogPetBreedsParser'; -export * from './CatalogPurchaseFailedParser'; -export * from './CatalogPurchaseParser'; -export * from './CatalogPurchaseUnavailableParser'; -export * from './CatalogRedeemVoucherErrorParser'; -export * from './CatalogRedeemVoucherOkParser'; -export * from './CatalogSearchParser'; -export * from './CatalogSoldOutParser'; -export * from './CatalogUpdatedParser'; +export * from './BuildersClubFurniCountMessageParser'; +export * from './BuildersClubSubscriptionStatusMessageParser'; +export * from './BundleDiscountRulesetMessageParser'; +export * from './CatalogIndexMessageParser'; +export * from './CatalogPageExpirationParser'; +export * from './CatalogPageMessageParser'; +export * from './CatalogPageWithEarliestExpiryMessageParser'; +export * from './CatalogPublishedMessageParser'; export * from './ClubGiftInfoParser'; -export * from './marketplace'; -export * from './MarketplaceConfigParser'; -export * from './MarketplaceItemStatsParser'; -export * from './utils'; +export * from './ClubGiftSelectedParser'; +export * from './DirectSMSClubBuyAvailableMessageParser'; +export * from './GiftReceiverNotFoundParser'; +export * from './GiftWrappingConfigurationParser'; +export * from './HabboClubExtendOfferMessageParser'; +export * from './HabboClubOffersMessageParser'; +export * from './IsOfferGiftableMessageParser'; +export * from './LimitedEditionSoldOutParser'; +export * from './LimitedOfferAppearingNextMessageParser'; +export * from './NotEnoughBalanceMessageParser'; +export * from './ProductOfferMessageParser'; +export * from './PurchaseErrorMessageParser'; +export * from './PurchaseNotAllowedMessageParser'; +export * from './PurchaseOKMessageParser'; +export * from './RoomAdPurchaseInfoEventParser'; +export * from './SeasonalCalendarDailyOfferMessageParser'; +export * from './SellablePetPaletteData'; +export * from './SellablePetPalettesParser'; +export * from './TargetedOfferNotFoundParser'; +export * from './TargetedOfferParser'; +export * from './VoucherRedeemErrorMessageParser'; +export * from './VoucherRedeemOkMessageParser'; diff --git a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOfferData.ts b/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOfferData.ts deleted file mode 100644 index ee2b4d16..00000000 --- a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOfferData.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { IObjectData } from '../../../../../room/object/data/IObjectData'; - -export class MarketplaceOfferData -{ - public static TYPE_LANDSCAPE:number = 1; - public static TYPE_FLOOR:number = 2; - - private _offerId:number; - private _furniId:number; - private _furniType:number; - private _extraData:string; - private _stuffData:IObjectData; - private _price:number; - private _averagePrice:number; - private _imageCallback:number; - private _status:number; - private _timeLeftMinutes:number = -1; - private _offerCount:number; - private _image:string; - - constructor(offerId:number, furniId:number, furniType:number, extraData:string, stuffData:IObjectData, price:number, status:number, averagePrice:number, offerCount:number=-1) - { - this._offerId = offerId; - this._furniId = furniId; - this._furniType = furniType; - this._extraData = extraData; - this._stuffData = stuffData; - this._price = price; - this._status = status; - this._averagePrice = averagePrice; - this._offerCount = offerCount; - } - - public get offerId():number - { - return this._offerId; - } - - public set offerId(k:number) - { - this._offerId = k; - } - - public get furniId():number - { - return this._furniId; - } - - public get furniType():number - { - return this._furniType; - } - - public get extraData():string - { - return this._extraData; - } - - public get stuffData():IObjectData - { - return this._stuffData; - } - - public get price():number - { - return this._price; - } - - public set price(k:number) - { - this._price = k; - } - - public get averagePrice():number - { - return this._averagePrice; - } - - public get image():string - { - return this._image; - } - - public set image(k:string) - { - this._image = k; - } - - public set imageCallback(k:number) - { - this._imageCallback = k; - } - - public get imageCallback():number - { - return this._imageCallback; - } - - public get status():number - { - return this._status; - } - - public get timeLeftMinutes():number - { - return this._timeLeftMinutes; - } - - public set timeLeftMinutes(k:number) - { - this._timeLeftMinutes = k; - } - - public get offerCount():number - { - return this._offerCount; - } - - public set offerCount(k:number) - { - this._offerCount = k; - } - - public get isUniqueLimitedItem():boolean - { - return (!(this.stuffData == null)) && (this.stuffData.uniqueSeries > 0); - } -} diff --git a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOffersReceivedParser.ts b/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOffersReceivedParser.ts deleted file mode 100644 index 44395183..00000000 --- a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOffersReceivedParser.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; -import { IObjectData } from '../../../../../room/object/data/IObjectData'; -import { ObjectDataFactory } from '../../../../../room/object/data/ObjectDataFactory'; -import { LegacyDataType } from '../../../../../room/object/data/type/LegacyDataType'; -import { MarketplaceOffer } from './MarketplaceOffer'; - - -export class MarketplaceOffersReceivedParser implements IMessageParser -{ - - private static readonly FURNITYPE_STUFF = 1; - private static readonly FURNITYPE_WALL = 2; - private static readonly FAKE_FURNITYPE_UNIQUE = 3; - - private readonly MAX_LIST_LENGTH = 500; - - private _offers: MarketplaceOffer[]; - private _totalItemsFound: number; - - public flush(): boolean - { - this._offers = []; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._offers = []; - - const offerCount = wrapper.readInt(); - - for(let i = 0; i < offerCount; i++) - { - const offerId = wrapper.readInt(); - const local3 = wrapper.readInt(); - let itemId = wrapper.readInt(); - - let local5: number; - let local6: string; - let local7: IObjectData; - if(itemId === MarketplaceOffersReceivedParser.FURNITYPE_STUFF) - { - local5 = wrapper.readInt(); - local7 = this.getStuffData(wrapper); - } - else - { - if(itemId == MarketplaceOffersReceivedParser.FURNITYPE_WALL) - { - local5 = wrapper.readInt(); - local6 = wrapper.readString(); - } - else - { - if(itemId == MarketplaceOffersReceivedParser.FAKE_FURNITYPE_UNIQUE) - { - local5 = wrapper.readInt(); - local7 = ObjectDataFactory.getData(LegacyDataType.FORMAT_KEY); - local7.uniqueNumber = wrapper.readInt(); - local7.uniqueSeries = wrapper.readInt(); - itemId = MarketplaceOffersReceivedParser.FURNITYPE_STUFF; - } - } - } - - const local8 = wrapper.readInt(); - const local9 = wrapper.readInt(); - const local10 = wrapper.readInt(); - const local11 = wrapper.readInt(); - - const offerItem = new MarketplaceOffer(offerId, local5, itemId, local6, local7, local8, local3, local9, local10, local11); - if(i < this.MAX_LIST_LENGTH) - { - this._offers.push(offerItem); - } - } - - this._totalItemsFound = wrapper.readInt(); - return true; - } - - public get offers():MarketplaceOffer[] - { - return this._offers; - } - - public get totalItemsFound():number - { - return this._totalItemsFound; - } - - private getStuffData(wrapper: IMessageDataWrapper): IObjectData - { - const local2 = wrapper.readInt(); - const local3 = ObjectDataFactory.getData(local2); - local3.parseWrapper(wrapper); - return local3; - } -} diff --git a/src/nitro/communication/messages/parser/catalog/marketplace/index.ts b/src/nitro/communication/messages/parser/catalog/marketplace/index.ts deleted file mode 100644 index 333bba08..00000000 --- a/src/nitro/communication/messages/parser/catalog/marketplace/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './MarketplaceBuyOfferResultParser'; -export * from './MarketplaceCancelItemParser'; -export * from './MarketplaceOffer'; -export * from './MarketplaceOfferData'; -export * from './MarketplaceOffersReceivedParser'; -export * from './MarketplaceOwnItemsParser'; diff --git a/src/nitro/communication/messages/parser/catalog/utils/CatalogGroupData.ts b/src/nitro/communication/messages/parser/catalog/utils/CatalogGroupData.ts deleted file mode 100644 index db3839fd..00000000 --- a/src/nitro/communication/messages/parser/catalog/utils/CatalogGroupData.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; - -export class CatalogGroupData -{ - private _id: number; - private _title: string; - private _badge: string; - private _colorA: string; - private _colorB: string; - private _isOwner: boolean; - private _ownerId: number; - private _hasForum: boolean; - - constructor(wrapper: IMessageDataWrapper) - { - if(!wrapper) throw new Error('invalid_wrapper'); - - this.flush(); - this.parse(wrapper); - } - - public flush(): boolean - { - this._id = 0; - this._title = null; - this._badge = null; - this._colorA = null; - this._colorB = null; - this._isOwner = false; - this._ownerId = 0; - this._hasForum = false; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._id = wrapper.readInt(); - this._title = wrapper.readString(); - this._badge = wrapper.readString(); - this._colorA = wrapper.readString(); - this._colorB = wrapper.readString(); - this._isOwner = wrapper.readBoolean(); - this._ownerId = wrapper.readInt(); - this._hasForum = wrapper.readBoolean(); - - return true; - } - - public get id(): number - { - return this._id; - } - - public get title(): string - { - return this._title; - } - - public get badge(): string - { - return this._badge; - } - - public get colorA(): string - { - return this._colorA; - } - - public get colorB(): string - { - return this._colorB; - } - - public get isOwner(): boolean - { - return this._isOwner; - } - - public get ownerId(): number - { - return this._ownerId; - } - - public get hasForum(): boolean - { - return this._hasForum; - } -} diff --git a/src/nitro/communication/messages/parser/catalog/utils/CatalogSearchData.ts b/src/nitro/communication/messages/parser/catalog/utils/CatalogSearchData.ts deleted file mode 100644 index c5c424a0..00000000 --- a/src/nitro/communication/messages/parser/catalog/utils/CatalogSearchData.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { ICatalogPageData } from './ICatalogPageData'; - -export class CatalogSearchData implements ICatalogPageData -{ - private _children: ICatalogPageData[]; - constructor(pages: ICatalogPageData[]) - { - this._children = pages; - } - - public get children(): ICatalogPageData[] - { - return this._children; - } - - public get icon(): number - { - return -1; - } - - public get localization(): string - { - return ''; - } - - public get offerIds(): number[] - { - return []; - } - - public get pageId(): number - { - return -1; - } - - public get pageName(): string - { - return ''; - } - - public get visible(): boolean - { - return true; - } - -} diff --git a/src/nitro/communication/messages/parser/catalog/utils/ClubGiftData.ts b/src/nitro/communication/messages/parser/catalog/utils/ClubGiftData.ts deleted file mode 100644 index b2268ec2..00000000 --- a/src/nitro/communication/messages/parser/catalog/utils/ClubGiftData.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; - -export class ClubGiftData -{ - private _offerId:number; - private _isVip:boolean; - private _isSelectable:boolean; - private _daysRequired:number; - - constructor(wrapper: IMessageDataWrapper) - { - if(!wrapper) throw new Error('invalid_wrapper'); - - this.parse(wrapper); - } - - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._offerId = wrapper.readInt(); - this._isVip = wrapper.readBoolean(); - this._daysRequired = wrapper.readInt(); - this._isSelectable = wrapper.readBoolean(); - return true; - } - - public get offerId():number - { - return this._offerId; - } - - public get isVip():boolean - { - return this._isVip; - } - - public get isSelectable():boolean - { - return this._isSelectable; - } - - public get daysRequired():number - { - return this._daysRequired; - } -} diff --git a/src/nitro/communication/messages/parser/catalog/utils/ICatalogLocalizationData.ts b/src/nitro/communication/messages/parser/catalog/utils/ICatalogLocalizationData.ts deleted file mode 100644 index c199e565..00000000 --- a/src/nitro/communication/messages/parser/catalog/utils/ICatalogLocalizationData.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface ICatalogLocalizationData -{ - readonly images: string[]; - readonly texts: string[]; -} diff --git a/src/nitro/communication/messages/parser/catalog/utils/ICatalogPageData.ts b/src/nitro/communication/messages/parser/catalog/utils/ICatalogPageData.ts deleted file mode 100644 index 8da1f031..00000000 --- a/src/nitro/communication/messages/parser/catalog/utils/ICatalogPageData.ts +++ /dev/null @@ -1,10 +0,0 @@ -export interface ICatalogPageData -{ - visible: boolean; - icon: number; - pageId: number; - pageName: string; - localization: string; - children: ICatalogPageData[]; - offerIds: number[]; -} diff --git a/src/nitro/communication/messages/parser/catalog/utils/ICatalogPageParser.ts b/src/nitro/communication/messages/parser/catalog/utils/ICatalogPageParser.ts deleted file mode 100644 index 9c181c10..00000000 --- a/src/nitro/communication/messages/parser/catalog/utils/ICatalogPageParser.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { CatalogLocalizationData } from './CatalogLocalizationData'; -import { CatalogPageOfferData } from './CatalogPageOfferData'; -import { CatalogFrontPageItem } from './CatalogFrontPageItem'; -import { ICatalogLocalizationData } from './ICatalogLocalizationData'; - -export interface ICatalogPageParser -{ - readonly pageId: number; - readonly catalogType: string; - readonly layoutCode: string; - readonly localization: ICatalogLocalizationData; - readonly offers: CatalogPageOfferData[]; - readonly offerId: number; - readonly acceptSeasonCurrencyAsCredits: boolean; - readonly frontPageItems: CatalogFrontPageItem[]; - -} diff --git a/src/nitro/communication/messages/parser/catalog/utils/index.ts b/src/nitro/communication/messages/parser/catalog/utils/index.ts deleted file mode 100644 index ee6147c7..00000000 --- a/src/nitro/communication/messages/parser/catalog/utils/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export * from './CatalogClubOfferData'; -export * from './CatalogFrontPageItem'; -export * from './CatalogGroupData'; -export * from './CatalogLocalizationData'; -export * from './CatalogPageData'; -export * from './CatalogPageOfferData'; -export * from './CatalogProductOfferData'; -export * from './CatalogPurchaseData'; -export * from './CatalogSearchData'; -export * from './ClubGiftData'; -export * from './ICatalogLocalizationData'; -export * from './ICatalogPageData'; -export * from './ICatalogPageParser'; -export * from './SellablePetPaletteData'; diff --git a/src/nitro/communication/messages/parser/client/ClientPingParser.ts b/src/nitro/communication/messages/parser/client/ClientPingParser.ts index 743609f1..f8920c7c 100644 --- a/src/nitro/communication/messages/parser/client/ClientPingParser.ts +++ b/src/nitro/communication/messages/parser/client/ClientPingParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class ClientPingParser implements IMessageParser { @@ -14,4 +13,4 @@ export class ClientPingParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/competition/CompetitionEntrySubmitResultMessageParser.ts b/src/nitro/communication/messages/parser/competition/CompetitionEntrySubmitResultMessageParser.ts new file mode 100644 index 00000000..b050ff8f --- /dev/null +++ b/src/nitro/communication/messages/parser/competition/CompetitionEntrySubmitResultMessageParser.ts @@ -0,0 +1,83 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class CompetitionEntrySubmitResultMessageParser implements IMessageParser +{ + public static SUBMITTED: number = 0; + public static ASK_FOR_SUBMIT: number = 1; + public static ASK_FOR_CONFIRM: number = 2; + public static PREREQUISITES_NOT_MET: number = 3; + public static ROOM_DOOR_NOT_OPEN: number = 4; + public static ROOM_TOO_OLD: number = 5; + public static ASK_FOR_ACCEPT_RULES: number = 6; + + private _goalId: number; + private _goalCode: string; + private _result: number; + private _requiredFurnis: string[]; + private _missingFurnis: { [index: string]: string }; + + public flush(): boolean + { + this._goalId = 0; + this._goalCode = null; + this._result = 0; + this._requiredFurnis = null; + this._missingFurnis = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + this._goalId = wrapper.readInt(); + this._goalCode = wrapper.readString(); + this._result = wrapper.readInt(); + this._requiredFurnis = []; + + let count = wrapper.readInt(); + + while(count > 0) + { + this._requiredFurnis.push(wrapper.readString()); + + count--; + } + + + count = wrapper.readInt(); + + while(count > 0) + { + this._missingFurnis[wrapper.readString()] = ''; + + count--; + } + + return true; + } + + public get goalId(): number + { + return this._goalId; + } + + public get goalCode(): string + { + return this._goalCode; + } + + public get result(): number + { + return this._result; + } + + public get requiredFurnis(): string[] + { + return this._requiredFurnis; + } + + public isMissing(name: string): boolean + { + return !!this._missingFurnis[name]; + } +} diff --git a/src/nitro/communication/messages/parser/competition/CompetitionVotingInfoMessageParser.ts b/src/nitro/communication/messages/parser/competition/CompetitionVotingInfoMessageParser.ts new file mode 100644 index 00000000..0b4f710f --- /dev/null +++ b/src/nitro/communication/messages/parser/competition/CompetitionVotingInfoMessageParser.ts @@ -0,0 +1,55 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { CompetitionVotingInfoResult } from './CompetitionVotingInfoResult'; + +export class CompetitionVotingInfoMessageParser implements IMessageParser +{ + private _goalId: number; + private _goalCode: string; + private _resultCode: number; + private _votesRemaining: number; + + public flush(): boolean + { + this._goalId = 0; + this._goalCode = null; + this._resultCode = 0; + this._votesRemaining = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + this._goalId = wrapper.readInt(); + this._goalCode = wrapper.readString(); + this._resultCode = wrapper.readInt(); + this._votesRemaining = wrapper.readInt(); + + return true; + } + + public get goalId(): number + { + return this._goalId; + } + + public get goalCode(): string + { + return this._goalCode; + } + + public get isVotingAllowedForUser(): boolean + { + return (this._resultCode === CompetitionVotingInfoResult.ALLOWED); + } + + public get votesRemaining(): number + { + return this._votesRemaining; + } + + public get resultCode(): number + { + return this._resultCode; + } +} diff --git a/src/nitro/communication/messages/parser/competition/CompetitionVotingInfoResult.ts b/src/nitro/communication/messages/parser/competition/CompetitionVotingInfoResult.ts new file mode 100644 index 00000000..119f9b54 --- /dev/null +++ b/src/nitro/communication/messages/parser/competition/CompetitionVotingInfoResult.ts @@ -0,0 +1,6 @@ +export class CompetitionVotingInfoResult +{ + public static ALLOWED: number = 0; + public static REQUIRED_PERK_MISSING: number = 1; + public static REQUIRED_BADGE_MISSING: number = 2; +} diff --git a/src/nitro/communication/messages/parser/competition/CurrentTimingCodeMessageParser.ts b/src/nitro/communication/messages/parser/competition/CurrentTimingCodeMessageParser.ts new file mode 100644 index 00000000..67dcbc48 --- /dev/null +++ b/src/nitro/communication/messages/parser/competition/CurrentTimingCodeMessageParser.ts @@ -0,0 +1,33 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class CurrentTimingCodeMessageParser implements IMessageParser +{ + private _schedulingStr: string; + private _code: string; + + public flush(): boolean + { + this._schedulingStr = null; + this._code = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + this._schedulingStr = wrapper.readString(); + this._code = wrapper.readString(); + + return true; + } + + public get schedulingStr(): string + { + return this._schedulingStr; + } + + public get code(): string + { + return this._code; + } +} diff --git a/src/nitro/communication/messages/parser/competition/IsUserPartOfCompetitionMessageParser.ts b/src/nitro/communication/messages/parser/competition/IsUserPartOfCompetitionMessageParser.ts new file mode 100644 index 00000000..306082d0 --- /dev/null +++ b/src/nitro/communication/messages/parser/competition/IsUserPartOfCompetitionMessageParser.ts @@ -0,0 +1,33 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class IsUserPartOfCompetitionMessageParser implements IMessageParser +{ + private _Str_8579: boolean; + private _Str_6987: number; + + public flush(): boolean + { + this._Str_8579 = false; + this._Str_6987 = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + this._Str_8579 = wrapper.readBoolean(); + this._Str_6987 = wrapper.readInt(); + + return true; + } + + public get _Str_25348(): boolean + { + return this._Str_8579; + } + + public get _Str_10760(): number + { + return this._Str_6987; + } +} diff --git a/src/nitro/communication/messages/parser/competition/NoOwnedRoomsAlertMessageParser.ts b/src/nitro/communication/messages/parser/competition/NoOwnedRoomsAlertMessageParser.ts new file mode 100644 index 00000000..317a6367 --- /dev/null +++ b/src/nitro/communication/messages/parser/competition/NoOwnedRoomsAlertMessageParser.ts @@ -0,0 +1,14 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class NoOwnedRoomsAlertMessageParser implements IMessageParser +{ + public flush(): boolean + { + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + return true; + } +} diff --git a/src/nitro/communication/messages/parser/competition/SecondsUntilMessageParser.ts b/src/nitro/communication/messages/parser/competition/SecondsUntilMessageParser.ts new file mode 100644 index 00000000..ffaec3cd --- /dev/null +++ b/src/nitro/communication/messages/parser/competition/SecondsUntilMessageParser.ts @@ -0,0 +1,33 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class SecondsUntilMessageParser implements IMessageParser +{ + private _Str_8997: string; + private _Str_21095: number; + + public flush(): boolean + { + this._Str_8997 = null; + this._Str_21095 = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + this._Str_8997 = wrapper.readString(); + this._Str_21095 = wrapper.readInt(); + + return true; + } + + public get _Str_23288(): string + { + return this._Str_8997; + } + + public get _Str_25497(): number + { + return this._Str_21095; + } +} diff --git a/src/nitro/communication/messages/parser/competition/index.ts b/src/nitro/communication/messages/parser/competition/index.ts new file mode 100644 index 00000000..674fda0e --- /dev/null +++ b/src/nitro/communication/messages/parser/competition/index.ts @@ -0,0 +1,7 @@ +export * from './CompetitionEntrySubmitResultMessageParser'; +export * from './CompetitionVotingInfoMessageParser'; +export * from './CompetitionVotingInfoResult'; +export * from './CurrentTimingCodeMessageParser'; +export * from './IsUserPartOfCompetitionMessageParser'; +export * from './NoOwnedRoomsAlertMessageParser'; +export * from './SecondsUntilMessageParser'; diff --git a/src/nitro/communication/messages/parser/crafting/CraftableProductsMessageParser.ts b/src/nitro/communication/messages/parser/crafting/CraftableProductsMessageParser.ts index 437f15a0..9d9354b1 100644 --- a/src/nitro/communication/messages/parser/crafting/CraftableProductsMessageParser.ts +++ b/src/nitro/communication/messages/parser/crafting/CraftableProductsMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; import { CraftingResultObjectParser } from './CraftingResultObjectParser'; export class CraftableProductsMessageParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/crafting/CraftingRecipeIngredientParser.ts b/src/nitro/communication/messages/parser/crafting/CraftingRecipeIngredientParser.ts index 15d00ccf..10a13648 100644 --- a/src/nitro/communication/messages/parser/crafting/CraftingRecipeIngredientParser.ts +++ b/src/nitro/communication/messages/parser/crafting/CraftingRecipeIngredientParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class CraftingRecipeIngredientParser { diff --git a/src/nitro/communication/messages/parser/crafting/CraftingRecipeMessageParser.ts b/src/nitro/communication/messages/parser/crafting/CraftingRecipeMessageParser.ts index 88645661..0874b754 100644 --- a/src/nitro/communication/messages/parser/crafting/CraftingRecipeMessageParser.ts +++ b/src/nitro/communication/messages/parser/crafting/CraftingRecipeMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; import { CraftingRecipeIngredientParser } from './CraftingRecipeIngredientParser'; export class CraftingRecipeMessageParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/crafting/CraftingRecipesAvailableMessageParser.ts b/src/nitro/communication/messages/parser/crafting/CraftingRecipesAvailableMessageParser.ts index 065e300c..590026a8 100644 --- a/src/nitro/communication/messages/parser/crafting/CraftingRecipesAvailableMessageParser.ts +++ b/src/nitro/communication/messages/parser/crafting/CraftingRecipesAvailableMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class CraftingRecipesAvailableMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/crafting/CraftingResultMessageParser.ts b/src/nitro/communication/messages/parser/crafting/CraftingResultMessageParser.ts index 39f2845b..e8abe5e5 100644 --- a/src/nitro/communication/messages/parser/crafting/CraftingResultMessageParser.ts +++ b/src/nitro/communication/messages/parser/crafting/CraftingResultMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; import { CraftingResultObjectParser } from './CraftingResultObjectParser'; export class CraftingResultMessageParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/crafting/CraftingResultObjectParser.ts b/src/nitro/communication/messages/parser/crafting/CraftingResultObjectParser.ts index 41fd49ba..118c28b7 100644 --- a/src/nitro/communication/messages/parser/crafting/CraftingResultObjectParser.ts +++ b/src/nitro/communication/messages/parser/crafting/CraftingResultObjectParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class CraftingResultObjectParser { diff --git a/src/nitro/communication/messages/parser/desktop/DesktopViewParser.ts b/src/nitro/communication/messages/parser/desktop/DesktopViewParser.ts index f994c710..d30a511d 100644 --- a/src/nitro/communication/messages/parser/desktop/DesktopViewParser.ts +++ b/src/nitro/communication/messages/parser/desktop/DesktopViewParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class DesktopViewParser implements IMessageParser { @@ -14,4 +13,4 @@ export class DesktopViewParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/AcceptFriendResultParser.ts b/src/nitro/communication/messages/parser/friendlist/AcceptFriendResultParser.ts index ec15fb4a..30763b7c 100644 --- a/src/nitro/communication/messages/parser/friendlist/AcceptFriendResultParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/AcceptFriendResultParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { AcceptFriendFailerData } from '../../incoming/friendlist/AcceptFriendFailureData'; export class AcceptFriendResultParser implements IMessageParser @@ -33,4 +32,4 @@ export class AcceptFriendResultParser implements IMessageParser { return this._failuers; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/FindFriendsProcessResultParser.ts b/src/nitro/communication/messages/parser/friendlist/FindFriendsProcessResultParser.ts index ec25eee7..34093733 100644 --- a/src/nitro/communication/messages/parser/friendlist/FindFriendsProcessResultParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/FindFriendsProcessResultParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class FindFriendsProcessResultParser implements IMessageParser { @@ -25,4 +24,4 @@ export class FindFriendsProcessResultParser implements IMessageParser { return this._success; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/FollowFriendFailedParser.ts b/src/nitro/communication/messages/parser/friendlist/FollowFriendFailedParser.ts index 254838b0..b6ba356b 100644 --- a/src/nitro/communication/messages/parser/friendlist/FollowFriendFailedParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/FollowFriendFailedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class FollowFriendFailedParser implements IMessageParser { @@ -25,4 +24,4 @@ export class FollowFriendFailedParser implements IMessageParser { return this._errorCode; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/FriendListFragmentMessageParser.ts b/src/nitro/communication/messages/parser/friendlist/FriendListFragmentMessageParser.ts index 0efb5889..1997a972 100644 --- a/src/nitro/communication/messages/parser/friendlist/FriendListFragmentMessageParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/FriendListFragmentMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { FriendParser } from '../../incoming/friendlist/FriendParser'; export class FriendListFragmentParser implements IMessageParser @@ -50,4 +49,4 @@ export class FriendListFragmentParser implements IMessageParser { return this._fragment; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/FriendListUpdateParser.ts b/src/nitro/communication/messages/parser/friendlist/FriendListUpdateParser.ts index b15e0f5a..9666a683 100644 --- a/src/nitro/communication/messages/parser/friendlist/FriendListUpdateParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/FriendListUpdateParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { FriendCategoryData } from '../../incoming/friendlist/FriendCategoryData'; import { FriendParser } from '../../incoming/friendlist/FriendParser'; @@ -79,4 +78,4 @@ export class FriendListUpdateParser implements IMessageParser { return this._updatedFriends; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/FriendNotificationParser.ts b/src/nitro/communication/messages/parser/friendlist/FriendNotificationParser.ts index ec5a4899..fca63268 100644 --- a/src/nitro/communication/messages/parser/friendlist/FriendNotificationParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/FriendNotificationParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class FriendNotificationParser implements IMessageParser { @@ -41,4 +40,4 @@ export class FriendNotificationParser implements IMessageParser { return this._message; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/FriendRequestsParser.ts b/src/nitro/communication/messages/parser/friendlist/FriendRequestsParser.ts index e45fda29..5097f9f4 100644 --- a/src/nitro/communication/messages/parser/friendlist/FriendRequestsParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/FriendRequestsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { FriendRequestData } from '../../incoming/friendlist/FriendRequestData'; export class FriendRequestsParser implements IMessageParser @@ -42,4 +41,4 @@ export class FriendRequestsParser implements IMessageParser { return this._requests; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/HabboSearchResultParser.ts b/src/nitro/communication/messages/parser/friendlist/HabboSearchResultParser.ts index f832ed62..f2f0d876 100644 --- a/src/nitro/communication/messages/parser/friendlist/HabboSearchResultParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/HabboSearchResultParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { HabboSearchResultData } from '../../incoming/friendlist/HabboSearchResultData'; export class HabboSearchResultParser implements IMessageParser @@ -49,4 +48,4 @@ export class HabboSearchResultParser implements IMessageParser { return this._others; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/InstantMessageErrorParser.ts b/src/nitro/communication/messages/parser/friendlist/InstantMessageErrorParser.ts index b3593b3a..3b1e8ea2 100644 --- a/src/nitro/communication/messages/parser/friendlist/InstantMessageErrorParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/InstantMessageErrorParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class InstantMessageErrorParser implements IMessageParser { @@ -41,4 +40,4 @@ export class InstantMessageErrorParser implements IMessageParser { return this._message; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/MessageErrorParser.ts b/src/nitro/communication/messages/parser/friendlist/MessageErrorParser.ts index daa0204b..47104896 100644 --- a/src/nitro/communication/messages/parser/friendlist/MessageErrorParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/MessageErrorParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class MessageErrorParser implements IMessageParser { @@ -33,4 +32,4 @@ export class MessageErrorParser implements IMessageParser { return this._errorCode; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/MessengerInitParser.ts b/src/nitro/communication/messages/parser/friendlist/MessengerInitParser.ts index 0a85b0fc..6dfe5f6a 100644 --- a/src/nitro/communication/messages/parser/friendlist/MessengerInitParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/MessengerInitParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { FriendCategoryData } from '../../incoming/friendlist/FriendCategoryData'; export class MessengerInitParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/friendlist/MiniMailNewMessageParser.ts b/src/nitro/communication/messages/parser/friendlist/MiniMailNewMessageParser.ts index 26ce3edc..02f7a095 100644 --- a/src/nitro/communication/messages/parser/friendlist/MiniMailNewMessageParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/MiniMailNewMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class MiniMailNewMessageParser implements IMessageParser { @@ -14,4 +13,4 @@ export class MiniMailNewMessageParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/MiniMailUnreadCountParser.ts b/src/nitro/communication/messages/parser/friendlist/MiniMailUnreadCountParser.ts index d9204650..c0ab2121 100644 --- a/src/nitro/communication/messages/parser/friendlist/MiniMailUnreadCountParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/MiniMailUnreadCountParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class MiniMailUnreadCountParser implements IMessageParser { @@ -25,4 +24,4 @@ export class MiniMailUnreadCountParser implements IMessageParser { return this._count; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/NewConsoleMessageParser.ts b/src/nitro/communication/messages/parser/friendlist/NewConsoleMessageParser.ts index 1a284240..d6d9c161 100644 --- a/src/nitro/communication/messages/parser/friendlist/NewConsoleMessageParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/NewConsoleMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class NewConsoleMessageParser implements IMessageParser { @@ -53,4 +52,4 @@ export class NewConsoleMessageParser implements IMessageParser { return this._extraData; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/NewFriendRequestMessageParser.ts b/src/nitro/communication/messages/parser/friendlist/NewFriendRequestMessageParser.ts index 4824a8bb..9365771e 100644 --- a/src/nitro/communication/messages/parser/friendlist/NewFriendRequestMessageParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/NewFriendRequestMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { FriendRequestData } from '../../incoming/friendlist/FriendRequestData'; export class NewFriendRequestParser implements IMessageParser @@ -26,4 +25,4 @@ export class NewFriendRequestParser implements IMessageParser { return this._request; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/RoomInviteErrorParser.ts b/src/nitro/communication/messages/parser/friendlist/RoomInviteErrorParser.ts index ae93d188..d5502972 100644 --- a/src/nitro/communication/messages/parser/friendlist/RoomInviteErrorParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/RoomInviteErrorParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class RoomInviteErrorParser implements IMessageParser { @@ -41,4 +40,4 @@ export class RoomInviteErrorParser implements IMessageParser { return this._failedRecipients; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/friendlist/RoomInviteMessageParser.ts b/src/nitro/communication/messages/parser/friendlist/RoomInviteMessageParser.ts index 9c91a82a..ad944051 100644 --- a/src/nitro/communication/messages/parser/friendlist/RoomInviteMessageParser.ts +++ b/src/nitro/communication/messages/parser/friendlist/RoomInviteMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class RoomInviteParser implements IMessageParser { @@ -33,4 +32,4 @@ export class RoomInviteParser implements IMessageParser { return this._messageText; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/game/LoadGameUrlParser.ts b/src/nitro/communication/messages/parser/game/LoadGameUrlParser.ts index d8d8b1ef..6ba94f35 100644 --- a/src/nitro/communication/messages/parser/game/LoadGameUrlParser.ts +++ b/src/nitro/communication/messages/parser/game/LoadGameUrlParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class LoadGameUrlParser implements IMessageParser { @@ -41,4 +40,4 @@ export class LoadGameUrlParser implements IMessageParser { return this._gameClientId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/generic/GenericErrorParser.ts b/src/nitro/communication/messages/parser/generic/GenericErrorParser.ts index 2db53a35..5c6b4eb9 100644 --- a/src/nitro/communication/messages/parser/generic/GenericErrorParser.ts +++ b/src/nitro/communication/messages/parser/generic/GenericErrorParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class GenericErrorParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/group/GroupBadgePartsParser.ts b/src/nitro/communication/messages/parser/group/GroupBadgePartsParser.ts index 75c13ba8..8c051c9a 100644 --- a/src/nitro/communication/messages/parser/group/GroupBadgePartsParser.ts +++ b/src/nitro/communication/messages/parser/group/GroupBadgePartsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class GroupBadgePartsParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/group/GroupBadgesParser.ts b/src/nitro/communication/messages/parser/group/GroupBadgesParser.ts new file mode 100644 index 00000000..85789225 --- /dev/null +++ b/src/nitro/communication/messages/parser/group/GroupBadgesParser.ts @@ -0,0 +1,36 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GroupBadgesParser implements IMessageParser +{ + private _badges: Map; + + flush(): boolean + { + this._badges = new Map(); + + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + let badgesCount = wrapper.readInt(); + + while(badgesCount > 0) + { + const id = wrapper.readInt(); + const badge = wrapper.readString(); + + this._badges.set(id, badge); + badgesCount--; + } + + return true; + } + + public get badges(): Map + { + return this._badges; + } +} diff --git a/src/nitro/communication/messages/parser/group/GroupBuyDataParser.ts b/src/nitro/communication/messages/parser/group/GroupBuyDataParser.ts index ae7ef1de..fd17e5b9 100644 --- a/src/nitro/communication/messages/parser/group/GroupBuyDataParser.ts +++ b/src/nitro/communication/messages/parser/group/GroupBuyDataParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class GroupBuyDataParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/group/GroupConfirmMemberRemoveParser.ts b/src/nitro/communication/messages/parser/group/GroupConfirmMemberRemoveParser.ts index 510e3818..d97cb97f 100644 --- a/src/nitro/communication/messages/parser/group/GroupConfirmMemberRemoveParser.ts +++ b/src/nitro/communication/messages/parser/group/GroupConfirmMemberRemoveParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class GroupConfirmMemberRemoveParser implements IMessageParser { @@ -33,4 +32,4 @@ export class GroupConfirmMemberRemoveParser implements IMessageParser { return this._furnitureCount; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/group/GroupInformationParser.ts b/src/nitro/communication/messages/parser/group/GroupInformationParser.ts index e4573ab7..0100dcfa 100644 --- a/src/nitro/communication/messages/parser/group/GroupInformationParser.ts +++ b/src/nitro/communication/messages/parser/group/GroupInformationParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class GroupInformationParser implements IMessageParser { @@ -12,6 +11,7 @@ export class GroupInformationParser implements IMessageParser private _roomName: string; private _membershipType: number; private _membersCount: number; + private _isFavorite: boolean; private _createdAt: string; private _isOwner: boolean; private _isAdmin: boolean; @@ -30,7 +30,8 @@ export class GroupInformationParser implements IMessageParser this._roomId = 0; this._roomName = null; this._membershipType = 0; - this._membersCount = 0; + this._membersCount = 0; + this._isFavorite = false; this._createdAt = null; this._isOwner = false; this._isAdmin = false; @@ -56,7 +57,7 @@ export class GroupInformationParser implements IMessageParser this._roomName = wrapper.readString(); this._membershipType = wrapper.readInt(); this._membersCount = wrapper.readInt(); - wrapper.readBoolean(); + this._isFavorite = wrapper.readBoolean(); this._createdAt = wrapper.readString(); this._isOwner = wrapper.readBoolean(); this._isAdmin = wrapper.readBoolean(); @@ -113,6 +114,11 @@ export class GroupInformationParser implements IMessageParser return this._membersCount; } + public get isFavorite(): boolean + { + return this._isFavorite; + } + public get createdAt(): string { return this._createdAt; @@ -147,4 +153,4 @@ export class GroupInformationParser implements IMessageParser { return this._pendingRequestsCount; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/group/GroupMembersParser.ts b/src/nitro/communication/messages/parser/group/GroupMembersParser.ts index abdbdd3f..570b509a 100644 --- a/src/nitro/communication/messages/parser/group/GroupMembersParser.ts +++ b/src/nitro/communication/messages/parser/group/GroupMembersParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { GroupMemberParser } from './utils'; export class GroupMembersParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/group/GroupPurchasedParser.ts b/src/nitro/communication/messages/parser/group/GroupPurchasedParser.ts new file mode 100644 index 00000000..6696bd62 --- /dev/null +++ b/src/nitro/communication/messages/parser/group/GroupPurchasedParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GroupPurchasedParser implements IMessageParser +{ + private _roomId: number; + private _groupId: number; + + flush(): boolean + { + this._roomId = 0; + this._groupId = 0; + + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._roomId = wrapper.readInt(); + this._groupId = wrapper.readInt(); + + return true; + } + + public get roomId(): number + { + return this._roomId; + } + + public get guildId(): number + { + return this._groupId; + } +} diff --git a/src/nitro/communication/messages/parser/group/GroupSettingsParser.ts b/src/nitro/communication/messages/parser/group/GroupSettingsParser.ts index f55c41b6..291033fb 100644 --- a/src/nitro/communication/messages/parser/group/GroupSettingsParser.ts +++ b/src/nitro/communication/messages/parser/group/GroupSettingsParser.ts @@ -1,6 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { GroupBadgePart } from './utils/GroupBadgePart'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { GroupDataBadgePart } from './utils/GroupDataBadgePart'; export class GroupSettingsParser implements IMessageParser { @@ -13,7 +12,7 @@ export class GroupSettingsParser implements IMessageParser private _colorB: number; private _state: number; private _canMembersDecorate: boolean; - private _badgeParts: Map; + private _badgeParts: Map; private _badgeCode: string; private _membersCount: number; @@ -68,7 +67,7 @@ export class GroupSettingsParser implements IMessageParser for(let i = 0; i < badgePartsCount; i++) { - const part = new GroupBadgePart(i === 0); + const part = new GroupDataBadgePart(i === 0); part.key = wrapper.readInt(); part.color = wrapper.readInt(); @@ -133,7 +132,7 @@ export class GroupSettingsParser implements IMessageParser return this._canMembersDecorate; } - public get badgeParts(): Map + public get badgeParts(): Map { return this._badgeParts; } diff --git a/src/nitro/communication/messages/parser/group/index.ts b/src/nitro/communication/messages/parser/group/index.ts index 8532e9aa..1c04c870 100644 --- a/src/nitro/communication/messages/parser/group/index.ts +++ b/src/nitro/communication/messages/parser/group/index.ts @@ -1,7 +1,9 @@ export * from './GroupBadgePartsParser'; +export * from './GroupBadgesParser'; export * from './GroupBuyDataParser'; export * from './GroupConfirmMemberRemoveParser'; export * from './GroupInformationParser'; export * from './GroupMembersParser'; +export * from './GroupPurchasedParser'; export * from './GroupSettingsParser'; export * from './utils'; diff --git a/src/nitro/communication/messages/parser/group/utils/GroupBadgePart.ts b/src/nitro/communication/messages/parser/group/utils/GroupDataBadgePart.ts similarity index 94% rename from src/nitro/communication/messages/parser/group/utils/GroupBadgePart.ts rename to src/nitro/communication/messages/parser/group/utils/GroupDataBadgePart.ts index bc7010af..7ebdb588 100644 --- a/src/nitro/communication/messages/parser/group/utils/GroupBadgePart.ts +++ b/src/nitro/communication/messages/parser/group/utils/GroupDataBadgePart.ts @@ -1,4 +1,4 @@ -export class GroupBadgePart +export class GroupDataBadgePart { public isBase: boolean; public key: number; diff --git a/src/nitro/communication/messages/parser/group/utils/GroupDataParser.ts b/src/nitro/communication/messages/parser/group/utils/GroupDataParser.ts deleted file mode 100644 index 991ada1b..00000000 --- a/src/nitro/communication/messages/parser/group/utils/GroupDataParser.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; - -export class GroupDataParser -{ - private _id: number; - private _title: string; - private _badge: string; - private _colorA: string; - private _colorB: string; - private _ownerOrFavorite: boolean; - private _ownerId: number; - private _hasForum: boolean; - - constructor(wrapper: IMessageDataWrapper) - { - if(!wrapper) throw new Error('invalid_wrapper'); - - this.flush(); - this.parse(wrapper); - } - - public flush(): boolean - { - this._id = 0; - this._title = null; - this._badge = null; - this._colorA = null; - this._colorB = null; - this._ownerOrFavorite = null; - this._ownerId = 0; - this._hasForum = false; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._id = wrapper.readInt(); - this._title = wrapper.readString(); - this._badge = wrapper.readString(); - this._colorA = wrapper.readString(); - this._colorB = wrapper.readString(); - this._ownerOrFavorite = wrapper.readBoolean(); - this._ownerId = wrapper.readInt(); - this._hasForum = wrapper.readBoolean(); - - return true; - } - - public get id(): number - { - return this._id; - } - - public get title(): string - { - return this._title; - } - - public get badge(): string - { - return this._badge; - } - - public get colorA(): string - { - return this._colorA; - } - - public get colorB(): string - { - return this._colorB; - } - - public get ownerOrFavorite(): boolean - { - return this._ownerOrFavorite; - } - - public get ownerId(): number - { - return this._ownerId; - } - - public get hasForum(): boolean - { - return this._hasForum; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/parser/group/utils/GroupMemberParser.ts b/src/nitro/communication/messages/parser/group/utils/GroupMemberParser.ts index 05f7c85e..276eeb8c 100644 --- a/src/nitro/communication/messages/parser/group/utils/GroupMemberParser.ts +++ b/src/nitro/communication/messages/parser/group/utils/GroupMemberParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class GroupRank { diff --git a/src/nitro/communication/messages/parser/group/utils/index.ts b/src/nitro/communication/messages/parser/group/utils/index.ts index 7b7b9649..62a121bb 100644 --- a/src/nitro/communication/messages/parser/group/utils/index.ts +++ b/src/nitro/communication/messages/parser/group/utils/index.ts @@ -1,3 +1,2 @@ -export * from './GroupBadgePart'; -export * from './GroupDataParser'; +export * from './GroupDataBadgePart'; export * from './GroupMemberParser'; diff --git a/src/nitro/communication/messages/parser/help/CallForHelpDisabledNotifyMessageParser.ts b/src/nitro/communication/messages/parser/help/CallForHelpDisabledNotifyMessageParser.ts new file mode 100644 index 00000000..2b115b54 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/CallForHelpDisabledNotifyMessageParser.ts @@ -0,0 +1,25 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class CallForHelpDisabledNotifyMessageParser implements IMessageParser +{ + private _infoUrl: string; + + public flush(): boolean + { + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._infoUrl = wrapper.readString(); + + return true; + } + + public get infoUrl(): string + { + return this._infoUrl; + } +} diff --git a/src/nitro/communication/messages/parser/help/CallForHelpPendingCallsDeletedMessageParser.ts b/src/nitro/communication/messages/parser/help/CallForHelpPendingCallsDeletedMessageParser.ts new file mode 100644 index 00000000..37458cf6 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/CallForHelpPendingCallsDeletedMessageParser.ts @@ -0,0 +1,15 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class CallForHelpPendingCallsDeletedMessageParser implements IMessageParser +{ + flush(): boolean + { + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + return true; + } +} diff --git a/src/nitro/communication/messages/parser/help/CallForHelpPendingCallsMessageParser.ts b/src/nitro/communication/messages/parser/help/CallForHelpPendingCallsMessageParser.ts new file mode 100644 index 00000000..02ed3bbe --- /dev/null +++ b/src/nitro/communication/messages/parser/help/CallForHelpPendingCallsMessageParser.ts @@ -0,0 +1,47 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class CallForHelpPendingCallsMessageParser implements IMessageParser +{ + private _calls: ICall[]; + + flush(): boolean + { + this._calls = []; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._calls = []; + + const count = wrapper.readInt(); + + for(let i = 0; i < count; i++) + { + const callId = wrapper.readString(); + const timestamp = wrapper.readString(); + const message = wrapper.readString(); + + this._calls.push({ callId: callId, timeStamp: timestamp, message: message }); + } + return true; + } + + public get pendingCalls(): ICall[] + { + return this._calls; + } + + public get count(): number + { + return this._calls.length; + } +} + +export interface ICall +{ + callId: string; + timeStamp: string; + message: string; +} diff --git a/src/nitro/communication/messages/parser/help/CallForHelpReplyMessageParser.ts b/src/nitro/communication/messages/parser/help/CallForHelpReplyMessageParser.ts new file mode 100644 index 00000000..f91d3013 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/CallForHelpReplyMessageParser.ts @@ -0,0 +1,24 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class CallForHelpReplyMessageParser implements IMessageParser +{ + private _message: string; + + flush(): boolean + { + this._message = null; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._message = wrapper.readString(); + return true; + } + + public get message(): string + { + return this._message; + } +} diff --git a/src/nitro/communication/messages/parser/help/CallForHelpResultMessageParser.ts b/src/nitro/communication/messages/parser/help/CallForHelpResultMessageParser.ts index 98eee1d3..a1e34395 100644 --- a/src/nitro/communication/messages/parser/help/CallForHelpResultMessageParser.ts +++ b/src/nitro/communication/messages/parser/help/CallForHelpResultMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class CallForHelpResultMessageParser implements IMessageParser { @@ -33,4 +32,4 @@ export class CallForHelpResultMessageParser implements IMessageParser { return this._messageText; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/help/ChatReviewSessionDetachedMessageParser.ts b/src/nitro/communication/messages/parser/help/ChatReviewSessionDetachedMessageParser.ts new file mode 100644 index 00000000..074f36f2 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/ChatReviewSessionDetachedMessageParser.ts @@ -0,0 +1,16 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class ChatReviewSessionDetachedMessageParser implements IMessageParser +{ + flush(): boolean + { + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + return true; + } + +} diff --git a/src/nitro/communication/messages/parser/help/ChatReviewSessionOfferedToGuideMessageParser.ts b/src/nitro/communication/messages/parser/help/ChatReviewSessionOfferedToGuideMessageParser.ts new file mode 100644 index 00000000..be90de76 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/ChatReviewSessionOfferedToGuideMessageParser.ts @@ -0,0 +1,24 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class ChatReviewSessionOfferedToGuideMessageParser implements IMessageParser +{ + private _acceptanceTimeout: number; + + flush(): boolean + { + this._acceptanceTimeout = -1; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._acceptanceTimeout = wrapper.readInt(); + return true; + } + + public get acceptanceTimeout(): number + { + return this._acceptanceTimeout; + } +} diff --git a/src/nitro/communication/messages/parser/help/ChatReviewSessionResultsMessageParser.ts b/src/nitro/communication/messages/parser/help/ChatReviewSessionResultsMessageParser.ts new file mode 100644 index 00000000..19518b9f --- /dev/null +++ b/src/nitro/communication/messages/parser/help/ChatReviewSessionResultsMessageParser.ts @@ -0,0 +1,48 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class ChatReviewSessionResultsMessageParser implements IMessageParser +{ + private _winningVoteCode: number; + private _ownVoteCode: number; + private _finalStatus: number[]; + + flush(): boolean + { + this._winningVoteCode = -1; + this._ownVoteCode = -1; + this._finalStatus = null; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._finalStatus = []; + this._winningVoteCode = wrapper.readInt(); + this._ownVoteCode = wrapper.readInt(); + const count = wrapper.readInt(); + + for(let i = 0; i < count; i++) + { + this._finalStatus.push(wrapper.readInt()); + } + + return true; + } + + public get winningVoteCode(): number + { + return this._winningVoteCode; + } + + public get ownVoteCode(): number + { + return this._ownVoteCode; + } + + public get finalStatus(): number[] + { + return this._finalStatus; + } + +} diff --git a/src/nitro/communication/messages/parser/help/ChatReviewSessionStartedMessageParser.ts b/src/nitro/communication/messages/parser/help/ChatReviewSessionStartedMessageParser.ts new file mode 100644 index 00000000..ba7411d6 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/ChatReviewSessionStartedMessageParser.ts @@ -0,0 +1,30 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class ChatReviewSessionStartedMessageParser implements IMessageParser +{ + private _votingTimeout: number; + private _chatRecord: string; + + flush(): boolean + { + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._votingTimeout = wrapper.readInt(); + this._chatRecord = wrapper.readString(); + return true; + } + + public get votingTimeout(): number + { + return this._votingTimeout; + } + + public get chatRecord(): string + { + return this._chatRecord; + } +} diff --git a/src/nitro/communication/messages/parser/help/ChatReviewSessionVotingStatusMessageParser.ts b/src/nitro/communication/messages/parser/help/ChatReviewSessionVotingStatusMessageParser.ts new file mode 100644 index 00000000..e853d60e --- /dev/null +++ b/src/nitro/communication/messages/parser/help/ChatReviewSessionVotingStatusMessageParser.ts @@ -0,0 +1,39 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class ChatReviewSessionVotingStatusMessageParser implements IMessageParser +{ + public static readonly AWAITING_VOTE = 0; + public static readonly VOTED_OK = 1; + public static readonly VOTED_BAD = 2; + public static readonly VOTED_VERY_BAD = 3; + public static readonly NO_VOTE = 4; + public static readonly FINDING_NEW_VOTER = 5; + + private _status:number[]; + + flush(): boolean + { + this._status = null; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._status = []; + + const count = wrapper.readInt(); + + for(let i = 0; i < count; i++) + { + this._status.push(wrapper.readInt()); + } + + return true; + } + + public get status(): number[] + { + return this._status; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideOnDutyStatusMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideOnDutyStatusMessageParser.ts new file mode 100644 index 00000000..9419e309 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideOnDutyStatusMessageParser.ts @@ -0,0 +1,51 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideOnDutyStatusMessageParser implements IMessageParser +{ + private _onDuty: boolean; + private _guidesOnDuty: number; + private _helpersOnDuty: number; + private _guardiansOnDuty: number; + + public flush(): boolean + { + this._onDuty = false; + this._guidesOnDuty = 0; + this._helpersOnDuty = 0; + this._guardiansOnDuty = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._onDuty = wrapper.readBoolean(); + this._guidesOnDuty = wrapper.readInt(); + this._helpersOnDuty = wrapper.readInt(); + this._guardiansOnDuty = wrapper.readInt(); + + return true; + } + + public get onDuty(): boolean + { + return this._onDuty; + } + + public get guidesOnDuty(): number + { + return this._guidesOnDuty; + } + + public get helpersOnDuty(): number + { + return this._helpersOnDuty; + } + + public get guardiansOnDuty(): number + { + return this._guardiansOnDuty; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideReportingStatusMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideReportingStatusMessageParser.ts new file mode 100644 index 00000000..b0bcfaf1 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideReportingStatusMessageParser.ts @@ -0,0 +1,49 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { PendingGuideTicketData } from './common/PendingGuideTicketData'; + +export class GuideReportingStatusMessageParser implements IMessageParser +{ + public static readonly GUIDE_REPORTING_STATUS_OK: number = 0; + public static readonly GUIDE_REPORTING_STATUS_PENDING_TICKET: number = 1; + public static readonly GUIDE_REPORTING_STATUS_ABUSIVE: number = 2; + public static readonly GUIDE_REPORTING_STATUS_REPORTING_TOO_QUICKLY: number = 3; + + private _statusCode: number; + private _pendingTicket: PendingGuideTicketData; + + public flush(): boolean + { + this._statusCode = 0; + this._pendingTicket = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._statusCode = wrapper.readInt(); + this._pendingTicket = new PendingGuideTicketData( + wrapper.readInt(), + wrapper.readInt(), + wrapper.readBoolean(), + wrapper.readString(), + wrapper.readString(), + wrapper.readString(), + wrapper.readString() + ); + + return true; + } + + public get statusCode(): number + { + return this._statusCode; + } + + public get pendingTicket(): PendingGuideTicketData + { + return this._pendingTicket; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideSessionAttachedMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideSessionAttachedMessageParser.ts new file mode 100644 index 00000000..3ede6323 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideSessionAttachedMessageParser.ts @@ -0,0 +1,51 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideSessionAttachedMessageParser implements IMessageParser +{ + private _asGuide: boolean; + private _helpRequestType: number; + private _helpRequestDescription: string; + private _roleSpecificWaitTime: number; + + public flush(): boolean + { + this._asGuide = false; + this._helpRequestType = 0; + this._helpRequestDescription = null; + this._roleSpecificWaitTime = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._asGuide = wrapper.readBoolean(); + this._helpRequestType = wrapper.readInt(); + this._helpRequestDescription = wrapper.readString(); + this._roleSpecificWaitTime = wrapper.readInt(); + + return true; + } + + public get asGuide(): boolean + { + return this._asGuide; + } + + public get helpRequestType(): number + { + return this._helpRequestType; + } + + public get helpRequestDescription(): string + { + return this._helpRequestDescription; + } + + public get roleSpecificWaitTime(): number + { + return this._roleSpecificWaitTime; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideSessionDetachedMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideSessionDetachedMessageParser.ts new file mode 100644 index 00000000..72aed516 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideSessionDetachedMessageParser.ts @@ -0,0 +1,16 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideSessionDetachedMessageParser implements IMessageParser +{ + public flush(): boolean + { + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + return true; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideSessionEndedMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideSessionEndedMessageParser.ts new file mode 100644 index 00000000..23f323c2 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideSessionEndedMessageParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideSessionEndedMessageParser implements IMessageParser +{ + private _endReason: number; + + public flush(): boolean + { + this._endReason = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._endReason = wrapper.readInt(); + + return true; + } + + public get endReason(): number + { + return this._endReason; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideSessionErrorMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideSessionErrorMessageParser.ts new file mode 100644 index 00000000..1ac5c96f --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideSessionErrorMessageParser.ts @@ -0,0 +1,33 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideSessionErrorMessageParser implements IMessageParser +{ + public static readonly ERROR_GENERIC: number = 0; + public static readonly ERROR_GUIDES_REJECT: number = 1; + public static readonly ERROR_NOT_ENOUGH_GUIDES: number = 2; + public static readonly ERROR_NOT_ENOUGH_VOTES: number = 3; + public static readonly ERROR_NO_CHATLOG_FOUND: number = 4; + + private _errorCode: number; + + public flush(): boolean + { + this._errorCode = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._errorCode = wrapper.readInt(); + + return true; + } + + public get errorCode(): number + { + return this._errorCode; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideSessionInvitedToGuideRoomMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideSessionInvitedToGuideRoomMessageParser.ts new file mode 100644 index 00000000..e87a7793 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideSessionInvitedToGuideRoomMessageParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideSessionInvitedToGuideRoomMessageParser implements IMessageParser +{ + private _roomId: number; + private _roomName: string; + + public flush(): boolean + { + this._roomId = 0; + this._roomName = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._roomId = wrapper.readInt(); + this._roomName = wrapper.readString(); + + return true; + } + + public get roomId(): number + { + return this._roomId; + } + + public get roomName(): string + { + return this._roomName; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideSessionMessageMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideSessionMessageMessageParser.ts new file mode 100644 index 00000000..333aada8 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideSessionMessageMessageParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideSessionMessageMessageParser implements IMessageParser +{ + private _chatMessage: string; + private _senderId: number; + + public flush(): boolean + { + this._chatMessage = null; + this._senderId = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._chatMessage = wrapper.readString(); + this._senderId = wrapper.readInt(); + + return true; + } + + public get chatMessage(): string + { + return this._chatMessage; + } + + public get senderId(): number + { + return this._senderId; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideSessionPartnerIsTypingMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideSessionPartnerIsTypingMessageParser.ts new file mode 100644 index 00000000..4d617a11 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideSessionPartnerIsTypingMessageParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideSessionPartnerIsTypingMessageParser implements IMessageParser +{ + private _isTyping: boolean; + + public flush(): boolean + { + this._isTyping = false; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._isTyping = wrapper.readBoolean(); + + return true; + } + + public get isTyping(): boolean + { + return this._isTyping; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideSessionRequesterRoomMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideSessionRequesterRoomMessageParser.ts new file mode 100644 index 00000000..97203dc2 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideSessionRequesterRoomMessageParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideSessionRequesterRoomMessageParser implements IMessageParser +{ + private _requesterRoomId: number; + + public flush(): boolean + { + this._requesterRoomId = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._requesterRoomId = wrapper.readInt(); + + return true; + } + + public get requesterRoomId(): number + { + return this._requesterRoomId; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideSessionStartedMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideSessionStartedMessageParser.ts new file mode 100644 index 00000000..0410f692 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideSessionStartedMessageParser.ts @@ -0,0 +1,67 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideSessionStartedMessageParser implements IMessageParser +{ + private _requesterUserId: number; + private _requesterName: string; + private _requesterFigure: string; + private _guideUserId: number; + private _guideName: string; + private _guideFigure: string; + + public flush(): boolean + { + this._requesterUserId = 0; + this._requesterName = null; + this._requesterFigure = null; + this._guideUserId = 0; + this._guideName = null; + this._guideFigure = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._requesterUserId = wrapper.readInt(); + this._requesterName = wrapper.readString(); + this._requesterFigure = wrapper.readString(); + this._guideUserId = wrapper.readInt(); + this._guideName = wrapper.readString(); + this._guideFigure = wrapper.readString(); + + return true; + } + + public get requesterUserId(): number + { + return this._requesterUserId; + } + + public get requesterName(): string + { + return this._requesterName; + } + + public get requesterFigure(): string + { + return this._requesterFigure; + } + + public get guideUserId(): number + { + return this._guideUserId; + } + + public get guideName(): string + { + return this._guideName; + } + + public get guideFigure(): string + { + return this._guideFigure; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideTicketCreationResultMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideTicketCreationResultMessageParser.ts new file mode 100644 index 00000000..8ad0dee8 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideTicketCreationResultMessageParser.ts @@ -0,0 +1,32 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideTicketCreationResultMessageParser implements IMessageParser +{ + public static readonly CREATION_RESULT_OK: number = 0; + public static readonly CREATION_RESULT_UNABLE_TO_REPORT: number = 1; + public static readonly CREATION_RESULT_NO_CHATLOG_FOUND: number = 2; + public static readonly CREATION_RESULT_BULLY_ALREADY_REPORTED: number = 3; + + private _result: number; + + public flush(): boolean + { + this._result = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._result = wrapper.readInt(); + + return true; + } + + public get result(): number + { + return this._result; + } +} diff --git a/src/nitro/communication/messages/parser/help/GuideTicketResolutionMessageParser.ts b/src/nitro/communication/messages/parser/help/GuideTicketResolutionMessageParser.ts new file mode 100644 index 00000000..e0b39c13 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/GuideTicketResolutionMessageParser.ts @@ -0,0 +1,31 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class GuideTicketResolutionMessageParser implements IMessageParser +{ + public static readonly RESOLUTION_GUARDIANS_TOOK_ACTION: number = 0; + public static readonly RESOLUTION_FORWARDED_TO_MODERATORS: number = 1; + public static readonly RESOLUTION_REPORTER_IS_ABUSIVE: number = 2; + + private _resolution: number; + + public flush(): boolean + { + this._resolution = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._resolution = wrapper.readInt(); + + return true; + } + + public get resolution(): number + { + return this._resolution; + } +} diff --git a/src/nitro/communication/messages/parser/help/HotelMergeNameChangeParser.ts b/src/nitro/communication/messages/parser/help/HotelMergeNameChangeParser.ts new file mode 100644 index 00000000..0d19d660 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/HotelMergeNameChangeParser.ts @@ -0,0 +1,16 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class HotelMergeNameChangeParser implements IMessageParser +{ + public flush(): boolean + { + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + return true; + } +} diff --git a/src/nitro/communication/messages/parser/help/IssueCloseNotificationMessageParser.ts b/src/nitro/communication/messages/parser/help/IssueCloseNotificationMessageParser.ts new file mode 100644 index 00000000..1053148c --- /dev/null +++ b/src/nitro/communication/messages/parser/help/IssueCloseNotificationMessageParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class IssueCloseNotificationMessageParser implements IMessageParser +{ + private _closeReason: number; + + public flush(): boolean + { + this._closeReason = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._closeReason = wrapper.readInt(); + + return true; + } + + public get closeReason(): number + { + return this._closeReason; + } +} diff --git a/src/nitro/communication/messages/parser/help/QuizDataMessageParser.ts b/src/nitro/communication/messages/parser/help/QuizDataMessageParser.ts new file mode 100644 index 00000000..3f928b39 --- /dev/null +++ b/src/nitro/communication/messages/parser/help/QuizDataMessageParser.ts @@ -0,0 +1,40 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class QuizDataMessageParser implements IMessageParser +{ + private _quizCode: string; + private _questionIds: number[]; + + public flush(): boolean + { + this._quizCode = null; + this._questionIds = []; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._quizCode = wrapper.readString(); + + const size = wrapper.readInt(); + + this._questionIds = []; + + for(let i = 0; i < size; i++) this._questionIds.push(wrapper.readInt()); + + return true; + } + + public get quizCode(): string + { + return this._quizCode; + } + + public get questionIds(): number[] + { + return this._questionIds; + } +} diff --git a/src/nitro/communication/messages/parser/help/QuizResultsMessageParser.ts b/src/nitro/communication/messages/parser/help/QuizResultsMessageParser.ts new file mode 100644 index 00000000..4f12f63a --- /dev/null +++ b/src/nitro/communication/messages/parser/help/QuizResultsMessageParser.ts @@ -0,0 +1,40 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class QuizResultsMessageParser implements IMessageParser +{ + private _quizCode: string; + private _questionIdsForWrongAnswers: number[]; + + public flush(): boolean + { + this._quizCode = null; + this._questionIdsForWrongAnswers = []; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._quizCode = wrapper.readString(); + + const size = wrapper.readInt(); + + this._questionIdsForWrongAnswers = []; + + for(let i = 0; i < size; i++) this._questionIdsForWrongAnswers.push(wrapper.readInt()); + + return true; + } + + public get quizCode(): string + { + return this._quizCode; + } + + public get questionIdsForWrongAnswers(): number[] + { + return this._questionIdsForWrongAnswers; + } +} diff --git a/src/nitro/communication/messages/parser/help/common/PendingGuideTicketData.ts b/src/nitro/communication/messages/parser/help/common/PendingGuideTicketData.ts new file mode 100644 index 00000000..fa592e8f --- /dev/null +++ b/src/nitro/communication/messages/parser/help/common/PendingGuideTicketData.ts @@ -0,0 +1,91 @@ +export class PendingGuideTicketData +{ + private _type: number; + private _secondsAgo: number; + private _isGuide: boolean; + private _otherPartyName: string; + private _otherPartyFigure: string; + private _description: string; + private _roomName: string; + + constructor(type: number, secondsAgo: number, isGuide: boolean, otherPartyName: string, otherPartyFigure: string, description: string, roomName: string) + { + this._type = type; + this._secondsAgo = secondsAgo; + this._isGuide = isGuide; + this._otherPartyName = otherPartyName; + this._otherPartyFigure = otherPartyFigure; + this._description = description; + this._roomName = roomName; + } + + public get type(): number + { + return this._type; + } + + public set type(value: number) + { + this._type = value; + } + + public get secondsAgo(): number + { + return this._secondsAgo; + } + + public set secondsAgo(value: number) + { + this._secondsAgo = value; + } + + public get isGuide(): boolean + { + return this._isGuide; + } + + public set isGuide(value: boolean) + { + this._isGuide = value; + } + + public get otherPartyName(): string + { + return this._otherPartyName; + } + + public set otherPartyName(value: string) + { + this._otherPartyName = value; + } + + public get otherPartyFigure(): string + { + return this._otherPartyFigure; + } + + public set otherPartyFigure(value: string) + { + this._otherPartyFigure = value; + } + + public get description(): string + { + return this._description; + } + + public set description(value: string) + { + this._description = value; + } + + public get roomName(): string + { + return this._roomName; + } + + public set roomName(value: string) + { + this._roomName = value; + } +} diff --git a/src/nitro/communication/messages/parser/help/index.ts b/src/nitro/communication/messages/parser/help/index.ts index d09023ae..114865fa 100644 --- a/src/nitro/communication/messages/parser/help/index.ts +++ b/src/nitro/communication/messages/parser/help/index.ts @@ -1 +1,27 @@ +export * from './CallForHelpDisabledNotifyMessageParser'; +export * from './CallForHelpPendingCallsDeletedMessageParser'; +export * from './CallForHelpPendingCallsMessageParser'; +export * from './CallForHelpReplyMessageParser'; export * from './CallForHelpResultMessageParser'; +export * from './ChatReviewSessionDetachedMessageParser'; +export * from './ChatReviewSessionOfferedToGuideMessageParser'; +export * from './ChatReviewSessionResultsMessageParser'; +export * from './ChatReviewSessionStartedMessageParser'; +export * from './ChatReviewSessionVotingStatusMessageParser'; +export * from './GuideOnDutyStatusMessageParser'; +export * from './GuideReportingStatusMessageParser'; +export * from './GuideSessionAttachedMessageParser'; +export * from './GuideSessionDetachedMessageParser'; +export * from './GuideSessionEndedMessageParser'; +export * from './GuideSessionErrorMessageParser'; +export * from './GuideSessionInvitedToGuideRoomMessageParser'; +export * from './GuideSessionMessageMessageParser'; +export * from './GuideSessionPartnerIsTypingMessageParser'; +export * from './GuideSessionRequesterRoomMessageParser'; +export * from './GuideSessionStartedMessageParser'; +export * from './GuideTicketCreationResultMessageParser'; +export * from './GuideTicketResolutionMessageParser'; +export * from './HotelMergeNameChangeParser'; +export * from './IssueCloseNotificationMessageParser'; +export * from './QuizDataMessageParser'; +export * from './QuizResultsMessageParser'; diff --git a/src/nitro/communication/messages/parser/index.ts b/src/nitro/communication/messages/parser/index.ts index f9898c17..323d9c5e 100644 --- a/src/nitro/communication/messages/parser/index.ts +++ b/src/nitro/communication/messages/parser/index.ts @@ -1,8 +1,13 @@ +export * from './advertisement'; export * from './availability'; export * from './avatar'; +export * from './bots'; +export * from './callforhelp'; export * from './camera'; +export * from './campaign'; export * from './catalog'; export * from './client'; +export * from './competition'; export * from './desktop'; export * from './friendlist'; export * from './game'; @@ -11,13 +16,17 @@ export * from './group'; export * from './help'; export * from './inventory'; export * from './landingview'; +export * from './marketplace'; export * from './moderation'; -export * from './modtool'; export * from './mysterybox'; export * from './navigator'; export * from './notifications'; +export * from './perk'; +export * from './poll'; export * from './quest'; export * from './room'; export * from './roomevents'; export * from './security'; +export * from './sound'; +export * from './talent'; export * from './user'; diff --git a/src/nitro/communication/messages/parser/inventory/achievements/AchievementParser.ts b/src/nitro/communication/messages/parser/inventory/achievements/AchievementParser.ts index 3a67b502..8e89ca27 100644 --- a/src/nitro/communication/messages/parser/inventory/achievements/AchievementParser.ts +++ b/src/nitro/communication/messages/parser/inventory/achievements/AchievementParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { AchievementData } from '../../../incoming/inventory/achievements/AchievementData'; export class AchievementParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/inventory/achievements/AchievementsParser.ts b/src/nitro/communication/messages/parser/inventory/achievements/AchievementsParser.ts index cbab053a..a8c7151b 100644 --- a/src/nitro/communication/messages/parser/inventory/achievements/AchievementsParser.ts +++ b/src/nitro/communication/messages/parser/inventory/achievements/AchievementsParser.ts @@ -1,6 +1,5 @@  -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { AchievementData } from '../../../incoming/inventory/achievements/AchievementData'; export class AchievementsParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/inventory/achievements/AchievementsScoreParser.ts b/src/nitro/communication/messages/parser/inventory/achievements/AchievementsScoreParser.ts index b816c4c5..2d378f28 100644 --- a/src/nitro/communication/messages/parser/inventory/achievements/AchievementsScoreParser.ts +++ b/src/nitro/communication/messages/parser/inventory/achievements/AchievementsScoreParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class AchievementsScoreParser implements IMessageParser { @@ -25,4 +24,4 @@ export class AchievementsScoreParser implements IMessageParser { return this._score; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectActivatedParser.ts b/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectActivatedParser.ts index edd61712..efd3f5aa 100644 --- a/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectActivatedParser.ts +++ b/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectActivatedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class AvatarEffectActivatedParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectAddedParser.ts b/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectAddedParser.ts index 9271ae99..26b498ae 100644 --- a/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectAddedParser.ts +++ b/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectAddedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class AvatarEffectAddedParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectExpiredParser.ts b/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectExpiredParser.ts index 0319d0f3..36886d3b 100644 --- a/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectExpiredParser.ts +++ b/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectExpiredParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class AvatarEffectExpiredParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectSelectedParser.ts b/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectSelectedParser.ts index afa0067d..ddc0cd77 100644 --- a/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectSelectedParser.ts +++ b/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectSelectedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class AvatarEffectSelectedParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectsParser.ts b/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectsParser.ts index 6615e3bd..8161a934 100644 --- a/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectsParser.ts +++ b/src/nitro/communication/messages/parser/inventory/avatareffect/AvatarEffectsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { AvatarEffect } from '../../../incoming/inventory/avatareffect/AvatarEffect'; export class AvatarEffectsParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/inventory/badges/BadgeAndPointLimit.ts b/src/nitro/communication/messages/parser/inventory/badges/BadgeAndPointLimit.ts index a53a898a..1b0300a2 100644 --- a/src/nitro/communication/messages/parser/inventory/badges/BadgeAndPointLimit.ts +++ b/src/nitro/communication/messages/parser/inventory/badges/BadgeAndPointLimit.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class BadgeAndPointLimit { diff --git a/src/nitro/communication/messages/parser/inventory/badges/BadgePointLimitsParser.ts b/src/nitro/communication/messages/parser/inventory/badges/BadgePointLimitsParser.ts index 7f8bcada..0ccd9eff 100644 --- a/src/nitro/communication/messages/parser/inventory/badges/BadgePointLimitsParser.ts +++ b/src/nitro/communication/messages/parser/inventory/badges/BadgePointLimitsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { BadgeAndPointLimit } from './BadgeAndPointLimit'; export class BadgePointLimitsParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/inventory/badges/BadgeReceivedParser.ts b/src/nitro/communication/messages/parser/inventory/badges/BadgeReceivedParser.ts index 7bb5331c..6c726548 100644 --- a/src/nitro/communication/messages/parser/inventory/badges/BadgeReceivedParser.ts +++ b/src/nitro/communication/messages/parser/inventory/badges/BadgeReceivedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class BadgeReceivedParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/badges/BadgesParser.ts b/src/nitro/communication/messages/parser/inventory/badges/BadgesParser.ts index 5361cc09..f24420e4 100644 --- a/src/nitro/communication/messages/parser/inventory/badges/BadgesParser.ts +++ b/src/nitro/communication/messages/parser/inventory/badges/BadgesParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { AdvancedMap } from '../../../../../../core/utils/AdvancedMap'; export class BadgesParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/inventory/badges/IsBadgeRequestFulfilledParser.ts b/src/nitro/communication/messages/parser/inventory/badges/IsBadgeRequestFulfilledParser.ts index 47cd1c45..dba8988d 100644 --- a/src/nitro/communication/messages/parser/inventory/badges/IsBadgeRequestFulfilledParser.ts +++ b/src/nitro/communication/messages/parser/inventory/badges/IsBadgeRequestFulfilledParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class IsBadgeRequestFulfilledParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/clothing/FigureSetIdsMessageParser.ts b/src/nitro/communication/messages/parser/inventory/clothing/FigureSetIdsMessageParser.ts index 8040823d..60b3d9ab 100644 --- a/src/nitro/communication/messages/parser/inventory/clothing/FigureSetIdsMessageParser.ts +++ b/src/nitro/communication/messages/parser/inventory/clothing/FigureSetIdsMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class FigureSetIdsMessageParser implements IMessageParser { @@ -48,4 +47,4 @@ export class FigureSetIdsMessageParser implements IMessageParser { return this._boundFurnitureNames; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/clothing/_Str_8728.ts b/src/nitro/communication/messages/parser/inventory/clothing/_Str_8728.ts index bc668240..f3d5a41f 100644 --- a/src/nitro/communication/messages/parser/inventory/clothing/_Str_8728.ts +++ b/src/nitro/communication/messages/parser/inventory/clothing/_Str_8728.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class _Str_8728 implements IMessageParser { @@ -25,4 +24,4 @@ export class _Str_8728 implements IMessageParser { return this._itemId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/clothing/_Str_9021.ts b/src/nitro/communication/messages/parser/inventory/clothing/_Str_9021.ts index 555769dc..119c59fe 100644 --- a/src/nitro/communication/messages/parser/inventory/clothing/_Str_9021.ts +++ b/src/nitro/communication/messages/parser/inventory/clothing/_Str_9021.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class _Str_9021 implements IMessageParser { @@ -25,4 +24,4 @@ export class _Str_9021 implements IMessageParser { return this._itemId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListAddOrUpdateParser.ts b/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListAddOrUpdateParser.ts index 5eaadf51..e956450a 100644 --- a/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListAddOrUpdateParser.ts +++ b/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListAddOrUpdateParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { FurnitureListItemParser } from './utils/FurnitureListItemParser'; export class FurnitureListAddOrUpdateParser implements IMessageParser @@ -26,4 +25,4 @@ export class FurnitureListAddOrUpdateParser implements IMessageParser { return this._items; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListInvalidateParser.ts b/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListInvalidateParser.ts index d611a3a6..4731124a 100644 --- a/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListInvalidateParser.ts +++ b/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListInvalidateParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class FurnitureListInvalidateParser implements IMessageParser { @@ -14,4 +13,4 @@ export class FurnitureListInvalidateParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListParser.ts b/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListParser.ts index edd386ee..0464dee0 100644 --- a/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListParser.ts +++ b/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { FurnitureListItemParser } from './utils/FurnitureListItemParser'; export class FurnitureListParser implements IMessageParser @@ -52,4 +51,4 @@ export class FurnitureListParser implements IMessageParser { return this._fragment; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListRemovedParser.ts b/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListRemovedParser.ts index 3cb66b8e..ee0e1303 100644 --- a/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListRemovedParser.ts +++ b/src/nitro/communication/messages/parser/inventory/furniture/FurnitureListRemovedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class FurnitureListRemovedParser implements IMessageParser { @@ -25,4 +24,4 @@ export class FurnitureListRemovedParser implements IMessageParser { return this._itemId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/furniture/FurniturePostItPlacedParser.ts b/src/nitro/communication/messages/parser/inventory/furniture/FurniturePostItPlacedParser.ts index 78ea8ac0..730360c7 100644 --- a/src/nitro/communication/messages/parser/inventory/furniture/FurniturePostItPlacedParser.ts +++ b/src/nitro/communication/messages/parser/inventory/furniture/FurniturePostItPlacedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class FurniturePostItPlacedParser implements IMessageParser { @@ -33,4 +32,4 @@ export class FurniturePostItPlacedParser implements IMessageParser { return this._itemsLeft; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/furniture/PresentOpenedMessageParser.ts b/src/nitro/communication/messages/parser/inventory/furniture/PresentOpenedMessageParser.ts index ff21cb18..0df01d19 100644 --- a/src/nitro/communication/messages/parser/inventory/furniture/PresentOpenedMessageParser.ts +++ b/src/nitro/communication/messages/parser/inventory/furniture/PresentOpenedMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class PresentOpenedMessageParser implements IMessageParser { @@ -34,37 +33,37 @@ export class PresentOpenedMessageParser implements IMessageParser return true; } - public get itemType():string + public get itemType(): string { return this._itemType; } - public get classId():number + public get classId(): number { return this._classId; } - public get productCode():string + public get productCode(): string { return this._productCode; } - public get placedItemId():number + public get placedItemId(): number { return this._placedItemId; } - public get placedItemType():string + public get placedItemType(): string { return this._placedItemType; } - public get placedInRoom():boolean + public get placedInRoom(): boolean { return this._placedInRoom; } - public get petFigureString():string + public get petFigureString(): string { return this._petFigureString; } diff --git a/src/nitro/communication/messages/parser/inventory/furniture/utils/FurnitureListItemParser.ts b/src/nitro/communication/messages/parser/inventory/furniture/utils/FurnitureListItemParser.ts index 4938dc17..8a18efa4 100644 --- a/src/nitro/communication/messages/parser/inventory/furniture/utils/FurnitureListItemParser.ts +++ b/src/nitro/communication/messages/parser/inventory/furniture/utils/FurnitureListItemParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../../core'; import { Nitro } from '../../../../../../Nitro'; import { IObjectData } from '../../../../../../room/object/data/IObjectData'; import { IFurnitureItemData } from '../../../../incoming/inventory/furni/IFurnitureItemData'; diff --git a/src/nitro/communication/messages/parser/inventory/index.ts b/src/nitro/communication/messages/parser/inventory/index.ts index f3b67ded..01f6a810 100644 --- a/src/nitro/communication/messages/parser/inventory/index.ts +++ b/src/nitro/communication/messages/parser/inventory/index.ts @@ -1,10 +1,8 @@ export * from './achievements'; export * from './avatareffect'; export * from './badges'; -export * from './bots'; export * from './clothing'; export * from './furniture'; -export * from './marketplace'; export * from './pets'; export * from './purse'; export * from './trading'; diff --git a/src/nitro/communication/messages/parser/inventory/marketplace/index.ts b/src/nitro/communication/messages/parser/inventory/marketplace/index.ts deleted file mode 100644 index 320c4a40..00000000 --- a/src/nitro/communication/messages/parser/inventory/marketplace/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './MarketplaceCanMakeOfferResultParser'; -export * from './MarketplaceItemPostedParser'; diff --git a/src/nitro/communication/messages/parser/inventory/pets/ConfirmBreedingRequestParser.ts b/src/nitro/communication/messages/parser/inventory/pets/ConfirmBreedingRequestParser.ts index 4840e664..d09d8435 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/ConfirmBreedingRequestParser.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/ConfirmBreedingRequestParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { BreedingPetInfo } from '../../../incoming/room/pet/BreedingPetInfo'; import { RarityCategoryData } from '../../../incoming/room/pet/RarityCategoryData'; diff --git a/src/nitro/communication/messages/parser/inventory/pets/ConfirmBreedingResultParser.ts b/src/nitro/communication/messages/parser/inventory/pets/ConfirmBreedingResultParser.ts index dc397621..5554e565 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/ConfirmBreedingResultParser.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/ConfirmBreedingResultParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class ConfirmBreedingResultParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/pets/GoToBreedingNestFailureParser.ts b/src/nitro/communication/messages/parser/inventory/pets/GoToBreedingNestFailureParser.ts index 5d49339b..6442865e 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/GoToBreedingNestFailureParser.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/GoToBreedingNestFailureParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class GoToBreedingNestFailureParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/pets/NestBreedingSuccessParser.ts b/src/nitro/communication/messages/parser/inventory/pets/NestBreedingSuccessParser.ts index 795aea44..2136c8a8 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/NestBreedingSuccessParser.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/NestBreedingSuccessParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class NestBreedingSuccessParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/pets/PetAddedToInventoryParser.ts b/src/nitro/communication/messages/parser/inventory/pets/PetAddedToInventoryParser.ts index 26c8e91c..a94682b7 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/PetAddedToInventoryParser.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/PetAddedToInventoryParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { PetData } from './PetData'; export class PetAddedToInventoryParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/inventory/pets/PetBoughtNotificationMessageParser.ts b/src/nitro/communication/messages/parser/inventory/pets/PetBoughtNotificationMessageParser.ts deleted file mode 100644 index f7fdfbce..00000000 --- a/src/nitro/communication/messages/parser/inventory/pets/PetBoughtNotificationMessageParser.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; -import { PetData } from './PetData'; - -export class PetBoughtNotificationMessageParser implements IMessageParser -{ - private _gift: boolean; - private _pet: PetData; - - public flush(): boolean - { - return true; - } - - public parse(k: IMessageDataWrapper): boolean - { - this._gift = k.readBoolean(); - this._pet = new PetData(k); - - return true; - } - - public get gift(): boolean - { - return this._gift; - } - - public get pet(): PetData - { - return this._pet; - } -} diff --git a/src/nitro/communication/messages/parser/inventory/pets/PetBreedingMessageParser.ts b/src/nitro/communication/messages/parser/inventory/pets/PetBreedingMessageParser.ts index 33aa8db0..fadabdd0 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/PetBreedingMessageParser.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/PetBreedingMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class PetBreedingMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/pets/PetData.ts b/src/nitro/communication/messages/parser/inventory/pets/PetData.ts index cf4c4a8c..8b943797 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/PetData.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/PetData.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; import { PetFigureDataParser } from './PetFigureDataParser'; export class PetData diff --git a/src/nitro/communication/messages/parser/inventory/pets/PetFigureDataParser.ts b/src/nitro/communication/messages/parser/inventory/pets/PetFigureDataParser.ts index fb3f0d94..1529468e 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/PetFigureDataParser.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/PetFigureDataParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class PetFigureDataParser { diff --git a/src/nitro/communication/messages/parser/inventory/pets/PetInventoryParser.ts b/src/nitro/communication/messages/parser/inventory/pets/PetInventoryParser.ts index f1a45ed4..dc912140 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/PetInventoryParser.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/PetInventoryParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { PetData } from './PetData'; export class PetInventoryParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/inventory/pets/PetReceivedMessageParser.ts b/src/nitro/communication/messages/parser/inventory/pets/PetReceivedMessageParser.ts new file mode 100644 index 00000000..83ad33c6 --- /dev/null +++ b/src/nitro/communication/messages/parser/inventory/pets/PetReceivedMessageParser.ts @@ -0,0 +1,34 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; +import { PetData } from './PetData'; + +export class PetReceivedMessageParser implements IMessageParser +{ + private _boughtAsGift: boolean; + private _pet: PetData; + + public flush(): boolean + { + this._boughtAsGift = false; + this._pet = null; + + return true; + } + + public parse(k: IMessageDataWrapper): boolean + { + this._boughtAsGift = k.readBoolean(); + this._pet = new PetData(k); + + return true; + } + + public get boughtAsGift(): boolean + { + return this._boughtAsGift; + } + + public get pet(): PetData + { + return this._pet; + } +} diff --git a/src/nitro/communication/messages/parser/inventory/pets/PetRemovedFromInventoryParser.ts b/src/nitro/communication/messages/parser/inventory/pets/PetRemovedFromInventoryParser.ts index f00ec59f..d3d8a661 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/PetRemovedFromInventoryParser.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/PetRemovedFromInventoryParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class PetRemovedFromInventoryParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/pets/index.ts b/src/nitro/communication/messages/parser/inventory/pets/index.ts index 8a829173..a69532ac 100644 --- a/src/nitro/communication/messages/parser/inventory/pets/index.ts +++ b/src/nitro/communication/messages/parser/inventory/pets/index.ts @@ -3,9 +3,9 @@ export * from './ConfirmBreedingResultParser'; export * from './GoToBreedingNestFailureParser'; export * from './NestBreedingSuccessParser'; export * from './PetAddedToInventoryParser'; -export * from './PetBoughtNotificationMessageParser'; export * from './PetBreedingMessageParser'; export * from './PetData'; export * from './PetFigureDataParser'; export * from './PetInventoryParser'; +export * from './PetReceivedMessageParser'; export * from './PetRemovedFromInventoryParser'; diff --git a/src/nitro/communication/messages/parser/inventory/purse/UserCreditsMessageParser.ts b/src/nitro/communication/messages/parser/inventory/purse/UserCreditsMessageParser.ts index ea0ef61a..cb97187d 100644 --- a/src/nitro/communication/messages/parser/inventory/purse/UserCreditsMessageParser.ts +++ b/src/nitro/communication/messages/parser/inventory/purse/UserCreditsMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class UserCreditsMessageParser implements IMessageParser { @@ -23,4 +22,4 @@ export class UserCreditsMessageParser implements IMessageParser { return this._balance; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/trading/TradingAcceptParser.ts b/src/nitro/communication/messages/parser/inventory/trading/TradingAcceptParser.ts index 9d59b4f0..1c5b3ae9 100644 --- a/src/nitro/communication/messages/parser/inventory/trading/TradingAcceptParser.ts +++ b/src/nitro/communication/messages/parser/inventory/trading/TradingAcceptParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class TradingAcceptParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/trading/TradingCloseParser.ts b/src/nitro/communication/messages/parser/inventory/trading/TradingCloseParser.ts index 0ff562f0..f0c52991 100644 --- a/src/nitro/communication/messages/parser/inventory/trading/TradingCloseParser.ts +++ b/src/nitro/communication/messages/parser/inventory/trading/TradingCloseParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class TradingCloseParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/trading/TradingCompletedParser.ts b/src/nitro/communication/messages/parser/inventory/trading/TradingCompletedParser.ts index 21e5cbe3..71facf5e 100644 --- a/src/nitro/communication/messages/parser/inventory/trading/TradingCompletedParser.ts +++ b/src/nitro/communication/messages/parser/inventory/trading/TradingCompletedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class TradingCompletedParser implements IMessageParser { @@ -14,4 +13,4 @@ export class TradingCompletedParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/trading/TradingConfirmationParser.ts b/src/nitro/communication/messages/parser/inventory/trading/TradingConfirmationParser.ts index 957141a7..e74cc507 100644 --- a/src/nitro/communication/messages/parser/inventory/trading/TradingConfirmationParser.ts +++ b/src/nitro/communication/messages/parser/inventory/trading/TradingConfirmationParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class TradingConfirmationParser implements IMessageParser { @@ -14,4 +13,4 @@ export class TradingConfirmationParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/trading/TradingListItemParser.ts b/src/nitro/communication/messages/parser/inventory/trading/TradingListItemParser.ts index c0a54b4f..fa520b04 100644 --- a/src/nitro/communication/messages/parser/inventory/trading/TradingListItemParser.ts +++ b/src/nitro/communication/messages/parser/inventory/trading/TradingListItemParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { ItemDataStructure } from '../../../incoming/inventory/trading/ItemDataStructure'; export class TradingListItemParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/inventory/trading/TradingNotOpenParser.ts b/src/nitro/communication/messages/parser/inventory/trading/TradingNotOpenParser.ts index f389a765..646daa25 100644 --- a/src/nitro/communication/messages/parser/inventory/trading/TradingNotOpenParser.ts +++ b/src/nitro/communication/messages/parser/inventory/trading/TradingNotOpenParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class TradingNotOpenParser implements IMessageParser { @@ -14,4 +13,4 @@ export class TradingNotOpenParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/trading/TradingOpenFailedParser.ts b/src/nitro/communication/messages/parser/inventory/trading/TradingOpenFailedParser.ts index 7fe0cd86..afa927f8 100644 --- a/src/nitro/communication/messages/parser/inventory/trading/TradingOpenFailedParser.ts +++ b/src/nitro/communication/messages/parser/inventory/trading/TradingOpenFailedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class TradingOpenFailedParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/trading/TradingOpenParser.ts b/src/nitro/communication/messages/parser/inventory/trading/TradingOpenParser.ts index 441b9ae4..7291cf26 100644 --- a/src/nitro/communication/messages/parser/inventory/trading/TradingOpenParser.ts +++ b/src/nitro/communication/messages/parser/inventory/trading/TradingOpenParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class TradingOpenParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/inventory/trading/TradingOtherNotAllowedParser.ts b/src/nitro/communication/messages/parser/inventory/trading/TradingOtherNotAllowedParser.ts index e94a939f..f8cf1007 100644 --- a/src/nitro/communication/messages/parser/inventory/trading/TradingOtherNotAllowedParser.ts +++ b/src/nitro/communication/messages/parser/inventory/trading/TradingOtherNotAllowedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class TradingOtherNotAllowedParser implements IMessageParser { @@ -14,4 +13,4 @@ export class TradingOtherNotAllowedParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/inventory/trading/TradingYouAreNotAllowedParser.ts b/src/nitro/communication/messages/parser/inventory/trading/TradingYouAreNotAllowedParser.ts index d9c83f1e..c85e861f 100644 --- a/src/nitro/communication/messages/parser/inventory/trading/TradingYouAreNotAllowedParser.ts +++ b/src/nitro/communication/messages/parser/inventory/trading/TradingYouAreNotAllowedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class TradingYouAreNotAllowedParser implements IMessageParser { @@ -14,4 +13,4 @@ export class TradingYouAreNotAllowedParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/landingview/PromoArticlesMessageParser.ts b/src/nitro/communication/messages/parser/landingview/PromoArticlesMessageParser.ts index 48af0f87..faed5f06 100644 --- a/src/nitro/communication/messages/parser/landingview/PromoArticlesMessageParser.ts +++ b/src/nitro/communication/messages/parser/landingview/PromoArticlesMessageParser.ts @@ -1,6 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { PromoArticleData } from '../../incoming/landingview/PromoArticleData'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageParser } from './../../../../../core'; export class PromoArticlesMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/landingview/votes/CommunityVoteReceivedParser.ts b/src/nitro/communication/messages/parser/landingview/votes/CommunityVoteReceivedParser.ts index 21b9928c..4495ad55 100644 --- a/src/nitro/communication/messages/parser/landingview/votes/CommunityVoteReceivedParser.ts +++ b/src/nitro/communication/messages/parser/landingview/votes/CommunityVoteReceivedParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../../core'; +import { IMessageParser } from './../../../../../../core'; export class CommunityVoteReceivedParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceBuyOfferResultParser.ts b/src/nitro/communication/messages/parser/marketplace/MarketplaceBuyOfferResultParser.ts similarity index 59% rename from src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceBuyOfferResultParser.ts rename to src/nitro/communication/messages/parser/marketplace/MarketplaceBuyOfferResultParser.ts index 29d4fe69..2885bebf 100644 --- a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceBuyOfferResultParser.ts +++ b/src/nitro/communication/messages/parser/marketplace/MarketplaceBuyOfferResultParser.ts @@ -1,15 +1,18 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class MarketplaceBuyOfferResultParser implements IMessageParser { private _result: number; - private _newOfferId: number = -1; - private _newPrice: number = -1; - private _requestedOfferId: number = -1; + private _newOfferId: number; + private _newPrice: number; + private _requestedOfferId: number; public flush(): boolean { + this._newOfferId = -1; + this._newPrice = 0; + this._requestedOfferId = -1; + return true; } @@ -25,22 +28,22 @@ export class MarketplaceBuyOfferResultParser implements IMessageParser return true; } - public get result():number + public get result(): number { return this._result; } - public get offerId():number + public get offerId(): number { return this._newOfferId; } - public get newPrice():number + public get newPrice(): number { return this._newPrice; } - public get requestedOfferId():number + public get requestedOfferId(): number { return this._requestedOfferId; } diff --git a/src/nitro/communication/messages/parser/inventory/marketplace/MarketplaceCanMakeOfferResultParser.ts b/src/nitro/communication/messages/parser/marketplace/MarketplaceCanMakeOfferResultParser.ts similarity index 60% rename from src/nitro/communication/messages/parser/inventory/marketplace/MarketplaceCanMakeOfferResultParser.ts rename to src/nitro/communication/messages/parser/marketplace/MarketplaceCanMakeOfferResultParser.ts index 2cef030c..6294e480 100644 --- a/src/nitro/communication/messages/parser/inventory/marketplace/MarketplaceCanMakeOfferResultParser.ts +++ b/src/nitro/communication/messages/parser/marketplace/MarketplaceCanMakeOfferResultParser.ts @@ -1,15 +1,14 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class MarketplaceCanMakeOfferResultParser implements IMessageParser { - private _tokenCount: number = null; - private _result: number = null; + private _tokenCount: number; + private _result: number; public flush(): boolean { - this._tokenCount = null; - this._result = null; + this._tokenCount = 0; + this._result = 0; return true; } diff --git a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceCancelItemParser.ts b/src/nitro/communication/messages/parser/marketplace/MarketplaceCancelOfferResultParser.ts similarity index 65% rename from src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceCancelItemParser.ts rename to src/nitro/communication/messages/parser/marketplace/MarketplaceCancelOfferResultParser.ts index 565ad113..5f123d75 100644 --- a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceCancelItemParser.ts +++ b/src/nitro/communication/messages/parser/marketplace/MarketplaceCancelOfferResultParser.ts @@ -1,15 +1,15 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; -export class MarketplaceCancelItemParser implements IMessageParser +export class MarketplaceCancelOfferResultParser implements IMessageParser { - private _offerId: number; private _success: boolean; - public flush(): boolean { + this._offerId = 0; + this._success = false; + return true; } diff --git a/src/nitro/communication/messages/parser/marketplace/MarketplaceConfigurationMessageParser.ts b/src/nitro/communication/messages/parser/marketplace/MarketplaceConfigurationMessageParser.ts new file mode 100644 index 00000000..e179d3fe --- /dev/null +++ b/src/nitro/communication/messages/parser/marketplace/MarketplaceConfigurationMessageParser.ts @@ -0,0 +1,83 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class MarketplaceConfigurationMessageParser implements IMessageParser +{ + private _enabled: boolean; + private _commission: number; + private _credits: number; + private _advertisements: number; + private _maximumPrice: number; + private _minimumPrice: number; + private _offerTime: number; + private _displayTime: number; + + public flush(): boolean + { + this._enabled = false; + this._commission = 0; + this._credits = 0; + this._advertisements = 0; + this._maximumPrice = 0; + this._minimumPrice = 0; + this._offerTime = 0; + this._displayTime = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._enabled = wrapper.readBoolean(); + this._commission = wrapper.readInt(); + this._credits = wrapper.readInt(); + this._advertisements = wrapper.readInt(); + this._minimumPrice = wrapper.readInt(); + this._maximumPrice = wrapper.readInt(); + this._offerTime = wrapper.readInt(); + this._displayTime = wrapper.readInt(); + + return true; + } + + public get enabled(): boolean + { + return this._enabled; + } + + public get commission(): number + { + return this._commission; + } + + public get credits(): number + { + return this._credits; + } + + public get advertisements(): number + { + return this._advertisements; + } + + public get minimumPrice(): number + { + return this._minimumPrice; + } + + public get maximumPrice(): number + { + return this._maximumPrice; + } + + public get offerTime(): number + { + return this._offerTime; + } + + public get displayTime(): number + { + return this._displayTime; + } +} diff --git a/src/nitro/communication/messages/parser/inventory/marketplace/MarketplaceItemPostedParser.ts b/src/nitro/communication/messages/parser/marketplace/MarketplaceItemPostedParser.ts similarity index 53% rename from src/nitro/communication/messages/parser/inventory/marketplace/MarketplaceItemPostedParser.ts rename to src/nitro/communication/messages/parser/marketplace/MarketplaceItemPostedParser.ts index 21b624f6..eecebf30 100644 --- a/src/nitro/communication/messages/parser/inventory/marketplace/MarketplaceItemPostedParser.ts +++ b/src/nitro/communication/messages/parser/marketplace/MarketplaceItemPostedParser.ts @@ -1,13 +1,12 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; -export class MarketplaceItemPostedParser implements IMessageParser +export class MarketplaceMakeOfferResultParser implements IMessageParser { private _result: number; public flush(): boolean { - this._result = null; + this._result = 0; return true; } diff --git a/src/nitro/communication/messages/parser/catalog/MarketplaceItemStatsParser.ts b/src/nitro/communication/messages/parser/marketplace/MarketplaceItemStatsParser.ts similarity index 56% rename from src/nitro/communication/messages/parser/catalog/MarketplaceItemStatsParser.ts rename to src/nitro/communication/messages/parser/marketplace/MarketplaceItemStatsParser.ts index b51fb5da..f2fca62b 100644 --- a/src/nitro/communication/messages/parser/catalog/MarketplaceItemStatsParser.ts +++ b/src/nitro/communication/messages/parser/marketplace/MarketplaceItemStatsParser.ts @@ -1,59 +1,27 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class MarketplaceItemStatsParser implements IMessageParser { - private _averagePrice:number; - private _currentOfferCount:number; - private _historyLength:number; - private _dayOffsets:number[]; - private _averagePrices:number[]; - private _soldAmounts:number[]; - private _furniTypeId:number; - private _furniCategoryId:number; - - public get averagePrice():number - { - return this._averagePrice; - } - - public get offerCount():number - { - return this._currentOfferCount; - } - - public get historyLength():number - { - return this._historyLength; - } - - public get dayOffsets():any[] - { - return this._dayOffsets; - } - - public get averagePrices():any[] - { - return this._averagePrices; - } - - public get soldAmounts():any[] - { - return this._soldAmounts; - } - - public get furniTypeId():number - { - return this._furniTypeId; - } - - public get furniCategoryId():number - { - return this._furniCategoryId; - } + private _averagePrice: number; + private _currentOfferCount: number; + private _historyLength: number; + private _dayOffsets: number[]; + private _averagePrices: number[]; + private _soldAmounts: number[]; + private _furniTypeId: number; + private _furniCategoryId: number; public flush(): boolean { + this._averagePrice = 0; + this._currentOfferCount = 0; + this._historyLength = 0; + this._dayOffsets = []; + this._averagePrices = []; + this._soldAmounts = []; + this._furniTypeId = 0; + this._furniCategoryId = 0; + return true; } @@ -65,22 +33,60 @@ export class MarketplaceItemStatsParser implements IMessageParser this._currentOfferCount = wrapper.readInt(); this._historyLength = wrapper.readInt(); - const count = wrapper.readInt(); - this._dayOffsets = []; - this._averagePrices = []; - this._soldAmounts = []; + let count = wrapper.readInt(); - for(let i = 0; i < count; i++) + while(count > 0) { this._dayOffsets.push(wrapper.readInt()); this._averagePrices.push(wrapper.readInt()); this._soldAmounts.push(wrapper.readInt()); + + count--; } this._furniCategoryId = wrapper.readInt(); this._furniTypeId = wrapper.readInt(); + return true; } + public get averagePrice(): number + { + return this._averagePrice; + } + public get offerCount(): number + { + return this._currentOfferCount; + } + + public get historyLength(): number + { + return this._historyLength; + } + + public get dayOffsets(): number[] + { + return this._dayOffsets; + } + + public get averagePrices(): number[] + { + return this._averagePrices; + } + + public get soldAmounts(): number[] + { + return this._soldAmounts; + } + + public get furniTypeId(): number + { + return this._furniTypeId; + } + + public get furniCategoryId(): number + { + return this._furniCategoryId; + } } diff --git a/src/nitro/communication/messages/parser/marketplace/MarketplaceOfferData.ts b/src/nitro/communication/messages/parser/marketplace/MarketplaceOfferData.ts new file mode 100644 index 00000000..5d654876 --- /dev/null +++ b/src/nitro/communication/messages/parser/marketplace/MarketplaceOfferData.ts @@ -0,0 +1,128 @@ +import { IObjectData } from '../../../../room/object/data/IObjectData'; + +export class MarketplaceOfferData +{ + public static TYPE_LANDSCAPE: number = 1; + public static TYPE_FLOOR: number = 2; + + private _offerId: number; + private _furniId: number; + private _furniType: number; + private _extraData: string; + private _stuffData: IObjectData; + private _price: number; + private _averagePrice: number; + private _imageCallback: number; + private _status: number; + private _timeLeftMinutes: number = -1; + private _offerCount: number; + private _image: string; + + constructor(offerId: number, furniId: number, furniType: number, extraData: string, stuffData: IObjectData, price: number, status: number, averagePrice: number, offerCount: number = -1) + { + this._offerId = offerId; + this._furniId = furniId; + this._furniType = furniType; + this._extraData = extraData; + this._stuffData = stuffData; + this._price = price; + this._status = status; + this._averagePrice = averagePrice; + this._offerCount = offerCount; + } + + public get offerId(): number + { + return this._offerId; + } + + public set offerId(offerId: number) + { + this._offerId = offerId; + } + + public get furniId(): number + { + return this._furniId; + } + + public get furniType(): number + { + return this._furniType; + } + + public get extraData(): string + { + return this._extraData; + } + + public get stuffData(): IObjectData + { + return this._stuffData; + } + + public get price(): number + { + return this._price; + } + + public set price(price: number) + { + this._price = price; + } + + public get averagePrice(): number + { + return this._averagePrice; + } + + public get image(): string + { + return this._image; + } + + public set image(image: string) + { + this._image = image; + } + + public get imageCallback(): number + { + return this._imageCallback; + } + + public set imageCallback(callback: number) + { + this._imageCallback = callback; + } + + public get status(): number + { + return this._status; + } + + public get timeLeftMinutes(): number + { + return this._timeLeftMinutes; + } + + public set timeLeftMinutes(minutes: number) + { + this._timeLeftMinutes = minutes; + } + + public get offerCount(): number + { + return this._offerCount; + } + + public set offerCount(count: number) + { + this._offerCount = count; + } + + public get isUniqueLimitedItem(): boolean + { + return (this.stuffData && (this.stuffData.uniqueSeries > 0)); + } +} diff --git a/src/nitro/communication/messages/parser/marketplace/MarketplaceOffersParser.ts b/src/nitro/communication/messages/parser/marketplace/MarketplaceOffersParser.ts new file mode 100644 index 00000000..2a77bc37 --- /dev/null +++ b/src/nitro/communication/messages/parser/marketplace/MarketplaceOffersParser.ts @@ -0,0 +1,92 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { IObjectData } from '../../../../room/object/data/IObjectData'; +import { ObjectDataFactory } from '../../../../room/object/data/ObjectDataFactory'; +import { LegacyDataType } from '../../../../room/object/data/type/LegacyDataType'; +import { MarketplaceOffer } from '../../incoming/marketplace/MarketplaceOffer'; +import { FurnitureDataParser } from '../room/furniture/FurnitureDataParser'; + +export class MarketplaceOffersParser implements IMessageParser +{ + private static FURNITYPE_STUFF: number = 1; + private static FURNITYPE_WALL: number = 2; + private static FAKE_FURNITYPE_UNIQUE: number = 3; + + private readonly MAX_LIST_LENGTH = 500; + + private _offers: MarketplaceOffer[]; + private _totalItemsFound: number; + + public flush(): boolean + { + this._offers = []; + this._totalItemsFound = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + const count = wrapper.readInt(); + + let i = 0; + + while(i < count) + { + const offerId = wrapper.readInt(); + const status = wrapper.readInt(); + let furniType = wrapper.readInt(); + + let furniId = -1; + let extraData = ''; + let stuffData: IObjectData = null; + + if(furniType === MarketplaceOffersParser.FURNITYPE_STUFF) + { + furniId = wrapper.readInt(); + stuffData = FurnitureDataParser.parseObjectData(wrapper); + } + + else if(furniType === MarketplaceOffersParser.FURNITYPE_WALL) + { + furniId = wrapper.readInt(); + extraData = wrapper.readString(); + } + + else if(furniType == MarketplaceOffersParser.FAKE_FURNITYPE_UNIQUE) + { + furniId = wrapper.readInt(); + stuffData = ObjectDataFactory.getData(LegacyDataType.FORMAT_KEY); + stuffData.uniqueNumber = wrapper.readInt(); + stuffData.uniqueSeries = wrapper.readInt(); + furniType = MarketplaceOffersParser.FURNITYPE_STUFF; + } + + const price = wrapper.readInt(); + const timeLeftMinutes = wrapper.readInt(); + const averagePrice = wrapper.readInt(); + const offerCount = wrapper.readInt(); + + const offerItem = new MarketplaceOffer(offerId, furniId, furniType, extraData, stuffData, price, status, timeLeftMinutes, averagePrice, offerCount); + + if(i < this.MAX_LIST_LENGTH) this._offers.push(offerItem); + + i++; + } + + this._totalItemsFound = wrapper.readInt(); + + return true; + } + + public get offers(): MarketplaceOffer[] + { + return this._offers; + } + + public get totalItemsFound(): number + { + return this._totalItemsFound; + } +} diff --git a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOwnItemsParser.ts b/src/nitro/communication/messages/parser/marketplace/MarketplaceOwnOffersParser.ts similarity index 77% rename from src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOwnItemsParser.ts rename to src/nitro/communication/messages/parser/marketplace/MarketplaceOwnOffersParser.ts index 11f91ba8..038b79dc 100644 --- a/src/nitro/communication/messages/parser/catalog/marketplace/MarketplaceOwnItemsParser.ts +++ b/src/nitro/communication/messages/parser/marketplace/MarketplaceOwnOffersParser.ts @@ -1,12 +1,10 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; -import { IObjectData } from '../../../../../room/object/data/IObjectData'; -import { ObjectDataFactory } from '../../../../../room/object/data/ObjectDataFactory'; -import { LegacyDataType } from '../../../../../room/object/data/type/LegacyDataType'; -import { MarketplaceOffer } from './MarketplaceOffer'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { IObjectData } from '../../../../room/object/data/IObjectData'; +import { ObjectDataFactory } from '../../../../room/object/data/ObjectDataFactory'; +import { LegacyDataType } from '../../../../room/object/data/type/LegacyDataType'; +import { MarketplaceOffer } from '../../incoming/marketplace/MarketplaceOffer'; - -export class MarketplaceOwnItemsParser implements IMessageParser +export class MarketplaceOwnOffersParser implements IMessageParser { private static MAX_LIST_LENGTH = 500; private _offers: MarketplaceOffer[]; @@ -64,7 +62,7 @@ export class MarketplaceOwnItemsParser implements IMessageParser const local10 = wrapper.readInt(); const local13 = new MarketplaceOffer(offerId, furniId, furniType, extraData, stuffData, price, status, local9, local10); - if(i < MarketplaceOwnItemsParser.MAX_LIST_LENGTH) + if(i < MarketplaceOwnOffersParser.MAX_LIST_LENGTH) { this._offers.push(local13); } @@ -78,7 +76,7 @@ export class MarketplaceOwnItemsParser implements IMessageParser return this._offers; } - public get creditsWaiting():number + public get creditsWaiting(): number { return this._creditsWaiting; } diff --git a/src/nitro/communication/messages/parser/marketplace/index.ts b/src/nitro/communication/messages/parser/marketplace/index.ts new file mode 100644 index 00000000..9060c6a3 --- /dev/null +++ b/src/nitro/communication/messages/parser/marketplace/index.ts @@ -0,0 +1,9 @@ +export * from './MarketplaceBuyOfferResultParser'; +export * from './MarketplaceCancelOfferResultParser'; +export * from './MarketplaceCanMakeOfferResultParser'; +export * from './MarketplaceConfigurationMessageParser'; +export * from './MarketplaceItemPostedParser'; +export * from './MarketplaceItemStatsParser'; +export * from './MarketplaceOfferData'; +export * from './MarketplaceOffersParser'; +export * from './MarketplaceOwnOffersParser'; diff --git a/src/nitro/communication/messages/parser/modtool/ModtoolUserInfoParser.ts b/src/nitro/communication/messages/parser/moderation/CfhChatlogMessageParser.ts similarity index 62% rename from src/nitro/communication/messages/parser/modtool/ModtoolUserInfoParser.ts rename to src/nitro/communication/messages/parser/moderation/CfhChatlogMessageParser.ts index bf0a4f63..9cf8106f 100644 --- a/src/nitro/communication/messages/parser/modtool/ModtoolUserInfoParser.ts +++ b/src/nitro/communication/messages/parser/moderation/CfhChatlogMessageParser.ts @@ -1,10 +1,10 @@ import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { ModeratorUserInfoData } from './utils/ModeratorUserInfoData'; +import { CfhChatlogData } from '../../incoming/moderation/CfhChatlogData'; -export class ModtoolUserInfoParser implements IMessageParser +export class CfhChatlogMessageParser implements IMessageParser { - private _data: ModeratorUserInfoData; + private _data: CfhChatlogData; public flush(): boolean { @@ -17,16 +17,13 @@ export class ModtoolUserInfoParser implements IMessageParser { if(!wrapper) return false; - this._data = new ModeratorUserInfoData(wrapper); + this._data = new CfhChatlogData(wrapper); return true; } - public get data(): ModeratorUserInfoData + public get data(): CfhChatlogData { return this._data; } - - - } diff --git a/src/nitro/communication/messages/parser/moderation/IssueDeletedMessageParser.ts b/src/nitro/communication/messages/parser/moderation/IssueDeletedMessageParser.ts new file mode 100644 index 00000000..69525294 --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/IssueDeletedMessageParser.ts @@ -0,0 +1,23 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class IssueDeletedMessageParser implements IMessageParser +{ + private _issueId: number; + + public flush():boolean + { + return true; + } + + public parse(k:IMessageDataWrapper):boolean + { + this._issueId = parseInt(k.readString()); + return true; + } + + public get issueId(): number + { + return this._issueId; + } +} diff --git a/src/nitro/communication/messages/parser/moderation/IssueInfoMessageParser.ts b/src/nitro/communication/messages/parser/moderation/IssueInfoMessageParser.ts new file mode 100644 index 00000000..564748cb --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/IssueInfoMessageParser.ts @@ -0,0 +1,52 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { IssueMessageData } from './IssueMessageData'; +import { PatternMatchData } from './PatternMatchData'; + +export class IssueInfoMessageParser implements IMessageParser +{ + private _issueData:IssueMessageData; + + + public get issueData():IssueMessageData + { + return this._issueData; + } + + public flush(): boolean + { + this._issueData = null; + return true; + } + + public parse(k:IMessageDataWrapper): boolean + { + const issueId: number = k.readInt(); + const state: number = k.readInt(); + const categoryId: number = k.readInt(); + const reportedCategoryId: number = k.readInt(); + const issueAgeInMs: number = k.readInt(); + const priority: number = k.readInt(); + const groupingId: number = k.readInt(); + const reporterUserId: number = k.readInt(); + const reporterUsername: string = k.readString(); + const reportedUserId: number = k.readInt(); + const reportedUsername: string = k.readString(); + const pickerUserId: number = k.readInt(); + const pickerUsername: string = k.readString(); + const message: string = k.readString(); + const chatRecordId: number = k.readInt(); + + const patternsCount: number = k.readInt(); + const patterns:PatternMatchData[] = []; + + for(let i = 0; i < patternsCount; i++) + { + patterns.push(new PatternMatchData(k)); + } + + this._issueData = new IssueMessageData(issueId, state, categoryId, reportedCategoryId, issueAgeInMs, + priority, groupingId, reporterUserId, reporterUsername, reportedUserId, reportedUsername, + pickerUserId, pickerUsername, message, chatRecordId, patterns); + return true; + } +} diff --git a/src/nitro/communication/messages/parser/modtool/utils/IssueMessageData.ts b/src/nitro/communication/messages/parser/moderation/IssueMessageData.ts similarity index 72% rename from src/nitro/communication/messages/parser/modtool/utils/IssueMessageData.ts rename to src/nitro/communication/messages/parser/moderation/IssueMessageData.ts index a779a5ef..b4897653 100644 --- a/src/nitro/communication/messages/parser/modtool/utils/IssueMessageData.ts +++ b/src/nitro/communication/messages/parser/moderation/IssueMessageData.ts @@ -1,3 +1,4 @@ +import { Nitro } from '../../../../Nitro'; import { PatternMatchData } from './PatternMatchData'; export class IssueMessageData @@ -25,25 +26,28 @@ export class IssueMessageData private _disposed: boolean = false; private _creationTimeInMilliseconds: number; - constructor(k: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5: number, _arg_6: number, _arg_7: number, _arg_8: number, _arg_9: string, _arg_10: number, _arg_11: string, _arg_12: number, _arg_13: string, _arg_14: string, _arg_15: number, _arg_16:PatternMatchData[]) + constructor(issueId: number, state: number, categoryId: number, reportedCategoryId: number, + issueAgeinMs: number, priority: number, groupingId: number, reporterUserId: number, reporterUsername: string, + reportedUserId: number, reportedUsername: string, pickerUserId: number, pickerUsername: string, message: string, + chatRecordId: number, patterns:PatternMatchData[]) { - this._issueId = k; - this._state = _arg_2; - this._categoryId = _arg_3; - this._reportedCategoryId = _arg_4; - this._issueAgeInMilliseconds = _arg_5; - this._priority = _arg_6; - this._groupingId = _arg_7; - this._reporterUserId = _arg_8; - this._reporterUserName = _arg_9; - this._reportedUserId = _arg_10; - this._reportedUserName = _arg_11; - this._pickerUserId = _arg_12; - this._pickerUserName = _arg_13; - this._message = _arg_14; - this._chatRecordId = _arg_15; - this._patterns = _arg_16; - this._creationTimeInMilliseconds = 0; //getTimer(); + this._issueId = issueId; + this._state = state; + this._categoryId = categoryId; + this._reportedCategoryId = reportedCategoryId; + this._issueAgeInMilliseconds = issueAgeinMs; + this._priority = priority; + this._groupingId = groupingId; + this._reporterUserId = reporterUserId; + this._reporterUserName = reporterUsername; + this._reportedUserId = reportedUserId; + this._reportedUserName = reportedUsername; + this._pickerUserId = pickerUserId; + this._pickerUserName = pickerUsername; + this._message = message; + this._chatRecordId = chatRecordId; + this._patterns = patterns; + this._creationTimeInMilliseconds = Nitro.instance.time; //getTimer() } public get issueId(): number diff --git a/src/nitro/communication/messages/parser/moderation/IssuePickFailedMessageParser.ts b/src/nitro/communication/messages/parser/moderation/IssuePickFailedMessageParser.ts new file mode 100644 index 00000000..8e7adbeb --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/IssuePickFailedMessageParser.ts @@ -0,0 +1,51 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IssueMessageData } from './IssueMessageData'; + +export class IssuePickFailedMessageParser implements IMessageParser +{ + private _issues: IssueMessageData[]; + private _retryEnabled: boolean; + private _retryCount: number; + + public flush(): boolean + { + this._issues = null; + return true; + } + + public parse(k: IMessageDataWrapper): boolean + { + this._issues = []; + + const count = k.readInt(); + + for(let i = 0; i < count; i++) + { + const _local_4 = k.readInt(); + const _local_5 = k.readInt(); + const _local_6 = k.readString(); + const _local_7 = new IssueMessageData(_local_4, 0, 0, 0, 0, 0, 0, 0, null, 0, null, _local_5, _local_6, null, 0, []); + this._issues.push(_local_7); + } + + this._retryEnabled = k.readBoolean(); + this._retryCount = k.readInt(); + return true; + } + + public get issues(): IssueMessageData[] + { + return this._issues; + } + + public get retryEnabled(): boolean + { + return this._retryEnabled; + } + + public get retryCount(): number + { + return this._retryCount; + } +} diff --git a/src/nitro/communication/messages/parser/moderation/ModerationCautionParser.ts b/src/nitro/communication/messages/parser/moderation/ModerationCautionParser.ts new file mode 100644 index 00000000..a815a52a --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/ModerationCautionParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class ModerationCautionParser implements IMessageParser +{ + private _message: string; + private _url: string; + + public flush(): boolean + { + this._message = ''; + this._url = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._message = wrapper.readString(); + this._url = wrapper.readString(); + + return true; + } + + public get message(): string + { + return this._message; + } + + public get url(): string + { + return this._url; + } +} diff --git a/src/nitro/communication/messages/parser/moderation/ModeratorActionResultMessageParser.ts b/src/nitro/communication/messages/parser/moderation/ModeratorActionResultMessageParser.ts new file mode 100644 index 00000000..1c618b69 --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/ModeratorActionResultMessageParser.ts @@ -0,0 +1,33 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class ModeratorActionResultMessageParser implements IMessageParser +{ + private _userId:number; + private _success:boolean; + + public flush(): boolean + { + this._userId = -1; + this._success = false; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + this._userId = wrapper.readInt(); + this._success = wrapper.readBoolean(); + return true; + } + + public get userId():number + { + return this._userId; + } + + public get success():boolean + { + return this._success; + } +} diff --git a/src/nitro/communication/messages/parser/modtool/utils/ModeratorInitData.ts b/src/nitro/communication/messages/parser/moderation/ModeratorInitData.ts similarity index 73% rename from src/nitro/communication/messages/parser/modtool/utils/ModeratorInitData.ts rename to src/nitro/communication/messages/parser/moderation/ModeratorInitData.ts index e2a78645..215780ab 100644 --- a/src/nitro/communication/messages/parser/modtool/utils/ModeratorInitData.ts +++ b/src/nitro/communication/messages/parser/moderation/ModeratorInitData.ts @@ -1,19 +1,19 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { IssueInfoMessageParser } from './IssueInfoMessageParser'; import { IssueMessageData } from './IssueMessageData'; export class ModeratorInitData { - private _messageTemplates:string[]; - private _roomMessageTemplates:string[]; + private _messageTemplates: string[]; + private _roomMessageTemplates: string[]; private _issues:IssueMessageData[]; - private _cfhPermission:boolean; - private _chatlogsPermission:boolean; - private _alertPermission:boolean; - private _kickPermission:boolean; - private _banPermission:boolean; - private _roomAlertPermission:boolean; - private _roomKickPermission:boolean; + private _cfhPermission: boolean; + private _chatlogsPermission: boolean; + private _alertPermission: boolean; + private _kickPermission: boolean; + private _banPermission: boolean; + private _roomAlertPermission: boolean; + private _roomKickPermission: boolean; private _disposed: boolean = false; @@ -80,17 +80,17 @@ export class ModeratorInitData this._issues = null; } - public get disposed():boolean + public get disposed(): boolean { return this._disposed; } - public get messageTemplates():string[] + public get messageTemplates(): string[] { return this._messageTemplates; } - public get roomMessageTemplates():string[] + public get roomMessageTemplates(): string[] { return this._roomMessageTemplates; } @@ -100,37 +100,37 @@ export class ModeratorInitData return this._issues; } - public get cfhPermission():boolean + public get cfhPermission(): boolean { return this._cfhPermission; } - public get chatlogsPermission():boolean + public get chatlogsPermission(): boolean { return this._chatlogsPermission; } - public get alertPermission():boolean + public get alertPermission(): boolean { return this._alertPermission; } - public get kickPermission():boolean + public get kickPermission(): boolean { return this._kickPermission; } - public get banPermission():boolean + public get banPermission(): boolean { return this._banPermission; } - public get roomAlertPermission():boolean + public get roomAlertPermission(): boolean { return this._roomAlertPermission; } - public get roomKickPermission():boolean + public get roomKickPermission(): boolean { return this._roomKickPermission; } diff --git a/src/nitro/communication/messages/parser/modtool/ModtoolMainParser.ts b/src/nitro/communication/messages/parser/moderation/ModeratorInitMessageParser.ts similarity index 53% rename from src/nitro/communication/messages/parser/modtool/ModtoolMainParser.ts rename to src/nitro/communication/messages/parser/moderation/ModeratorInitMessageParser.ts index fc471017..90825f0d 100644 --- a/src/nitro/communication/messages/parser/modtool/ModtoolMainParser.ts +++ b/src/nitro/communication/messages/parser/moderation/ModeratorInitMessageParser.ts @@ -1,8 +1,7 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { ModeratorInitData } from './utils/ModeratorInitData'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { ModeratorInitData } from './ModeratorInitData'; -export class ModtoolMainParser implements IMessageParser +export class ModeratorInitMessageParser implements IMessageParser { private _data: ModeratorInitData = null; public flush(): boolean diff --git a/src/nitro/communication/messages/parser/moderation/ModeratorMessageParser.ts b/src/nitro/communication/messages/parser/moderation/ModeratorMessageParser.ts index aee4a095..bd442b34 100644 --- a/src/nitro/communication/messages/parser/moderation/ModeratorMessageParser.ts +++ b/src/nitro/communication/messages/parser/moderation/ModeratorMessageParser.ts @@ -3,13 +3,13 @@ import { IMessageParser } from '../../../../../core/communication/messages/IMess export class ModeratorMessageParser implements IMessageParser { - private _message: string; - private _link: string; + private _message:string; + private _url:string; public flush(): boolean { - this._message = null; - this._link = null; + this._message = ''; + this._url = ''; return true; } @@ -18,19 +18,19 @@ export class ModeratorMessageParser implements IMessageParser { if(!wrapper) return false; - this._message = wrapper.readString(); - this._link = wrapper.readString(); + this._message = wrapper.readString(); + this._url = wrapper.readString(); return true; } - public get message(): string + public get message():string { return this._message; } - public get link(): string + public get url():string { - return this._link; + return this._url; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/moderation/ModeratorRoomInfoMessageParser.ts b/src/nitro/communication/messages/parser/moderation/ModeratorRoomInfoMessageParser.ts new file mode 100644 index 00000000..8d8ea6cc --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/ModeratorRoomInfoMessageParser.ts @@ -0,0 +1,28 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { RoomModerationData } from '../../incoming/moderation/RoomModerationData'; + +export class ModeratorRoomInfoMessageParser implements IMessageParser +{ + private _data:RoomModerationData; + + public flush(): boolean + { + this._data = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._data = new RoomModerationData(wrapper); + + return true; + } + + public get data():RoomModerationData + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/parser/moderation/ModeratorToolPreferencesMessageParser.ts b/src/nitro/communication/messages/parser/moderation/ModeratorToolPreferencesMessageParser.ts new file mode 100644 index 00000000..e38707fd --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/ModeratorToolPreferencesMessageParser.ts @@ -0,0 +1,48 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class ModeratorToolPreferencesMessageParser implements IMessageParser +{ + private _windowX:number; + private _windowY:number; + private _windowWidth:number; + private _windowHeight:number; + + public flush():boolean + { + this._windowX = 0; + this._windowY = 0; + this._windowWidth = 0; + this._windowHeight = 0; + return true; + } + + public parse(k:IMessageDataWrapper):boolean + { + this._windowX = k.readInt(); + this._windowY = k.readInt(); + this._windowWidth = k.readInt(); + this._windowHeight = k.readInt(); + return true; + } + + public get windowX(): number + { + return this._windowX; + } + + public get windowY(): number + { + return this._windowY; + } + + public get windowWidth(): number + { + return this._windowWidth; + } + + public get windowHeight(): number + { + return this._windowHeight; + } +} diff --git a/src/nitro/communication/messages/parser/moderation/ModeratorUserInfoMessageParser.ts b/src/nitro/communication/messages/parser/moderation/ModeratorUserInfoMessageParser.ts new file mode 100644 index 00000000..e5055f0a --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/ModeratorUserInfoMessageParser.ts @@ -0,0 +1,28 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { ModeratorUserInfoData } from '../../incoming/moderation/ModeratorUserInfoData'; + +export class ModeratorUserInfoMessageParser implements IMessageParser +{ + private _data: ModeratorUserInfoData; + + public flush(): boolean + { + this._data = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._data = new ModeratorUserInfoData(wrapper); + + return true; + } + + public get data(): ModeratorUserInfoData + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/parser/modtool/utils/PatternMatchData.ts b/src/nitro/communication/messages/parser/moderation/PatternMatchData.ts similarity index 55% rename from src/nitro/communication/messages/parser/modtool/utils/PatternMatchData.ts rename to src/nitro/communication/messages/parser/moderation/PatternMatchData.ts index c0ea416a..a73a2d74 100644 --- a/src/nitro/communication/messages/parser/modtool/utils/PatternMatchData.ts +++ b/src/nitro/communication/messages/parser/moderation/PatternMatchData.ts @@ -1,12 +1,12 @@ -import { IDisposable } from '../../../../../../core/common/disposable/IDisposable'; -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IDisposable } from '../../../../../core/common/disposable/IDisposable'; export class PatternMatchData implements IDisposable { - private _pattern:string; - private _startIndex:number; - private _endIndex:number; - private _disposed:boolean = false; + private _pattern: string; + private _startIndex: number; + private _endIndex: number; + private _disposed: boolean = false; constructor(k:IMessageDataWrapper) { @@ -23,22 +23,22 @@ export class PatternMatchData implements IDisposable this._endIndex = -1; } - public get disposed():boolean + public get disposed(): boolean { return this._disposed; } - public get pattern():string + public get pattern(): string { return this._pattern; } - public get startIndex():number + public get startIndex(): number { return this._startIndex; } - public get endIndex():number + public get endIndex(): number { return this._endIndex; } diff --git a/src/nitro/communication/messages/parser/moderation/RoomChatlogMessageParser.ts b/src/nitro/communication/messages/parser/moderation/RoomChatlogMessageParser.ts new file mode 100644 index 00000000..499fbd7b --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/RoomChatlogMessageParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { ChatRecordData } from '../../incoming/moderation/ChatRecordData'; + +export class RoomChatlogMessageParser implements IMessageParser +{ + private _data: ChatRecordData; + + public flush(): boolean + { + this._data = null; + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._data = new ChatRecordData(wrapper); + + return true; + } + + public get data(): ChatRecordData + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/parser/moderation/RoomVisitsMessageParser.ts b/src/nitro/communication/messages/parser/moderation/RoomVisitsMessageParser.ts new file mode 100644 index 00000000..7671829f --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/RoomVisitsMessageParser.ts @@ -0,0 +1,23 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { RoomVisitsData } from '../../incoming/moderation/RoomVisitsData'; + +export class RoomVisitsMessageParser implements IMessageParser +{ + private _data: RoomVisitsData; + + public flush(): boolean + { + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + this._data = new RoomVisitsData(wrapper); + return true; + } + + public get data(): RoomVisitsData + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/parser/moderation/UserBannedMessageParser.ts b/src/nitro/communication/messages/parser/moderation/UserBannedMessageParser.ts new file mode 100644 index 00000000..46d384da --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/UserBannedMessageParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class UserBannedMessageParser implements IMessageParser +{ + private _message: string; + + public flush(): boolean + { + this._message = ''; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._message = wrapper.readString(); + + return true; + } + + public get message(): string + { + return this._message; + } +} diff --git a/src/nitro/communication/messages/parser/moderation/UserChatlogMessageParser.ts b/src/nitro/communication/messages/parser/moderation/UserChatlogMessageParser.ts new file mode 100644 index 00000000..0b4515d0 --- /dev/null +++ b/src/nitro/communication/messages/parser/moderation/UserChatlogMessageParser.ts @@ -0,0 +1,28 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { UserChatlogData } from '../../incoming/moderation/UserChatlogData'; + +export class UserChatlogMessageParser implements IMessageParser +{ + private _data:UserChatlogData; + + public flush(): boolean + { + this._data = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._data = new UserChatlogData(wrapper); + + return true; + } + + public get data():UserChatlogData + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/parser/moderation/index.ts b/src/nitro/communication/messages/parser/moderation/index.ts index 03e66b6b..9dac902e 100644 --- a/src/nitro/communication/messages/parser/moderation/index.ts +++ b/src/nitro/communication/messages/parser/moderation/index.ts @@ -1 +1,18 @@ +export * from './CfhChatlogMessageParser'; +export * from './IssueDeletedMessageParser'; +export * from './IssueInfoMessageParser'; +export * from './IssueMessageData'; +export * from './IssuePickFailedMessageParser'; +export * from './ModerationCautionParser'; +export * from './ModeratorActionResultMessageParser'; +export * from './ModeratorInitData'; +export * from './ModeratorInitMessageParser'; export * from './ModeratorMessageParser'; +export * from './ModeratorRoomInfoMessageParser'; +export * from './ModeratorToolPreferencesMessageParser'; +export * from './ModeratorUserInfoMessageParser'; +export * from './PatternMatchData'; +export * from './RoomChatlogMessageParser'; +export * from './RoomVisitsMessageParser'; +export * from './UserBannedMessageParser'; +export * from './UserChatlogMessageParser'; diff --git a/src/nitro/communication/messages/parser/modtool/ModtoolRoomChatlogParser.ts b/src/nitro/communication/messages/parser/modtool/ModtoolRoomChatlogParser.ts deleted file mode 100644 index 8c7bbee4..00000000 --- a/src/nitro/communication/messages/parser/modtool/ModtoolRoomChatlogParser.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { ModtoolRoomChatlogLine } from './utils/ModtoolRoomChatlogLine'; - -export class ModtoolRoomChatlogParser implements IMessageParser -{ - private _id: number; - private _name: string; - private _chatlogCount: number; - private _chatlogs: ModtoolRoomChatlogLine[] = []; - - public flush(): boolean - { - this._id = null; - this._name = null; - this._chatlogCount = 0; - this._chatlogs = []; - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - wrapper.readByte(); - wrapper.readShort(); - wrapper.readString(); - wrapper.readByte(); - this._name = wrapper.readString(); - wrapper.readString(); - wrapper.readByte(); - this._id = wrapper.readInt(); - this._chatlogCount = wrapper.readShort(); - - for(let i = 0; i < this._chatlogCount; i++) - { - const timestamp = wrapper.readString(); - const habboId = wrapper.readInt(); - const username = wrapper.readString(); - const message = wrapper.readString(); - const boolean = wrapper.readBoolean(); - - this._chatlogs.push(new ModtoolRoomChatlogLine(timestamp, habboId, username, message, boolean)); - } - - return true; - } - - public get id(): number - { - return this._id; - } - - public get name(): string - { - return this._name; - } - - public get chatlogs(): ModtoolRoomChatlogLine[] - { - return this._chatlogs; - } - -} diff --git a/src/nitro/communication/messages/parser/modtool/ModtoolRoomInfoParser.ts b/src/nitro/communication/messages/parser/modtool/ModtoolRoomInfoParser.ts deleted file mode 100644 index 84fe6673..00000000 --- a/src/nitro/communication/messages/parser/modtool/ModtoolRoomInfoParser.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; - -export class ModtoolRoomInfoParser implements IMessageParser -{ - private _id: number; - private _playerAmount: number; - private _ownerInRoom: boolean; - private _ownerId: number; - private _ownerName: string; - private _name: string; - private _description: string; - private _tags: string[]; - - public flush(): boolean - { - this._id = null; - this._playerAmount = 0; - this._ownerInRoom = false; - this._ownerId = 0; - this._ownerName = null; - this._name = null; - this._description = null; - this._tags = []; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._id = wrapper.readInt(); - this._playerAmount = wrapper.readInt(); - this._ownerInRoom = wrapper.readBoolean(); - this._ownerId = wrapper.readInt(); - this._ownerName = wrapper.readString(); - wrapper.readBoolean(); - this._name = wrapper.readString(); - this._description = wrapper.readString(); - const tagsTotal = wrapper.readInt(); - - this._tags = []; - - for(let i = 0; i < tagsTotal; i++) - { - this._tags.push(wrapper.readString()); - } - - return true; - } - - public get id(): number - { - return this._id; - } - - public get playerAmount(): number - { - return this._playerAmount; - } - - public get ownerInRoom(): boolean - { - return this._ownerInRoom; - } - - public get ownerId(): number - { - return this._ownerId; - } - - public get ownerName(): string - { - return this._ownerName; - } - - public get name(): string - { - return this._name; - } - - public get description(): string - { - return this._description; - } - - public get tags(): string[] - { - return this._tags; - } -} diff --git a/src/nitro/communication/messages/parser/modtool/ModtoolRoomUsersParser.ts b/src/nitro/communication/messages/parser/modtool/ModtoolRoomUsersParser.ts deleted file mode 100644 index 5003752b..00000000 --- a/src/nitro/communication/messages/parser/modtool/ModtoolRoomUsersParser.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { CallForHelpCategoryData } from './utils/CallForHelpCategoryData'; -import { ModtoolRoomVisitedData } from './utils/ModtoolRoomVisitedData'; - -export class ModtoolRoomUsersParser implements IMessageParser -{ - private _data: ModtoolRoomVisitedData; - public flush(): boolean - { - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - this._data = new ModtoolRoomVisitedData(wrapper); - return true; - } - - public get data(): ModtoolRoomVisitedData - { - return this._data; - } -} diff --git a/src/nitro/communication/messages/parser/modtool/ModtoolUserChatlogParser.ts b/src/nitro/communication/messages/parser/modtool/ModtoolUserChatlogParser.ts deleted file mode 100644 index c8acd0bf..00000000 --- a/src/nitro/communication/messages/parser/modtool/ModtoolUserChatlogParser.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -import { ModtoolUserChatlogParserVisit } from './utils/ModtoolUserChatlogParserVisit'; -import { ModtoolUserChatlogParserChatlog } from './utils/ModtoolUserChatlogParserChatlog'; - -export class ModtoolUserChatlogParser implements IMessageParser -{ - private _id: number; - private _username: string; - private _size: number; - private _roomVisits: ModtoolUserChatlogParserVisit[] = []; - - public flush(): boolean - { - this._id = null; - this._username = null; - this._size = null; - this._roomVisits = []; - - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - this._id = wrapper.readInt(); - this._username = wrapper.readString(); - this._size = wrapper.readInt(); - for(let i = 0; i < this._size; i++) - { - wrapper.readByte(); - wrapper.readShort(); - wrapper.readString(); - wrapper.readByte(); - const roomName = wrapper.readString(); - wrapper.readString(); - wrapper.readByte(); - const roomId = wrapper.readInt(); - - const chatlogs = []; - - const chatlogSize = wrapper.readShort(); - - for(let i = 0; i < chatlogSize; i++) - { - const timestamp = wrapper.readString(); - const userId = wrapper.readInt(); - const userName = wrapper.readString(); - const message = wrapper.readString(); - const bool = wrapper.readBoolean(); - chatlogs.push(new ModtoolUserChatlogParserChatlog(timestamp, userId, userName, message, bool)); - } - - this._roomVisits.push(new ModtoolUserChatlogParserVisit(roomName, roomId, chatlogs)); - } - - return true; - } - - public get id(): number - { - return this._id; - } - - public get username(): string - { - return this._username; - } - - public get roomVisits(): ModtoolUserChatlogParserVisit[] - { - return this._roomVisits; - } - -} diff --git a/src/nitro/communication/messages/parser/modtool/index.ts b/src/nitro/communication/messages/parser/modtool/index.ts deleted file mode 100644 index 98b61ea2..00000000 --- a/src/nitro/communication/messages/parser/modtool/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from './ModtoolCFHTopicsParser'; -export * from './ModtoolMainParser'; -export * from './ModtoolRoomChatlogParser'; -export * from './ModtoolRoomInfoParser'; -export * from './ModtoolRoomUsersParser'; -export * from './ModtoolUserChatlogParser'; -export * from './ModtoolUserInfoParser'; -export * from './utils'; diff --git a/src/nitro/communication/messages/parser/modtool/utils/CallForHelpCategoryData.ts b/src/nitro/communication/messages/parser/modtool/utils/CallForHelpCategoryData.ts deleted file mode 100644 index 2b504d1f..00000000 --- a/src/nitro/communication/messages/parser/modtool/utils/CallForHelpCategoryData.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; - -export class CallForHelpCategoryData -{ - private _name: string; - private _topics: CallForHelpTopicData[]; - - constructor(wrapper: IMessageDataWrapper) - { - this._topics = []; - this._name = wrapper.readString(); - const count = wrapper.readInt(); - let i = 0; - while(i < count) - { - const name = wrapper.readString(); - const id = wrapper.readInt(); - const unknown = wrapper.readString(); - this._topics.push({ - name, - id, - consequence: unknown - }); - i++; - } - - } - - public get topics(): CallForHelpTopicData[] - { - return this._topics; - } - - public get name(): string - { - return this._name; - } -} - -interface CallForHelpTopicData { - name: string; - id: number; - consequence: string; -} diff --git a/src/nitro/communication/messages/parser/modtool/utils/IChatlog.ts b/src/nitro/communication/messages/parser/modtool/utils/IChatlog.ts deleted file mode 100644 index d14b401b..00000000 --- a/src/nitro/communication/messages/parser/modtool/utils/IChatlog.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface IChatlog -{ - timestamp: string; - userId: number; - userName: string; - message: string; -} diff --git a/src/nitro/communication/messages/parser/modtool/utils/IssueInfoMessageParser.ts b/src/nitro/communication/messages/parser/modtool/utils/IssueInfoMessageParser.ts deleted file mode 100644 index daad709b..00000000 --- a/src/nitro/communication/messages/parser/modtool/utils/IssueInfoMessageParser.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; -import { IssueMessageData } from './IssueMessageData'; -import { PatternMatchData } from './PatternMatchData'; - -export class IssueInfoMessageParser implements IMessageParser -{ - private _issueData:IssueMessageData; - - - public get issueData():IssueMessageData - { - return this._issueData; - } - - public flush():boolean - { - this._issueData = null; - return true; - } - - public parse(k:IMessageDataWrapper):boolean - { - const _local_2:number = k.readInt(); - const _local_3:number = k.readInt(); - const _local_4:number = k.readInt(); - const _local_5:number = k.readInt(); - const _local_6:number = k.readInt(); - const _local_7:number = k.readInt(); - const _local_8:number = k.readInt(); - const _local_9:number = k.readInt(); - const _local_10:string = k.readString(); - const _local_11:number = k.readInt(); - const _local_12:string = k.readString(); - const _local_13:number = k.readInt(); - const _local_14:string = k.readString(); - const _local_15:string = k.readString(); - const _local_16:number = k.readInt(); - const _local_17:number = k.readInt(); - const _local_18:PatternMatchData[] = []; - let _local_19 = 0; - while(_local_19 < _local_17) - { - _local_18.push(new PatternMatchData(k)); - _local_19++; - } - this._issueData = new IssueMessageData(_local_2, _local_3, _local_4, _local_5, _local_6, _local_7, _local_8, _local_9, _local_10, _local_11, _local_12, _local_13, _local_14, _local_15, _local_16, _local_18); - return true; - } -} diff --git a/src/nitro/communication/messages/parser/modtool/utils/ModtoolUserChatlogParserChatlog.ts b/src/nitro/communication/messages/parser/modtool/utils/ModtoolUserChatlogParserChatlog.ts deleted file mode 100644 index 30e450d9..00000000 --- a/src/nitro/communication/messages/parser/modtool/utils/ModtoolUserChatlogParserChatlog.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { IChatlog } from './IChatlog'; - -export class ModtoolUserChatlogParserChatlog implements IChatlog -{ - private readonly _timestamp: string; - private readonly _userId: number; - private readonly _userName: string; - private readonly _message: string; - private readonly _bool: boolean; - - constructor(timestamp: string, userId: number, userName: string, message: string, bool: boolean) - { - this._timestamp = timestamp; - this._userId = userId; - this._userName = userName; - this._message = message; - this._bool = bool; - } - - public get timestamp(): string - { - return this._timestamp; - } - - public get userId(): number - { - return this._userId; - } - - public get userName(): string - { - return this._userName; - } - - public get message(): string - { - return this._message; - } - - public get bool(): boolean - { - return this._bool; - } -} diff --git a/src/nitro/communication/messages/parser/modtool/utils/ModtoolUserChatlogParserVisit.ts b/src/nitro/communication/messages/parser/modtool/utils/ModtoolUserChatlogParserVisit.ts deleted file mode 100644 index 0b684a85..00000000 --- a/src/nitro/communication/messages/parser/modtool/utils/ModtoolUserChatlogParserVisit.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { ModtoolUserChatlogParserChatlog } from './ModtoolUserChatlogParserChatlog'; -import { IChatlog } from './IChatlog'; - -export class ModtoolUserChatlogParserVisit -{ - private readonly _roomName: string; - private readonly _roomId: number; - private readonly _chatlogs: IChatlog[]; - - constructor(roomName: string, roomId: number, chatlogs: IChatlog[]) - { - this._roomName = roomName; - this._roomId = roomId; - this._chatlogs = chatlogs; - } - - public get roomName(): string - { - return this._roomName; - } - - public get roomId(): number - { - return this._roomId; - } - - public get chatlogs(): IChatlog[] - { - return this._chatlogs; - } -} diff --git a/src/nitro/communication/messages/parser/modtool/utils/index.ts b/src/nitro/communication/messages/parser/modtool/utils/index.ts deleted file mode 100644 index 180c8620..00000000 --- a/src/nitro/communication/messages/parser/modtool/utils/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -export * from './CallForHelpCategoryData'; -export * from './IChatlog'; -export * from './IssueInfoMessageParser'; -export * from './IssueMessageData'; -export * from './ModeratorInitData'; -export * from './ModeratorUserInfoData'; -export * from './ModtoolRoomChatlogLine'; -export * from './ModtoolRoomVisitedData'; -export * from './ModtoolUserChatlogParserChatlog'; -export * from './ModtoolUserChatlogParserVisit'; -export * from './PatternMatchData'; -export * from './RoomVisitData'; diff --git a/src/nitro/communication/messages/parser/mysterybox/MysteryBoxKeysParser.ts b/src/nitro/communication/messages/parser/mysterybox/MysteryBoxKeysParser.ts index 385a4fa2..e107e81d 100644 --- a/src/nitro/communication/messages/parser/mysterybox/MysteryBoxKeysParser.ts +++ b/src/nitro/communication/messages/parser/mysterybox/MysteryBoxKeysParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class MysteryBoxKeysParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorCategoriesParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorCategoriesParser.ts index 057d00ed..6c9af04b 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorCategoriesParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorCategoriesParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { NavigatorCategoryDataParser } from './NavigatorCategoryDataParser'; export class NavigatorCategoriesParser implements IMessageParser @@ -33,4 +32,4 @@ export class NavigatorCategoriesParser implements IMessageParser { return this._categories; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorCategoryDataParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorCategoryDataParser.ts index 2d56cdb3..1659bcde 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorCategoryDataParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorCategoryDataParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class NavigatorCategoryDataParser { @@ -80,4 +80,4 @@ export class NavigatorCategoryDataParser { return this._staffOnly; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorCollapsedParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorCollapsedParser.ts index 04fcdb08..44af5b81 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorCollapsedParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorCollapsedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class NavigatorCollapsedParser implements IMessageParser { @@ -32,4 +31,4 @@ export class NavigatorCollapsedParser implements IMessageParser { return this._categories; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorEventCategoriesParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorEventCategoriesParser.ts index e2c311b6..c07c6e68 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorEventCategoriesParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorEventCategoriesParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { NavigatorEventCategoryDataParser } from './NavigatorEventCategoryDataParser'; export class NavigatorEventCategoriesParser implements IMessageParser @@ -33,4 +32,4 @@ export class NavigatorEventCategoriesParser implements IMessageParser { return this._categories; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorEventCategoryDataParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorEventCategoryDataParser.ts index 65f6bb66..01d5c421 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorEventCategoryDataParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorEventCategoryDataParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class NavigatorEventCategoryDataParser { @@ -48,4 +48,4 @@ export class NavigatorEventCategoryDataParser { return this._visible; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorHomeRoomParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorHomeRoomParser.ts index ba60fe72..25fe78f0 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorHomeRoomParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorHomeRoomParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class NavigatorHomeRoomParser implements IMessageParser { @@ -33,4 +32,4 @@ export class NavigatorHomeRoomParser implements IMessageParser { return this._roomIdToEnter; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorLiftedDataParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorLiftedDataParser.ts index 605b7f77..109e57c0 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorLiftedDataParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorLiftedDataParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; export class NavigatorLiftedDataParser { @@ -56,4 +56,4 @@ export class NavigatorLiftedDataParser { return this._caption; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorLiftedParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorLiftedParser.ts index 0aabb983..a1584721 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorLiftedParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorLiftedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { NavigatorLiftedDataParser } from './NavigatorLiftedDataParser'; export class NavigatorLiftedParser implements IMessageParser @@ -33,4 +32,4 @@ export class NavigatorLiftedParser implements IMessageParser { return this._rooms; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorMetadataParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorMetadataParser.ts index 3f747206..2ead4b5c 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorMetadataParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorMetadataParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { NavigatorTopLevelContext } from './utils/NavigatorTopLevelContext'; export class NavigatorMetadataParser implements IMessageParser @@ -33,4 +32,4 @@ export class NavigatorMetadataParser implements IMessageParser { return this._topLevelContexts; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorOpenRoomCreatorParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorOpenRoomCreatorParser.ts index 9923eb6e..58d08ffb 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorOpenRoomCreatorParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorOpenRoomCreatorParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class NavigatorOpenRoomCreatorParser implements IMessageParser { @@ -14,4 +13,4 @@ export class NavigatorOpenRoomCreatorParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorSearchParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorSearchParser.ts index e2a6f403..7acb7612 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorSearchParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorSearchParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { NavigatorSearchResultSet } from './utils/NavigatorSearchResultSet'; export class NavigatorSearchParser implements IMessageParser @@ -26,4 +25,4 @@ export class NavigatorSearchParser implements IMessageParser { return this._result; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorSearchesParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorSearchesParser.ts index 753720bb..c116ffc9 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorSearchesParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorSearchesParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { NavigatorSavedSearch } from './utils/NavigatorSavedSearch'; export class NavigatorSearchesParser implements IMessageParser @@ -33,4 +32,4 @@ export class NavigatorSearchesParser implements IMessageParser { return this._searches; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/NavigatorSettingsParser.ts b/src/nitro/communication/messages/parser/navigator/NavigatorSettingsParser.ts index c0f7b7e8..7fa45d45 100644 --- a/src/nitro/communication/messages/parser/navigator/NavigatorSettingsParser.ts +++ b/src/nitro/communication/messages/parser/navigator/NavigatorSettingsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class NavigatorSettingsParser implements IMessageParser { @@ -65,4 +64,4 @@ export class NavigatorSettingsParser implements IMessageParser { return this._resultsMode; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/utils/NavigatorSavedSearch.ts b/src/nitro/communication/messages/parser/navigator/utils/NavigatorSavedSearch.ts index 38467db3..900fdc7d 100644 --- a/src/nitro/communication/messages/parser/navigator/utils/NavigatorSavedSearch.ts +++ b/src/nitro/communication/messages/parser/navigator/utils/NavigatorSavedSearch.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class NavigatorSavedSearch { @@ -56,4 +56,4 @@ export class NavigatorSavedSearch { return this._localization; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/utils/NavigatorSearchResultList.ts b/src/nitro/communication/messages/parser/navigator/utils/NavigatorSearchResultList.ts index 358d2ae2..83f15813 100644 --- a/src/nitro/communication/messages/parser/navigator/utils/NavigatorSearchResultList.ts +++ b/src/nitro/communication/messages/parser/navigator/utils/NavigatorSearchResultList.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; import { RoomDataParser } from '../../room/data/RoomDataParser'; export class NavigatorSearchResultList @@ -81,4 +81,4 @@ export class NavigatorSearchResultList { return this._rooms; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/utils/NavigatorSearchResultSet.ts b/src/nitro/communication/messages/parser/navigator/utils/NavigatorSearchResultSet.ts index 470bb80f..c1858eee 100644 --- a/src/nitro/communication/messages/parser/navigator/utils/NavigatorSearchResultSet.ts +++ b/src/nitro/communication/messages/parser/navigator/utils/NavigatorSearchResultSet.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; import { NavigatorSearchResultList } from './NavigatorSearchResultList'; export class NavigatorSearchResultSet @@ -57,4 +57,4 @@ export class NavigatorSearchResultSet { return this._results; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/navigator/utils/NavigatorTopLevelContext.ts b/src/nitro/communication/messages/parser/navigator/utils/NavigatorTopLevelContext.ts index b2b8980d..3830e3c9 100644 --- a/src/nitro/communication/messages/parser/navigator/utils/NavigatorTopLevelContext.ts +++ b/src/nitro/communication/messages/parser/navigator/utils/NavigatorTopLevelContext.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; import { NavigatorSavedSearch } from './NavigatorSavedSearch'; export class NavigatorTopLevelContext @@ -49,4 +49,4 @@ export class NavigatorTopLevelContext { return this._savedSearches; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/notifications/AchievementNotificationMessageParser.ts b/src/nitro/communication/messages/parser/notifications/AchievementNotificationMessageParser.ts new file mode 100644 index 00000000..730d41a4 --- /dev/null +++ b/src/nitro/communication/messages/parser/notifications/AchievementNotificationMessageParser.ts @@ -0,0 +1,28 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { AchievementLevelUpData } from '../../incoming'; + +export class AchievementNotificationMessageParser implements IMessageParser +{ + private _data: AchievementLevelUpData; + + public flush(): boolean + { + this._data = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._data = new AchievementLevelUpData(wrapper); + + return true; + } + + public get data(): AchievementLevelUpData + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/parser/user/inventory/currency/UserCurrencyUpdateParser.ts b/src/nitro/communication/messages/parser/notifications/ActivityPointNotificationParser.ts similarity index 73% rename from src/nitro/communication/messages/parser/user/inventory/currency/UserCurrencyUpdateParser.ts rename to src/nitro/communication/messages/parser/notifications/ActivityPointNotificationParser.ts index f6e2c3cd..27fa496e 100644 --- a/src/nitro/communication/messages/parser/user/inventory/currency/UserCurrencyUpdateParser.ts +++ b/src/nitro/communication/messages/parser/notifications/ActivityPointNotificationParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; -export class UserCurrencyUpdateParser implements IMessageParser +export class ActivityPointNotificationParser implements IMessageParser { private _amount: number; private _amountChanged: number; @@ -41,4 +40,4 @@ export class UserCurrencyUpdateParser implements IMessageParser { return this._type; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/notifications/BotErrorEventParser.ts b/src/nitro/communication/messages/parser/notifications/BotErrorEventParser.ts index b7c30b85..7a500b9a 100644 --- a/src/nitro/communication/messages/parser/notifications/BotErrorEventParser.ts +++ b/src/nitro/communication/messages/parser/notifications/BotErrorEventParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class BotErrorEventParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/notifications/ClubGiftNotificationParser.ts b/src/nitro/communication/messages/parser/notifications/ClubGiftNotificationParser.ts new file mode 100644 index 00000000..28cb5d95 --- /dev/null +++ b/src/nitro/communication/messages/parser/notifications/ClubGiftNotificationParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class ClubGiftNotificationParser implements IMessageParser +{ + private _numGifts: number; + + public flush(): boolean + { + this._numGifts = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._numGifts = wrapper.readInt(); + + return true; + } + + public get numGifts(): number + { + return this._numGifts; + } +} diff --git a/src/nitro/communication/messages/parser/notifications/HabboBroadcastMessageParser.ts b/src/nitro/communication/messages/parser/notifications/HabboBroadcastMessageParser.ts index 7bb96b7b..07d37fee 100644 --- a/src/nitro/communication/messages/parser/notifications/HabboBroadcastMessageParser.ts +++ b/src/nitro/communication/messages/parser/notifications/HabboBroadcastMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class HabboBroadcastMessageParser implements IMessageParser { @@ -25,4 +24,4 @@ export class HabboBroadcastMessageParser implements IMessageParser { return this._message; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/notifications/HotelWillShutdownParser.ts b/src/nitro/communication/messages/parser/notifications/HotelWillShutdownParser.ts index bd7f8fc8..27acb3db 100644 --- a/src/nitro/communication/messages/parser/notifications/HotelWillShutdownParser.ts +++ b/src/nitro/communication/messages/parser/notifications/HotelWillShutdownParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class HotelWillShutdownParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/notifications/InfoFeedEnableMessageParser.ts b/src/nitro/communication/messages/parser/notifications/InfoFeedEnableMessageParser.ts new file mode 100644 index 00000000..bbed11b5 --- /dev/null +++ b/src/nitro/communication/messages/parser/notifications/InfoFeedEnableMessageParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class InfoFeedEnableMessageParser implements IMessageParser +{ + private _enabled: boolean; + + public flush(): boolean + { + this._enabled = false; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._enabled = wrapper.readBoolean(); + + return true; + } + + public get enabled(): boolean + { + return this._enabled; + } +} diff --git a/src/nitro/communication/messages/parser/notifications/MOTDNotificationParser.ts b/src/nitro/communication/messages/parser/notifications/MOTDNotificationParser.ts index a3e6695c..1319fb95 100644 --- a/src/nitro/communication/messages/parser/notifications/MOTDNotificationParser.ts +++ b/src/nitro/communication/messages/parser/notifications/MOTDNotificationParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class MOTDNotificationParser implements IMessageParser { @@ -32,4 +31,4 @@ export class MOTDNotificationParser implements IMessageParser { return this._messages; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/notifications/NotificationDialogMessageParser.ts b/src/nitro/communication/messages/parser/notifications/NotificationDialogMessageParser.ts index 7c16a5e1..b817fbe4 100644 --- a/src/nitro/communication/messages/parser/notifications/NotificationDialogMessageParser.ts +++ b/src/nitro/communication/messages/parser/notifications/NotificationDialogMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class NotificationDialogMessageParser implements IMessageParser { @@ -41,4 +40,4 @@ export class NotificationDialogMessageParser implements IMessageParser { return this._parameters; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/notifications/PetLevelNotificationParser.ts b/src/nitro/communication/messages/parser/notifications/PetLevelNotificationParser.ts new file mode 100644 index 00000000..44b1e33f --- /dev/null +++ b/src/nitro/communication/messages/parser/notifications/PetLevelNotificationParser.ts @@ -0,0 +1,52 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { PetFigureDataParser } from '../inventory/pets/PetFigureDataParser'; + +export class PetLevelNotificationParser implements IMessageParser +{ + private _petId: number; + private _petName: string; + private _level: number; + private _figureData: PetFigureDataParser; + + public flush(): boolean + { + this._petId = -1; + this._petName = null; + this._level = 0; + this._figureData = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._petId = wrapper.readInt(); + this._petName = wrapper.readString(); + this._level = wrapper.readInt(); + this._figureData = new PetFigureDataParser(wrapper); + + return true; + } + + public get petId(): number + { + return this._petId; + } + + public get petName(): string + { + return this._petName; + } + + public get level(): number + { + return this._level; + } + + public get figureData(): PetFigureDataParser + { + return this._figureData; + } +} diff --git a/src/nitro/communication/messages/parser/notifications/PetPlacingErrorEventParser.ts b/src/nitro/communication/messages/parser/notifications/PetPlacingErrorEventParser.ts index 9fbe2d6b..d9df9f45 100644 --- a/src/nitro/communication/messages/parser/notifications/PetPlacingErrorEventParser.ts +++ b/src/nitro/communication/messages/parser/notifications/PetPlacingErrorEventParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class PetPlacingErrorEventParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/notifications/UnseenItemsParser.ts b/src/nitro/communication/messages/parser/notifications/UnseenItemsParser.ts index c91e3c51..f386819c 100644 --- a/src/nitro/communication/messages/parser/notifications/UnseenItemsParser.ts +++ b/src/nitro/communication/messages/parser/notifications/UnseenItemsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { AdvancedMap } from '../../../../../core/utils/AdvancedMap'; export class UnseenItemsParser implements IMessageParser @@ -50,4 +49,4 @@ export class UnseenItemsParser implements IMessageParser { return this._items.getKeys(); } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/notifications/index.ts b/src/nitro/communication/messages/parser/notifications/index.ts index 9a7e2126..3716cd8d 100644 --- a/src/nitro/communication/messages/parser/notifications/index.ts +++ b/src/nitro/communication/messages/parser/notifications/index.ts @@ -1,8 +1,12 @@ +export * from './AchievementNotificationMessageParser'; +export * from './ActivityPointNotificationParser'; export * from './BotErrorEventParser'; +export * from './ClubGiftNotificationParser'; export * from './HabboBroadcastMessageParser'; export * from './HotelWillShutdownParser'; +export * from './InfoFeedEnableMessageParser'; export * from './MOTDNotificationParser'; export * from './NotificationDialogMessageParser'; +export * from './PetLevelNotificationParser'; export * from './PetPlacingErrorEventParser'; -export * from './RespectReceivedParser'; export * from './UnseenItemsParser'; diff --git a/src/nitro/communication/messages/parser/perk/PerkAllowancesMessageParser.ts b/src/nitro/communication/messages/parser/perk/PerkAllowancesMessageParser.ts new file mode 100644 index 00000000..b1b41cd8 --- /dev/null +++ b/src/nitro/communication/messages/parser/perk/PerkAllowancesMessageParser.ts @@ -0,0 +1,52 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { PerkData } from './common/PerkData'; + +export class PerkAllowancesMessageParser implements IMessageParser +{ + private _perks: PerkData[]; + + public flush(): boolean + { + this._perks = []; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._perks = []; + + const size: number = wrapper.readInt(); + + for(let i = 0; i < size; i++) this._perks.push(new PerkData( + wrapper.readString(), + wrapper.readString(), + wrapper.readBoolean() + )); + + return true; + } + + public isAllowed(perkCode: string): boolean + { + let allowed = false; + + for(const perk of this._perks) + { + if(perk.code === perkCode) + { + allowed = perk.isAllowed; + break; + } + } + + return allowed; + } + + public get perks(): PerkData[] + { + return this._perks; + } +} diff --git a/src/nitro/communication/messages/parser/perk/common/PerkData.ts b/src/nitro/communication/messages/parser/perk/common/PerkData.ts new file mode 100644 index 00000000..61ef5427 --- /dev/null +++ b/src/nitro/communication/messages/parser/perk/common/PerkData.ts @@ -0,0 +1,28 @@ +export class PerkData +{ + private _code: string; + private _errorMessage: string; + private _isAllowed: boolean; + + constructor(code: string, errorMessage: string, isAllowed: boolean) + { + this._code = code; + this._errorMessage = errorMessage; + this._isAllowed = isAllowed; + } + + public get code(): string + { + return this._code; + } + + public get errorMessage(): string + { + return this._errorMessage; + } + + public get isAllowed(): boolean + { + return this._isAllowed; + } +} diff --git a/src/nitro/communication/messages/parser/perk/common/PerkEnum.ts b/src/nitro/communication/messages/parser/perk/common/PerkEnum.ts new file mode 100644 index 00000000..454eee9e --- /dev/null +++ b/src/nitro/communication/messages/parser/perk/common/PerkEnum.ts @@ -0,0 +1,15 @@ +export class PerkEnum +{ + public static USE_GUIDE_TOOL: string = 'USE_GUIDE_TOOL'; + public static GIVE_GUIDE_TOUR: string = 'GIVE_GUIDE_TOUR'; + public static JUDGE_CHAT_REVIEWS: string = 'JUDGE_CHAT_REVIEWS'; + public static VOTE_IN_COMPETITIONS: string = 'VOTE_IN_COMPETITIONS'; + public static CALL_ON_HELPERS: string = 'CALL_ON_HELPERS'; + public static CITIZEN: string = 'CITIZEN'; + public static TRADE: string = 'TRADE'; + public static HEIGHTMAP_EDITOR_BETA: string = 'HEIGHTMAP_EDITOR_BETA'; + public static BUILDER_AT_WORK: string = 'BUILDER_AT_WORK'; + public static NAVIGATOR_ROOM_THUMBNAIL_CAMERA: string = 'NAVIGATOR_ROOM_THUMBNAIL_CAMERA'; + public static CAMERA: string = 'CAMERA'; + public static MOUSE_ZOOM: string = 'MOUSE_ZOOM'; +} diff --git a/src/nitro/communication/messages/parser/perk/common/index.ts b/src/nitro/communication/messages/parser/perk/common/index.ts new file mode 100644 index 00000000..a6170730 --- /dev/null +++ b/src/nitro/communication/messages/parser/perk/common/index.ts @@ -0,0 +1,2 @@ +export * from './PerkData'; +export * from './PerkEnum'; diff --git a/src/nitro/communication/messages/parser/perk/index.ts b/src/nitro/communication/messages/parser/perk/index.ts new file mode 100644 index 00000000..598feef8 --- /dev/null +++ b/src/nitro/communication/messages/parser/perk/index.ts @@ -0,0 +1,2 @@ +export * from './common'; +export * from './PerkAllowancesMessageParser'; diff --git a/src/nitro/communication/messages/parser/poll/PollChoice.ts b/src/nitro/communication/messages/parser/poll/PollChoice.ts new file mode 100644 index 00000000..5895b3ef --- /dev/null +++ b/src/nitro/communication/messages/parser/poll/PollChoice.ts @@ -0,0 +1,43 @@ +export class PollChoice +{ + private _value:string; + private _choiceText:string; + private _choiceType:number; + + constructor(k:string, _arg_2:string, _arg_3:number) + { + this._value = k; + this._choiceText = _arg_2; + this._choiceType = _arg_3; + } + + public get value():string + { + return this._value; + } + + public set value(value:string) + { + this._value = value; + } + + public get choiceText():string + { + return this._choiceText; + } + + public set choiceText(choiceText:string) + { + this._choiceText = choiceText; + } + + public get choiceType():number + { + return this._choiceType; + } + + public set choiceType(k:number) + { + this._choiceType = k; + } +} diff --git a/src/nitro/communication/messages/parser/poll/PollContentsParser.ts b/src/nitro/communication/messages/parser/poll/PollContentsParser.ts new file mode 100644 index 00000000..383494d6 --- /dev/null +++ b/src/nitro/communication/messages/parser/poll/PollContentsParser.ts @@ -0,0 +1,99 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { PollChoice } from './PollChoice'; +import { PollQuestion } from './PollQuestion'; + +export class PollContentsParser implements IMessageParser +{ + private _id = -1; + private _startMessage = ''; + private _endMessage = ''; + private _numQuestions = 0; + private _questionArray:PollQuestion[] = []; + private _npsPoll = false + + flush(): boolean + { + this._id = -1; + this._startMessage = ''; + this._endMessage = ''; + this._numQuestions = 0; + this._questionArray = []; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._id = wrapper.readInt(); + this._startMessage = wrapper.readString(); + this._endMessage = wrapper.readString(); + this._numQuestions = wrapper.readInt(); + + for(let i = 0; i < this._numQuestions; i++) + { + const question = this.parsePollQuestion(wrapper); + const childrenCount = wrapper.readInt(); + + for(let j = 0; j < childrenCount; j++) + { + question.children.push(this.parsePollQuestion(wrapper)); + } + + this._questionArray.push(question); + } + + this._npsPoll = wrapper.readBoolean(); + return true; + } + + private parsePollQuestion(k:IMessageDataWrapper):PollQuestion + { + const pollQuestion = new PollQuestion(); + pollQuestion.questionId = k.readInt(); + pollQuestion.sortOrder = k.readInt(); + pollQuestion.questionType = k.readInt(); + pollQuestion.questionText = k.readString(); + pollQuestion.questionCategory = k.readInt(); + pollQuestion.questionAnswerType = k.readInt(); + pollQuestion.questionAnswerCount = k.readInt(); + if(((pollQuestion.questionType == 1) || (pollQuestion.questionType == 2))) + { + for(let i = 0; i < pollQuestion.questionAnswerCount; i++) + { + pollQuestion.questionChoices.push(new PollChoice(k.readString(), k.readString(), k.readInt())); + } + } + return pollQuestion; + } + + public get id():number + { + return this._id; + } + + public get startMessage():string + { + return this._startMessage; + } + + public get endMessage():string + { + return this._endMessage; + } + + public get numQuestions():number + { + return this._numQuestions; + } + + public get questionArray():PollQuestion[] + { + return this._questionArray; + } + + public get npsPoll():boolean + { + return this._npsPoll; + } + +} diff --git a/src/nitro/communication/messages/parser/catalog/CatalogSoldOutParser.ts b/src/nitro/communication/messages/parser/poll/PollErrorParser.ts similarity index 54% rename from src/nitro/communication/messages/parser/catalog/CatalogSoldOutParser.ts rename to src/nitro/communication/messages/parser/poll/PollErrorParser.ts index b864b5b9..132187a4 100644 --- a/src/nitro/communication/messages/parser/catalog/CatalogSoldOutParser.ts +++ b/src/nitro/communication/messages/parser/poll/PollErrorParser.ts @@ -1,17 +1,15 @@ import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; -export class CatalogSoldOutParser implements IMessageParser +export class PollErrorParser implements IMessageParser { - public flush(): boolean + flush(): boolean + { + throw true; + } + + parse(wrapper: IMessageDataWrapper): boolean { return true; } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - return true; - } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/poll/PollOfferParser.ts b/src/nitro/communication/messages/parser/poll/PollOfferParser.ts new file mode 100644 index 00000000..6f27805d --- /dev/null +++ b/src/nitro/communication/messages/parser/poll/PollOfferParser.ts @@ -0,0 +1,47 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class PollOfferParser implements IMessageParser +{ + private _id = -1; + private _type = ''; + private _headline = ''; + private _summary = ''; + + flush(): boolean + { + this._id = -1; + this._type = ''; + this._summary = ''; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._id = wrapper.readInt(); + this._type = wrapper.readString(); + this._headline = wrapper.readString(); + this._summary = wrapper.readString(); + return true; + } + + public get id():number + { + return this._id; + } + + public get type():string + { + return this._type; + } + + public get headline():string + { + return this._headline; + } + + public get summary():string + { + return this._summary; + } +} diff --git a/src/nitro/communication/messages/parser/poll/PollQuestion.ts b/src/nitro/communication/messages/parser/poll/PollQuestion.ts new file mode 100644 index 00000000..35fdb802 --- /dev/null +++ b/src/nitro/communication/messages/parser/poll/PollQuestion.ts @@ -0,0 +1,110 @@ +import { PollChoice } from './PollChoice'; + +export class PollQuestion +{ + private _questionId:number; + private _questionType:number; + private _sortOrder:number; + private _questionCategory:number; + private _questionText:string; + private _questionAnswerType:number; + private _questionAnswerCount:number; + private _children:PollQuestion[]; + private _questionChoices:PollChoice[]; + + constructor() + { + this._children = []; + this._questionChoices = []; + } + + public get questionId():number + { + return this._questionId; + } + + public set questionId(k:number) + { + this._questionId = k; + } + + public get questionType():number + { + return this._questionType; + } + + public set questionType(k:number) + { + this._questionType = k; + } + + public get sortOrder():number + { + return this._sortOrder; + } + + public set sortOrder(sortOrder:number) + { + this._sortOrder = sortOrder; + } + + public get questionText():string + { + return this._questionText; + } + + public set questionText(k:string) + { + this._questionText = k; + } + + public get questionCategory():number + { + return this._questionCategory; + } + + public set questionCategory(k:number) + { + this._questionCategory = k; + } + + public get questionAnswerType():number + { + return this._questionAnswerType; + } + + public set questionAnswerType(k:number) + { + this._questionAnswerType = k; + } + + public get questionAnswerCount():number + { + return this._questionAnswerCount; + } + + public set questionAnswerCount(k:number) + { + this._questionAnswerCount = k; + } + + public get children():PollQuestion[] + { + return this._children; + } + + public set children(children:PollQuestion[]) + { + this._children = children; + } + + public get questionChoices():PollChoice[] + { + return this._questionChoices; + } + + public set questionChoices(k:PollChoice[]) + { + this._questionChoices = k; + } +} diff --git a/src/nitro/communication/messages/parser/poll/QuestionAnsweredParser.ts b/src/nitro/communication/messages/parser/poll/QuestionAnsweredParser.ts new file mode 100644 index 00000000..e5b26406 --- /dev/null +++ b/src/nitro/communication/messages/parser/poll/QuestionAnsweredParser.ts @@ -0,0 +1,50 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class QuestionAnsweredParser implements IMessageParser +{ + private _userId:number; + private _value:string; + private _answerCounts:Map; + + flush(): boolean + { + this._userId = -1; + this._value = ''; + this._answerCounts = null; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._userId = wrapper.readInt(); + this._value = wrapper.readString(); + this._answerCounts = new Map(); + + const count = wrapper.readInt(); + + for(let i = 0; i < count; i++) + { + const key = wrapper.readString(); + const value = wrapper.readInt(); + this._answerCounts.set(key, value); + } + return true; + } + + public get userId():number + { + return this._userId; + } + + public get value():string + { + return this._value; + } + + public get answerCounts():Map + { + return this._answerCounts; + } + +} diff --git a/src/nitro/communication/messages/parser/poll/QuestionFinishedParser.ts b/src/nitro/communication/messages/parser/poll/QuestionFinishedParser.ts new file mode 100644 index 00000000..da361013 --- /dev/null +++ b/src/nitro/communication/messages/parser/poll/QuestionFinishedParser.ts @@ -0,0 +1,40 @@ +import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class QuestionFinishedParser implements IMessageParser +{ + private _questionId:number; + private _answerCounts:Map; + + flush(): boolean + { + this._questionId = -1; + this._answerCounts = null; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._questionId = wrapper.readInt(); + this._answerCounts = new Map(); + const count = wrapper.readInt(); + + for(let i = 0; i < count; i++) + { + const key = wrapper.readString(); + const value = wrapper.readInt(); + this._answerCounts.set(key, value); + } + return true; + } + + public get questionId():number + { + return this._questionId; + } + + public get answerCounts():Map + { + return this._answerCounts; + } +} diff --git a/src/nitro/communication/messages/parser/poll/QuestionParser.ts b/src/nitro/communication/messages/parser/poll/QuestionParser.ts new file mode 100644 index 00000000..24b76899 --- /dev/null +++ b/src/nitro/communication/messages/parser/poll/QuestionParser.ts @@ -0,0 +1,91 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; + +export class QuestionParser implements IMessageParser +{ + private _pollType:string = null; + private _pollId= -1; + private _questionId = -1; + private _duration = -1; + private _question:IQuestion = null; + + flush(): boolean + { + this._pollType = null; + this._pollId = -1; + this._questionId = -1; + this._duration = -1; + this._question = null; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._pollType = wrapper.readString(); + this._pollId = wrapper.readInt(); + this._questionId = wrapper.readInt(); + this._duration = wrapper.readInt(); + + const questionId = wrapper.readInt(); + const questionNumber = wrapper.readInt(); + const questionType = wrapper.readInt(); + const questionContent = wrapper.readString(); + + this._question = { id: questionId, number: questionNumber, type: questionType, content: questionContent }; + + if(((this._question.type == 1) || (this._question.type == 2))) + { + this._question.selection_min = wrapper.readInt(); + const count = wrapper.readInt(); + this._question.selections = []; + this._question.selection_values = []; + this._question.selection_count = count; + this._question.selection_max = count; + + for(let i = 0; i < count; i++) + { + this._question.selection_values.push(wrapper.readString()); + this._question.selections.push(wrapper.readString()); + } + } + return true; + } + + public get pollType():string + { + return this._pollType; + } + + public get pollId():number + { + return this._pollId; + } + + public get questionId():number + { + return this._questionId; + } + + public get duration():number + { + return this._duration; + } + + public get question():IQuestion + { + return this._question; + } +} + +export interface IQuestion +{ + id: number; + number: number; + type: number; + content: string; + selection_min?: number; + selections?: string[]; + selection_values?: string[]; + selection_count?: number; + selection_max?: number; +} diff --git a/src/nitro/communication/messages/parser/poll/index.ts b/src/nitro/communication/messages/parser/poll/index.ts new file mode 100644 index 00000000..b82d2b0a --- /dev/null +++ b/src/nitro/communication/messages/parser/poll/index.ts @@ -0,0 +1,8 @@ +export * from './PollChoice'; +export * from './PollContentsParser'; +export * from './PollErrorParser'; +export * from './PollOfferParser'; +export * from './PollQuestion'; +export * from './QuestionAnsweredParser'; +export * from './QuestionFinishedParser'; +export * from './QuestionParser'; diff --git a/src/nitro/communication/messages/parser/quest/CommunityGoalEarnedPrizesMessageParser.ts b/src/nitro/communication/messages/parser/quest/CommunityGoalEarnedPrizesMessageParser.ts index 7fcbeb02..fe78dfcc 100644 --- a/src/nitro/communication/messages/parser/quest/CommunityGoalEarnedPrizesMessageParser.ts +++ b/src/nitro/communication/messages/parser/quest/CommunityGoalEarnedPrizesMessageParser.ts @@ -1,6 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { PrizeData } from '../../incoming/quest/PrizeData'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageParser } from './../../../../../core'; export class CommunityGoalEarnedPrizesMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/quest/CommunityGoalHallOfFameMessageParser.ts b/src/nitro/communication/messages/parser/quest/CommunityGoalHallOfFameMessageParser.ts index f8210399..5f06b3f2 100644 --- a/src/nitro/communication/messages/parser/quest/CommunityGoalHallOfFameMessageParser.ts +++ b/src/nitro/communication/messages/parser/quest/CommunityGoalHallOfFameMessageParser.ts @@ -1,6 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { CommunityGoalHallOfFameData } from '../../incoming/quest/CommunityGoalHallOfFameData'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageParser } from './../../../../../core'; export class CommunityGoalHallOfFameMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/quest/CommunityGoalProgressMessageParser.ts b/src/nitro/communication/messages/parser/quest/CommunityGoalProgressMessageParser.ts index 5f06505a..301eb246 100644 --- a/src/nitro/communication/messages/parser/quest/CommunityGoalProgressMessageParser.ts +++ b/src/nitro/communication/messages/parser/quest/CommunityGoalProgressMessageParser.ts @@ -1,6 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { CommunityGoalData } from '../../incoming/quest/CommunityGoalData'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageParser } from './../../../../../core'; export class CommunityGoalProgressMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/quest/ConcurrentUsersGoalProgressMessageParser.ts b/src/nitro/communication/messages/parser/quest/ConcurrentUsersGoalProgressMessageParser.ts index af597b4d..d08d5563 100644 --- a/src/nitro/communication/messages/parser/quest/ConcurrentUsersGoalProgressMessageParser.ts +++ b/src/nitro/communication/messages/parser/quest/ConcurrentUsersGoalProgressMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class ConcurrentUsersGoalProgressMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/quest/EpicPopupMessageParser.ts b/src/nitro/communication/messages/parser/quest/EpicPopupMessageParser.ts index a9caa21a..623c7ea5 100644 --- a/src/nitro/communication/messages/parser/quest/EpicPopupMessageParser.ts +++ b/src/nitro/communication/messages/parser/quest/EpicPopupMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class EpicPopupMessageParser implements IMessageParser { @@ -19,7 +19,7 @@ export class EpicPopupMessageParser implements IMessageParser return true; } - public get imageUri():string + public get imageUri(): string { return this._imageUri; } diff --git a/src/nitro/communication/messages/parser/quest/QuestCancelledMessageParser.ts b/src/nitro/communication/messages/parser/quest/QuestCancelledMessageParser.ts index 797ebaf4..76e22aa4 100644 --- a/src/nitro/communication/messages/parser/quest/QuestCancelledMessageParser.ts +++ b/src/nitro/communication/messages/parser/quest/QuestCancelledMessageParser.ts @@ -1,5 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from './../../../../../core'; export class QuestCancelledMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/quest/QuestCompletedMessageParser.ts b/src/nitro/communication/messages/parser/quest/QuestCompletedMessageParser.ts index 3d3a1c01..544b5af0 100644 --- a/src/nitro/communication/messages/parser/quest/QuestCompletedMessageParser.ts +++ b/src/nitro/communication/messages/parser/quest/QuestCompletedMessageParser.ts @@ -1,6 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { QuestMessageData } from '../../incoming/quest/QuestMessageData'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageParser } from './../../../../../core'; export class QuestCompletedMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/quest/QuestDailyMessageParser.ts b/src/nitro/communication/messages/parser/quest/QuestDailyMessageParser.ts index 64d0f911..4c628ff2 100644 --- a/src/nitro/communication/messages/parser/quest/QuestDailyMessageParser.ts +++ b/src/nitro/communication/messages/parser/quest/QuestDailyMessageParser.ts @@ -1,12 +1,12 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { QuestMessageData } from '../../incoming/quest/QuestMessageData'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageParser } from './../../../../../core'; export class QuestDailyMessageParser implements IMessageParser { private _quest:QuestMessageData; - private _easyQuestCount:number; - private _hardQuestCount:number; + private _easyQuestCount: number; + private _hardQuestCount: number; public flush(): boolean { diff --git a/src/nitro/communication/messages/parser/quest/QuestMessageParser.ts b/src/nitro/communication/messages/parser/quest/QuestMessageParser.ts index 241c07d7..8213f98c 100644 --- a/src/nitro/communication/messages/parser/quest/QuestMessageParser.ts +++ b/src/nitro/communication/messages/parser/quest/QuestMessageParser.ts @@ -1,6 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { QuestMessageData } from '../../incoming/quest/QuestMessageData'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageParser } from './../../../../../core'; export class QuestMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/quest/QuestsMessageParser.ts b/src/nitro/communication/messages/parser/quest/QuestsMessageParser.ts index 6695905c..90f9825c 100644 --- a/src/nitro/communication/messages/parser/quest/QuestsMessageParser.ts +++ b/src/nitro/communication/messages/parser/quest/QuestsMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { QuestMessageData } from '../../incoming/quest/QuestMessageData'; export class QuestsMessageParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/quest/SeasonalQuestsParser.ts b/src/nitro/communication/messages/parser/quest/SeasonalQuestsParser.ts index 2ddece51..130bcd33 100644 --- a/src/nitro/communication/messages/parser/quest/SeasonalQuestsParser.ts +++ b/src/nitro/communication/messages/parser/quest/SeasonalQuestsParser.ts @@ -1,6 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../core'; import { QuestMessageData } from '../../incoming/quest/QuestMessageData'; -import { IMessageParser } from './../../../../../core/communication/messages/IMessageParser'; +import { IMessageParser } from './../../../../../core'; export class SeasonalQuestsParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/access/CantConnectMessageParser.ts b/src/nitro/communication/messages/parser/room/access/CantConnectMessageParser.ts index 5e338468..e5d20359 100644 --- a/src/nitro/communication/messages/parser/room/access/CantConnectMessageParser.ts +++ b/src/nitro/communication/messages/parser/room/access/CantConnectMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class CantConnectMessageParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/access/RoomEnterParser.ts b/src/nitro/communication/messages/parser/room/access/RoomEnterParser.ts index 7a8c769d..b52cf962 100644 --- a/src/nitro/communication/messages/parser/room/access/RoomEnterParser.ts +++ b/src/nitro/communication/messages/parser/room/access/RoomEnterParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomEnterParser implements IMessageParser { @@ -14,4 +13,4 @@ export class RoomEnterParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/access/RoomFowardParser.ts b/src/nitro/communication/messages/parser/room/access/RoomFowardParser.ts index ca7664d7..5afe9cac 100644 --- a/src/nitro/communication/messages/parser/room/access/RoomFowardParser.ts +++ b/src/nitro/communication/messages/parser/room/access/RoomFowardParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomFowardParser implements IMessageParser { @@ -25,4 +24,4 @@ export class RoomFowardParser implements IMessageParser { return this._roomId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellAcceptedParser.ts b/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellAcceptedParser.ts index dddafe8f..7ddcd59b 100644 --- a/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellAcceptedParser.ts +++ b/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellAcceptedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class RoomDoorbellAcceptedParser implements IMessageParser { @@ -25,4 +24,4 @@ export class RoomDoorbellAcceptedParser implements IMessageParser { return this._userName; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellParser.ts b/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellParser.ts index c7bb1bbe..98e8fa22 100644 --- a/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellParser.ts +++ b/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class RoomDoorbellParser implements IMessageParser { @@ -25,4 +24,4 @@ export class RoomDoorbellParser implements IMessageParser { return this._userName; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellRejectedParser.ts b/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellRejectedParser.ts index b5935c81..e8cb0259 100644 --- a/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellRejectedParser.ts +++ b/src/nitro/communication/messages/parser/room/access/doorbell/RoomDoorbellRejectedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class RoomDoorbellRejectedParser implements IMessageParser { @@ -25,4 +24,4 @@ export class RoomDoorbellRejectedParser implements IMessageParser { return this._userName; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/access/rights/RoomRightsClearParser.ts b/src/nitro/communication/messages/parser/room/access/rights/RoomRightsClearParser.ts index 530c97e8..3d74ddb4 100644 --- a/src/nitro/communication/messages/parser/room/access/rights/RoomRightsClearParser.ts +++ b/src/nitro/communication/messages/parser/room/access/rights/RoomRightsClearParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class RoomRightsClearParser implements IMessageParser { @@ -14,4 +13,4 @@ export class RoomRightsClearParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/access/rights/RoomRightsOwnerParser.ts b/src/nitro/communication/messages/parser/room/access/rights/RoomRightsOwnerParser.ts index 06fa654e..13ec5347 100644 --- a/src/nitro/communication/messages/parser/room/access/rights/RoomRightsOwnerParser.ts +++ b/src/nitro/communication/messages/parser/room/access/rights/RoomRightsOwnerParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class RoomRightsOwnerParser implements IMessageParser { @@ -14,4 +13,4 @@ export class RoomRightsOwnerParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/access/rights/RoomRightsParser.ts b/src/nitro/communication/messages/parser/room/access/rights/RoomRightsParser.ts index 6f5f9100..031a4884 100644 --- a/src/nitro/communication/messages/parser/room/access/rights/RoomRightsParser.ts +++ b/src/nitro/communication/messages/parser/room/access/rights/RoomRightsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; import { RoomControllerLevel } from '../../../../../../session/enum/RoomControllerLevel'; export class RoomRightsParser implements IMessageParser @@ -26,4 +25,4 @@ export class RoomRightsParser implements IMessageParser { return this._controllerLevel; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/bots/BotCommandConfigurationParser.ts b/src/nitro/communication/messages/parser/room/bots/BotCommandConfigurationParser.ts index 142b5c9b..015e8596 100644 --- a/src/nitro/communication/messages/parser/room/bots/BotCommandConfigurationParser.ts +++ b/src/nitro/communication/messages/parser/room/bots/BotCommandConfigurationParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class BotCommandConfigurationParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/data/RoomChatSettings.ts b/src/nitro/communication/messages/parser/room/data/RoomChatSettings.ts index 0d33983f..558f8bfe 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomChatSettings.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomChatSettings.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class RoomChatSettings { diff --git a/src/nitro/communication/messages/parser/room/data/RoomChatSettingsParser.ts b/src/nitro/communication/messages/parser/room/data/RoomChatSettingsParser.ts index 07dac98d..7fc5270e 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomChatSettingsParser.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomChatSettingsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { RoomChatSettings } from './RoomChatSettings'; export class RoomChatSettingsParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/room/data/RoomDataParser.ts b/src/nitro/communication/messages/parser/room/data/RoomDataParser.ts index 262a6327..5f079798 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomDataParser.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomDataParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class RoomDataParser { diff --git a/src/nitro/communication/messages/parser/room/data/RoomInfoOwnerParser.ts b/src/nitro/communication/messages/parser/room/data/RoomEntryInfoMessageParser.ts similarity index 68% rename from src/nitro/communication/messages/parser/room/data/RoomInfoOwnerParser.ts rename to src/nitro/communication/messages/parser/room/data/RoomEntryInfoMessageParser.ts index a6b8ff72..c52da864 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomInfoOwnerParser.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomEntryInfoMessageParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; -export class RoomInfoOwnerParser implements IMessageParser +export class RoomEntryInfoMessageParser implements IMessageParser { private _roomId: number; private _isOwner: boolean; @@ -33,4 +32,4 @@ export class RoomInfoOwnerParser implements IMessageParser { return this._isOwner; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/data/RoomInfoParser.ts b/src/nitro/communication/messages/parser/room/data/RoomInfoParser.ts index 9ff7aca6..eec4c6a3 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomInfoParser.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomInfoParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { RoomChatSettings } from './RoomChatSettings'; import { RoomDataParser } from './RoomDataParser'; import { RoomModerationSettings } from './RoomModerationSettings'; diff --git a/src/nitro/communication/messages/parser/room/data/RoomModerationSettings.ts b/src/nitro/communication/messages/parser/room/data/RoomModerationSettings.ts index 2509de1c..12157c0b 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomModerationSettings.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomModerationSettings.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class RoomModerationSettings { diff --git a/src/nitro/communication/messages/parser/room/data/RoomScoreParser.ts b/src/nitro/communication/messages/parser/room/data/RoomScoreParser.ts index 3060aa78..b6cc1cd5 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomScoreParser.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomScoreParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomScoreParser implements IMessageParser { @@ -33,4 +32,4 @@ export class RoomScoreParser implements IMessageParser { return this._canLike; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/data/RoomSettingsErrorParser.ts b/src/nitro/communication/messages/parser/room/data/RoomSettingsErrorParser.ts index 40f625fc..89189263 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomSettingsErrorParser.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomSettingsErrorParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomSettingsErrorParser implements IMessageParser { @@ -41,4 +40,4 @@ export class RoomSettingsErrorParser implements IMessageParser { return this._message; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/data/RoomSettingsParser.ts b/src/nitro/communication/messages/parser/room/data/RoomSettingsParser.ts index 322a4222..692093b0 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomSettingsParser.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomSettingsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { RoomChatSettings } from './RoomChatSettings'; import { RoomModerationSettings } from './RoomModerationSettings'; diff --git a/src/nitro/communication/messages/parser/room/data/RoomSettingsSavedParser.ts b/src/nitro/communication/messages/parser/room/data/RoomSettingsSavedParser.ts index bb8fee57..8b360eec 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomSettingsSavedParser.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomSettingsSavedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomSettingsSavedParser implements IMessageParser { @@ -25,4 +24,4 @@ export class RoomSettingsSavedParser implements IMessageParser { return this._roomId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/data/RoomSettingsUpdatedParser.ts b/src/nitro/communication/messages/parser/room/data/RoomSettingsUpdatedParser.ts index dfa8f83e..ec491ea5 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomSettingsUpdatedParser.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomSettingsUpdatedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomSettingsUpdatedParser implements IMessageParser { @@ -25,4 +24,4 @@ export class RoomSettingsUpdatedParser implements IMessageParser { return this._roomId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/data/RoomSettingsUsersListParser.ts b/src/nitro/communication/messages/parser/room/data/RoomSettingsUsersListParser.ts index a475c6df..694458ce 100644 --- a/src/nitro/communication/messages/parser/room/data/RoomSettingsUsersListParser.ts +++ b/src/nitro/communication/messages/parser/room/data/RoomSettingsUsersListParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomSettingsUsersListParser implements IMessageParser { @@ -43,4 +42,4 @@ export class RoomSettingsUsersListParser implements IMessageParser { return this._users; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/data/index.ts b/src/nitro/communication/messages/parser/room/data/index.ts index f509c354..648d08bd 100644 --- a/src/nitro/communication/messages/parser/room/data/index.ts +++ b/src/nitro/communication/messages/parser/room/data/index.ts @@ -1,7 +1,7 @@ export * from './RoomChatSettings'; export * from './RoomChatSettingsParser'; export * from './RoomDataParser'; -export * from './RoomInfoOwnerParser'; +export * from './RoomEntryInfoMessageParser'; export * from './RoomInfoParser'; export * from './RoomModerationSettings'; export * from './RoomScoreParser'; diff --git a/src/nitro/communication/messages/parser/room/engine/ObjectsDataUpdateParser.ts b/src/nitro/communication/messages/parser/room/engine/ObjectsDataUpdateParser.ts index 2fc9ce0c..9f719a78 100644 --- a/src/nitro/communication/messages/parser/room/engine/ObjectsDataUpdateParser.ts +++ b/src/nitro/communication/messages/parser/room/engine/ObjectsDataUpdateParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { ObjectData } from '../../../incoming/room/engine/ObjectData'; import { FurnitureDataParser } from '../furniture/FurnitureDataParser'; diff --git a/src/nitro/communication/messages/parser/room/engine/ObjectsRollingParser.ts b/src/nitro/communication/messages/parser/room/engine/ObjectsRollingParser.ts index 925b4f95..addb74c5 100644 --- a/src/nitro/communication/messages/parser/room/engine/ObjectsRollingParser.ts +++ b/src/nitro/communication/messages/parser/room/engine/ObjectsRollingParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { Vector3d } from '../../../../../../room/utils/Vector3d'; import { ObjectRolling } from '../../../../../room/utils/ObjectRolling'; diff --git a/src/nitro/communication/messages/parser/room/engine/RoomCreatedParser.ts b/src/nitro/communication/messages/parser/room/engine/RoomCreatedParser.ts index 7b524d74..759c58df 100644 --- a/src/nitro/communication/messages/parser/room/engine/RoomCreatedParser.ts +++ b/src/nitro/communication/messages/parser/room/engine/RoomCreatedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomCreatedParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/furniture/FurnitureState2Parser.ts b/src/nitro/communication/messages/parser/room/furniture/DiceValueMessageParser.ts similarity index 67% rename from src/nitro/communication/messages/parser/room/furniture/FurnitureState2Parser.ts rename to src/nitro/communication/messages/parser/room/furniture/DiceValueMessageParser.ts index e4b342e7..8b94c4fe 100644 --- a/src/nitro/communication/messages/parser/room/furniture/FurnitureState2Parser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/DiceValueMessageParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; -export class FurnitureState2Parser implements IMessageParser +export class DiceValueMessageParser implements IMessageParser { private _itemId: number; private _value: number; @@ -33,4 +32,4 @@ export class FurnitureState2Parser implements IMessageParser { return this._value; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/FurnitureAliasesParser.ts b/src/nitro/communication/messages/parser/room/furniture/FurnitureAliasesParser.ts index 5ca56e53..d8da221c 100644 --- a/src/nitro/communication/messages/parser/room/furniture/FurnitureAliasesParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/FurnitureAliasesParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class FurnitureAliasesParser implements IMessageParser { @@ -32,4 +31,4 @@ export class FurnitureAliasesParser implements IMessageParser { return this._aliases; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/FurnitureDataParser.ts b/src/nitro/communication/messages/parser/room/furniture/FurnitureDataParser.ts index 4e996072..e7a4cbb7 100644 --- a/src/nitro/communication/messages/parser/room/furniture/FurnitureDataParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/FurnitureDataParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { IObjectData } from '../../../../../room/object/data/IObjectData'; import { ObjectDataFactory } from '../../../../../room/object/data/ObjectDataFactory'; @@ -48,4 +47,4 @@ export class FurnitureDataParser implements IMessageParser { return this._data; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/FurniturePostItStickyPoleOpenParser.ts b/src/nitro/communication/messages/parser/room/furniture/FurniturePostItStickyPoleOpenParser.ts new file mode 100644 index 00000000..e44c05a4 --- /dev/null +++ b/src/nitro/communication/messages/parser/room/furniture/FurniturePostItStickyPoleOpenParser.ts @@ -0,0 +1,27 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; + +export class FurniturePostItStickyPoleOpenParser implements IMessageParser +{ + private _itemId: number; + + public flush(): boolean + { + this._itemId = 0; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._itemId = parseInt(wrapper.readString()); + + return true; + } + + public get furnitureId(): number + { + return this._itemId; + } +} diff --git a/src/nitro/communication/messages/parser/room/furniture/FurnitureStackHeightParser.ts b/src/nitro/communication/messages/parser/room/furniture/FurnitureStackHeightParser.ts index 36822664..c5a9a525 100644 --- a/src/nitro/communication/messages/parser/room/furniture/FurnitureStackHeightParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/FurnitureStackHeightParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class FurnitureStackHeightParser implements IMessageParser { @@ -33,4 +32,4 @@ export class FurnitureStackHeightParser implements IMessageParser { return this._height; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/GroupFurniContextMenuInfoMessageParser.ts b/src/nitro/communication/messages/parser/room/furniture/GroupFurniContextMenuInfoMessageParser.ts new file mode 100644 index 00000000..da3e8320 --- /dev/null +++ b/src/nitro/communication/messages/parser/room/furniture/GroupFurniContextMenuInfoMessageParser.ts @@ -0,0 +1,67 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; + +export class GroupFurniContextMenuInfoMessageParser implements IMessageParser +{ + private _objectId: number; + private _guildId: number; + private _guildName: string; + private _guildHomeRoomId: number; + private _userIsMember: boolean; + private _guildHasReadableForum: boolean; + + public flush(): boolean + { + this._objectId = 0; + this._guildId = 0; + this._guildName = null; + this._guildHomeRoomId = 0; + this._userIsMember = false; + this._guildHasReadableForum = false; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._objectId = wrapper.readInt(); + this._guildId = wrapper.readInt(); + this._guildName = wrapper.readString(); + this._guildHomeRoomId = wrapper.readInt(); + this._userIsMember = wrapper.readBoolean(); + this._guildHasReadableForum = wrapper.readBoolean(); + + return true; + } + + public get objectId(): number + { + return this._objectId; + } + + public get guildId(): number + { + return this._guildId; + } + + public get guildName(): string + { + return this._guildName; + } + + public get guildHomeRoomId(): number + { + return this._guildHomeRoomId; + } + + public get userIsMember(): boolean + { + return this._userIsMember; + } + + public get guildHasReadableForum(): boolean + { + return this._guildHasReadableForum; + } +} diff --git a/src/nitro/communication/messages/parser/room/furniture/FurnitureItemDataParser.ts b/src/nitro/communication/messages/parser/room/furniture/ItemDataUpdateMessageParser.ts similarity index 68% rename from src/nitro/communication/messages/parser/room/furniture/FurnitureItemDataParser.ts rename to src/nitro/communication/messages/parser/room/furniture/ItemDataUpdateMessageParser.ts index 6e1a1455..bf5974b5 100644 --- a/src/nitro/communication/messages/parser/room/furniture/FurnitureItemDataParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/ItemDataUpdateMessageParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; -export class FurnitureItemDataParser implements IMessageParser +export class ItemDataUpdateMessageParser implements IMessageParser { private _itemId: number; private _data: string; @@ -33,4 +32,4 @@ export class FurnitureItemDataParser implements IMessageParser { return this._data; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniFinishedParser.ts b/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniFinishedParser.ts index adb1875d..01375774 100644 --- a/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniFinishedParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniFinishedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class LoveLockFurniFinishedParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniFriendConfirmedParser.ts b/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniFriendConfirmedParser.ts index f46b9d96..9cee7c49 100644 --- a/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniFriendConfirmedParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniFriendConfirmedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class LoveLockFurniFriendConfirmedParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniStartParser.ts b/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniStartParser.ts index ea99046f..6dc832fb 100644 --- a/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniStartParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/LoveLockFurniStartParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class LoveLockFurniStartParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/furniture/FurnitureStateParser.ts b/src/nitro/communication/messages/parser/room/furniture/OneWayDoorStatusMessageParser.ts similarity index 67% rename from src/nitro/communication/messages/parser/room/furniture/FurnitureStateParser.ts rename to src/nitro/communication/messages/parser/room/furniture/OneWayDoorStatusMessageParser.ts index ee8ea5a6..db5e62d8 100644 --- a/src/nitro/communication/messages/parser/room/furniture/FurnitureStateParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/OneWayDoorStatusMessageParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; -export class FurnitureStateParser implements IMessageParser +export class OneWayDoorStatusMessageParser implements IMessageParser { private _itemId: number; private _state: number; @@ -33,4 +32,4 @@ export class FurnitureStateParser implements IMessageParser { return this._state; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/RoomDimmerPresetsMessageParser.ts b/src/nitro/communication/messages/parser/room/furniture/RoomDimmerPresetsMessageParser.ts index 06d4075b..fe4fe501 100644 --- a/src/nitro/communication/messages/parser/room/furniture/RoomDimmerPresetsMessageParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/RoomDimmerPresetsMessageParser.ts @@ -1,17 +1,50 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; -import { MoodlightFromServer } from '../../../incoming/room/furniture/moodlightFromServer'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; +import { RoomDimmerPresetsMessageData } from '../../../incoming/room/furniture/RoomDimmerPresetsMessageData'; export class RoomDimmerPresetsMessageParser implements IMessageParser { - private _selectedPresetId: number = 0; - private _presets: MoodlightFromServer[]; + private _selectedPresetId: number; + private _presets: RoomDimmerPresetsMessageData[]; constructor() { + this._selectedPresetId = 0; this._presets = []; } + public flush(): boolean + { + this._presets = []; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + const totalPresets = wrapper.readInt(); + + this._selectedPresetId = wrapper.readInt(); + + for(let i = 0; i < totalPresets; i++) + { + const presetId = wrapper.readInt(); + const type = wrapper.readInt(); + const color = parseInt(wrapper.readString().substr(1), 16); + const brightness = wrapper.readInt(); + + this._presets.push(new RoomDimmerPresetsMessageData(presetId, type, color, brightness)); + } + + return true; + } + + public getPreset(id: number): RoomDimmerPresetsMessageData + { + if((id < 0) || (id >= this.presetCount)) return null; + + return this._presets[id]; + } + public get presetCount(): number { return this._presets.length; @@ -21,50 +54,4 @@ export class RoomDimmerPresetsMessageParser implements IMessageParser { return this._selectedPresetId; } - - public getPreset(k: number): MoodlightFromServer - { - if((k < 0) || (k >= this.presetCount)) return null; - - return this._presets[k]; - } - - public flush(): boolean - { - this._presets = []; - - return true; - } - - public parse(k: IMessageDataWrapper): boolean - { - const totalPresets = k.readInt(); - - this._selectedPresetId = k.readInt(); - - let _local_3 = 0; - - while(_local_3 < totalPresets) - { - const presetId = k.readInt(); - const isBackGroundOnly = k.readInt(); // Background only? 2: 1 - const color = k.readString(); - const colorForSWF = parseInt(color.substr(1), 16); - const intensity = k.readInt(); - - const _local_9 = new MoodlightFromServer(presetId); - - _local_9.type = isBackGroundOnly; - _local_9.color = colorForSWF; - _local_9.intensity = intensity; - - _local_9.parsed(); - _local_9.htmlColor = color; - this._presets.push(_local_9); - - _local_3++; - } - - return true; - } } diff --git a/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorAddParser.ts b/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorAddParser.ts index 613a969a..74da26a4 100644 --- a/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorAddParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorAddParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; import { FurnitureFloorDataParser } from './FurnitureFloorDataParser'; export class FurnitureFloorAddParser implements IMessageParser @@ -27,4 +26,4 @@ export class FurnitureFloorAddParser implements IMessageParser { return this._item; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorDataParser.ts b/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorDataParser.ts index 975708d4..71179d78 100644 --- a/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorDataParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorDataParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../../core'; import { IObjectData } from '../../../../../../room/object/data/IObjectData'; import { FurnitureDataParser } from '../FurnitureDataParser'; @@ -157,4 +157,4 @@ export class FurnitureFloorDataParser { this._spriteName = type; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorParser.ts b/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorParser.ts index b892f4d1..75ad735d 100644 --- a/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; import { FurnitureFloorDataParser } from './FurnitureFloorDataParser'; export class FurnitureFloorParser implements IMessageParser @@ -66,4 +65,4 @@ export class FurnitureFloorParser implements IMessageParser { return this._items; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorRemoveParser.ts b/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorRemoveParser.ts index a99a160d..7bec9336 100644 --- a/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorRemoveParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorRemoveParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class FurnitureFloorRemoveParser implements IMessageParser { @@ -49,4 +48,4 @@ export class FurnitureFloorRemoveParser implements IMessageParser { return this._delay; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorUpdateParser.ts b/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorUpdateParser.ts index 8f3e57af..acf8834d 100644 --- a/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorUpdateParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/floor/FurnitureFloorUpdateParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; import { FurnitureFloorDataParser } from './FurnitureFloorDataParser'; export class FurnitureFloorUpdateParser implements IMessageParser @@ -26,4 +25,4 @@ export class FurnitureFloorUpdateParser implements IMessageParser { return this._item; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/index.ts b/src/nitro/communication/messages/parser/room/furniture/index.ts index c4d77185..92946c41 100644 --- a/src/nitro/communication/messages/parser/room/furniture/index.ts +++ b/src/nitro/communication/messages/parser/room/furniture/index.ts @@ -1,12 +1,14 @@ +export * from './DiceValueMessageParser'; export * from './floor'; export * from './FurnitureAliasesParser'; export * from './FurnitureDataParser'; -export * from './FurnitureItemDataParser'; export * from './FurnitureStackHeightParser'; -export * from './FurnitureState2Parser'; -export * from './FurnitureStateParser'; +export * from './GroupFurniContextMenuInfoMessageParser'; +export * from './ItemDataUpdateMessageParser'; export * from './LoveLockFurniFinishedParser'; export * from './LoveLockFurniFriendConfirmedParser'; export * from './LoveLockFurniStartParser'; +export * from './OneWayDoorStatusMessageParser'; export * from './RoomDimmerPresetsMessageParser'; export * from './wall'; +export * from './youtube'; diff --git a/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallAddParser.ts b/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallAddParser.ts index ebad7846..23c07c23 100644 --- a/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallAddParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallAddParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; import { FurnitureWallDataParser } from './FurnitureWallDataParser'; export class FurnitureWallAddParser implements IMessageParser @@ -27,4 +26,4 @@ export class FurnitureWallAddParser implements IMessageParser { return this._item; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallDataParser.ts b/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallDataParser.ts index 2d4439ef..35f5b618 100644 --- a/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallDataParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallDataParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../../core'; export class FurnitureWallDataParser { diff --git a/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallParser.ts b/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallParser.ts index 94f78286..4334ce01 100644 --- a/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; import { FurnitureWallDataParser } from './FurnitureWallDataParser'; export class FurnitureWallParser implements IMessageParser @@ -66,4 +65,4 @@ export class FurnitureWallParser implements IMessageParser { return this._items; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallRemoveParser.ts b/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallRemoveParser.ts index a441141f..fdc5203b 100644 --- a/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallRemoveParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallRemoveParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class FurnitureWallRemoveParser implements IMessageParser { @@ -33,4 +32,4 @@ export class FurnitureWallRemoveParser implements IMessageParser { return this._userId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallUpdateParser.ts b/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallUpdateParser.ts index 11ea7d14..f9875063 100644 --- a/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallUpdateParser.ts +++ b/src/nitro/communication/messages/parser/room/furniture/wall/FurnitureWallUpdateParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; import { FurnitureWallDataParser } from './FurnitureWallDataParser'; export class FurnitureWallUpdateParser implements IMessageParser @@ -27,4 +26,4 @@ export class FurnitureWallUpdateParser implements IMessageParser { return this._item; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeControlVideoMessageParser.ts b/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeControlVideoMessageParser.ts new file mode 100644 index 00000000..415860c7 --- /dev/null +++ b/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeControlVideoMessageParser.ts @@ -0,0 +1,32 @@ +import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; + +export class YoutubeControlVideoMessageParser implements IMessageParser +{ + private _furniId: number; + private _commandId: number; + + public parse(wrapper: IMessageDataWrapper): boolean + { + this._furniId = wrapper.readInt(); + this._commandId = wrapper.readInt(); + return true; + } + + public flush(): boolean + { + this._furniId = -1; + this._commandId = -1; + return true; + } + + public get furniId(): number + { + return this._furniId; + } + + public get commandId(): number + { + return this._commandId; + } +} diff --git a/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeDisplayPlaylist.ts b/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeDisplayPlaylist.ts new file mode 100644 index 00000000..f47c5eea --- /dev/null +++ b/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeDisplayPlaylist.ts @@ -0,0 +1,28 @@ +export class YoutubeDisplayPlaylist +{ + private _video: string; + private _title: string; + private _description: string; + + constructor(k: string, _arg_2: string, _arg_3: string) + { + this._video = k; + this._title = _arg_2; + this._description = _arg_3; + } + + public get video():string + { + return this._video; + } + + public get title():string + { + return this._title; + } + + public get description():string + { + return this._description; + } +} diff --git a/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeDisplayPlaylistsMessageParser.ts b/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeDisplayPlaylistsMessageParser.ts new file mode 100644 index 00000000..c1150ecc --- /dev/null +++ b/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeDisplayPlaylistsMessageParser.ts @@ -0,0 +1,46 @@ +import { IMessageDataWrapper } from '../../../../../../../core'; +import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { YoutubeDisplayPlaylist } from './YoutubeDisplayPlaylist'; + +export class YoutubeDisplayPlaylistsMessageParser implements IMessageParser +{ + private _furniId:number; + private _playlists:YoutubeDisplayPlaylist[]; + private _selectedPlaylistId:string; + + flush(): boolean + { + this._furniId = -1; + this._playlists = null; + this._selectedPlaylistId = null; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._furniId = wrapper.readInt(); + const count = wrapper.readInt(); + this._playlists = []; + for(let i = 0; i < count; i++) + { + this._playlists.push(new YoutubeDisplayPlaylist(wrapper.readString(), wrapper.readString(), wrapper.readString())); + } + this._selectedPlaylistId = wrapper.readString(); + return true; + } + + public get furniId():number + { + return this._furniId; + } + + public get playlists():YoutubeDisplayPlaylist[] + { + return this._playlists; + } + + public get selectedPlaylistId():string + { + return this._selectedPlaylistId; + } +} diff --git a/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeDisplayVideoMessageParser.ts b/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeDisplayVideoMessageParser.ts new file mode 100644 index 00000000..2edfbf22 --- /dev/null +++ b/src/nitro/communication/messages/parser/room/furniture/youtube/YoutubeDisplayVideoMessageParser.ts @@ -0,0 +1,51 @@ +import { IMessageParser } from '../../../../../../..'; +import { IMessageDataWrapper } from '../../../../../../../core'; + +export class YoutubeDisplayVideoMessageParser implements IMessageParser +{ + private _furniId:number; + private _videoId:string; + private _startAtSeconds:number; + private _endAtSeconds:number; + private _state:number; + + flush(): boolean + { + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._furniId = wrapper.readInt(); + this._videoId = wrapper.readString(); + this._startAtSeconds = wrapper.readInt(); + this._endAtSeconds = wrapper.readInt(); + this._state = wrapper.readInt(); + return true; + } + + public get furniId():number + { + return this._furniId; + } + + public get videoId():string + { + return this._videoId; + } + + public get state():number + { + return this._state; + } + + public get startAtSeconds(): number + { + return this._startAtSeconds; + } + + public get endAtSeconds(): number + { + return this._endAtSeconds; + } +} diff --git a/src/nitro/communication/messages/parser/room/furniture/youtube/index.ts b/src/nitro/communication/messages/parser/room/furniture/youtube/index.ts new file mode 100644 index 00000000..9339473c --- /dev/null +++ b/src/nitro/communication/messages/parser/room/furniture/youtube/index.ts @@ -0,0 +1,4 @@ +export * from './YoutubeControlVideoMessageParser'; +export * from './YoutubeDisplayPlaylist'; +export * from './YoutubeDisplayPlaylistsMessageParser'; +export * from './YoutubeDisplayVideoMessageParser'; diff --git a/src/nitro/communication/messages/parser/room/mapping/RoomModelParser.ts b/src/nitro/communication/messages/parser/room/mapping/FloorHeightMapMessageParser.ts similarity index 93% rename from src/nitro/communication/messages/parser/room/mapping/RoomModelParser.ts rename to src/nitro/communication/messages/parser/room/mapping/FloorHeightMapMessageParser.ts index 1679d418..a86b29e4 100644 --- a/src/nitro/communication/messages/parser/room/mapping/RoomModelParser.ts +++ b/src/nitro/communication/messages/parser/room/mapping/FloorHeightMapMessageParser.ts @@ -1,8 +1,7 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { RoomPlaneParser } from '../../../../../room/object/RoomPlaneParser'; -export class RoomModelParser implements IMessageParser +export class FloorHeightMapMessageParser implements IMessageParser { private _model: string; private _width: number; diff --git a/src/nitro/communication/messages/parser/room/mapping/RoomDoorParser.ts b/src/nitro/communication/messages/parser/room/mapping/RoomEntryTileMessageParser.ts similarity index 73% rename from src/nitro/communication/messages/parser/room/mapping/RoomDoorParser.ts rename to src/nitro/communication/messages/parser/room/mapping/RoomEntryTileMessageParser.ts index 3df38b3c..2407027f 100644 --- a/src/nitro/communication/messages/parser/room/mapping/RoomDoorParser.ts +++ b/src/nitro/communication/messages/parser/room/mapping/RoomEntryTileMessageParser.ts @@ -1,7 +1,6 @@ -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; -export class RoomDoorParser implements IMessageParser +export class RoomEntryTileMessageParser implements IMessageParser { private _x: number; private _y: number; @@ -41,4 +40,4 @@ export class RoomDoorParser implements IMessageParser { return this._direction; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/mapping/RoomHeightMapParser.ts b/src/nitro/communication/messages/parser/room/mapping/RoomHeightMapParser.ts index 0baf15c0..ced17a14 100644 --- a/src/nitro/communication/messages/parser/room/mapping/RoomHeightMapParser.ts +++ b/src/nitro/communication/messages/parser/room/mapping/RoomHeightMapParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomHeightMapParser implements IMessageParser { @@ -86,4 +85,4 @@ export class RoomHeightMapParser implements IMessageParser { return this._heights; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/mapping/RoomHeightMapUpdateParser.ts b/src/nitro/communication/messages/parser/room/mapping/RoomHeightMapUpdateParser.ts index 8da1e045..7f1e0c43 100644 --- a/src/nitro/communication/messages/parser/room/mapping/RoomHeightMapUpdateParser.ts +++ b/src/nitro/communication/messages/parser/room/mapping/RoomHeightMapUpdateParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { RoomHeightMapParser } from './RoomHeightMapParser'; export class RoomHeightMapUpdateParser implements IMessageParser @@ -73,4 +72,4 @@ export class RoomHeightMapUpdateParser implements IMessageParser { return this._value; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/mapping/RoomBlockedTilesParser.ts b/src/nitro/communication/messages/parser/room/mapping/RoomOccupiedTilesMessageParser.ts similarity index 72% rename from src/nitro/communication/messages/parser/room/mapping/RoomBlockedTilesParser.ts rename to src/nitro/communication/messages/parser/room/mapping/RoomOccupiedTilesMessageParser.ts index 1a6a56f3..4881df21 100644 --- a/src/nitro/communication/messages/parser/room/mapping/RoomBlockedTilesParser.ts +++ b/src/nitro/communication/messages/parser/room/mapping/RoomOccupiedTilesMessageParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; -export class RoomBlockedTilesParser implements IMessageParser +export class RoomOccupiedTilesMessageParser implements IMessageParser { private _blockedTilesMap: boolean[][]; @@ -37,4 +36,4 @@ export class RoomBlockedTilesParser implements IMessageParser { return this._blockedTilesMap; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/mapping/RoomPaintParser.ts b/src/nitro/communication/messages/parser/room/mapping/RoomPaintParser.ts index 5a68b09c..4abe196d 100644 --- a/src/nitro/communication/messages/parser/room/mapping/RoomPaintParser.ts +++ b/src/nitro/communication/messages/parser/room/mapping/RoomPaintParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomPaintParser implements IMessageParser { @@ -63,4 +62,4 @@ export class RoomPaintParser implements IMessageParser { return this._landscapeAnimation; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/mapping/RoomModelNameParser.ts b/src/nitro/communication/messages/parser/room/mapping/RoomReadyMessageParser.ts similarity index 67% rename from src/nitro/communication/messages/parser/room/mapping/RoomModelNameParser.ts rename to src/nitro/communication/messages/parser/room/mapping/RoomReadyMessageParser.ts index bf062350..8c938352 100644 --- a/src/nitro/communication/messages/parser/room/mapping/RoomModelNameParser.ts +++ b/src/nitro/communication/messages/parser/room/mapping/RoomReadyMessageParser.ts @@ -1,7 +1,6 @@ -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; -export class RoomModelNameParser implements IMessageParser +export class RoomReadyMessageParser implements IMessageParser { private _name: string; private _roomId: number; @@ -33,4 +32,4 @@ export class RoomModelNameParser implements IMessageParser { return this._roomId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/mapping/RoomThicknessParser.ts b/src/nitro/communication/messages/parser/room/mapping/RoomVisualizationSettingsParser.ts similarity index 81% rename from src/nitro/communication/messages/parser/room/mapping/RoomThicknessParser.ts rename to src/nitro/communication/messages/parser/room/mapping/RoomVisualizationSettingsParser.ts index 2e47c600..899b5b90 100644 --- a/src/nitro/communication/messages/parser/room/mapping/RoomThicknessParser.ts +++ b/src/nitro/communication/messages/parser/room/mapping/RoomVisualizationSettingsParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; -export class RoomThicknessParser implements IMessageParser +export class RoomVisualizationSettingsParser implements IMessageParser { private _hideWalls: boolean; private _thicknessWall: number; @@ -48,4 +47,4 @@ export class RoomThicknessParser implements IMessageParser { return this._thicknessFloor; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/mapping/index.ts b/src/nitro/communication/messages/parser/room/mapping/index.ts index 3b6c2914..11846fd2 100644 --- a/src/nitro/communication/messages/parser/room/mapping/index.ts +++ b/src/nitro/communication/messages/parser/room/mapping/index.ts @@ -1,8 +1,8 @@ -export * from './RoomBlockedTilesParser'; -export * from './RoomDoorParser'; +export * from './FloorHeightMapMessageParser'; +export * from './RoomEntryTileMessageParser'; export * from './RoomHeightMapParser'; export * from './RoomHeightMapUpdateParser'; -export * from './RoomModelNameParser'; -export * from './RoomModelParser'; +export * from './RoomOccupiedTilesMessageParser'; export * from './RoomPaintParser'; -export * from './RoomThicknessParser'; +export * from './RoomReadyMessageParser'; +export * from './RoomVisualizationSettingsParser'; diff --git a/src/nitro/communication/messages/parser/room/pet/PetExperienceParser.ts b/src/nitro/communication/messages/parser/room/pet/PetExperienceParser.ts index 04f826fe..1057ee68 100644 --- a/src/nitro/communication/messages/parser/room/pet/PetExperienceParser.ts +++ b/src/nitro/communication/messages/parser/room/pet/PetExperienceParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class PetExperienceParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/pet/PetFigureUpdateParser.ts b/src/nitro/communication/messages/parser/room/pet/PetFigureUpdateParser.ts index e966ff86..84aef8f0 100644 --- a/src/nitro/communication/messages/parser/room/pet/PetFigureUpdateParser.ts +++ b/src/nitro/communication/messages/parser/room/pet/PetFigureUpdateParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { PetFigureDataParser } from '../../inventory/pets/PetFigureDataParser'; export class PetFigureUpdateParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/room/pet/PetInfoParser.ts b/src/nitro/communication/messages/parser/room/pet/PetInfoParser.ts index a5861c03..a8894ec3 100644 --- a/src/nitro/communication/messages/parser/room/pet/PetInfoParser.ts +++ b/src/nitro/communication/messages/parser/room/pet/PetInfoParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class PetInfoParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/session/YouArePlayingGameParser.ts b/src/nitro/communication/messages/parser/room/session/YouArePlayingGameParser.ts index 92abf519..2ca2f970 100644 --- a/src/nitro/communication/messages/parser/room/session/YouArePlayingGameParser.ts +++ b/src/nitro/communication/messages/parser/room/session/YouArePlayingGameParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class YouArePlayingGameParser implements IMessageParser { @@ -25,4 +24,4 @@ export class YouArePlayingGameParser implements IMessageParser { return this._isPlaying; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitDanceParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitDanceParser.ts index bc475217..c646df6c 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitDanceParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitDanceParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomUnitDanceParser implements IMessageParser { @@ -33,4 +32,4 @@ export class RoomUnitDanceParser implements IMessageParser { return this._danceId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitEffectParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitEffectParser.ts index 9f8357e7..7fbb7cab 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitEffectParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitEffectParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomUnitEffectParser implements IMessageParser { @@ -41,4 +40,4 @@ export class RoomUnitEffectParser implements IMessageParser { return this._delay; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitExpressionParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitExpressionParser.ts index 30adb015..d41ebc97 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitExpressionParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitExpressionParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomUnitExpressionParser implements IMessageParser { @@ -33,4 +32,4 @@ export class RoomUnitExpressionParser implements IMessageParser { return this._expression; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitHandItemParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitHandItemParser.ts index 4133af60..b8ac8513 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitHandItemParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitHandItemParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomUnitHandItemParser implements IMessageParser { @@ -33,4 +32,4 @@ export class RoomUnitHandItemParser implements IMessageParser { return this._handId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitHandItemReceivedParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitHandItemReceivedParser.ts index ad60ef2e..414771a8 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitHandItemReceivedParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitHandItemReceivedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomUnitHandItemReceivedParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitIdleParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitIdleParser.ts index f0b288a1..70d91292 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitIdleParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitIdleParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomUnitIdleParser implements IMessageParser { @@ -33,4 +32,4 @@ export class RoomUnitIdleParser implements IMessageParser { return this._isIdle; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitInfoParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitInfoParser.ts index 66e198f1..0d52956b 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitInfoParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitInfoParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomUnitInfoParser implements IMessageParser { @@ -57,4 +56,4 @@ export class RoomUnitInfoParser implements IMessageParser { return this._achievementScore; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitNumberParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitNumberParser.ts index ca061e08..c2d177f5 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitNumberParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitNumberParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomUnitNumberParser implements IMessageParser { @@ -33,4 +32,4 @@ export class RoomUnitNumberParser implements IMessageParser { return this._value; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitParser.ts index 2c9cdde7..b841ebeb 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { RoomObjectType } from '../../../../../room/object/RoomObjectType'; import { UserMessageData } from './UserMessageData'; @@ -185,4 +184,4 @@ export class RoomUnitParser implements IMessageParser { return this._users; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitRemoveParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitRemoveParser.ts index 7977c2b4..4a172346 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitRemoveParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitRemoveParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class RoomUnitRemoveParser implements IMessageParser { @@ -25,4 +24,4 @@ export class RoomUnitRemoveParser implements IMessageParser { return this._unitId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitStatusParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitStatusParser.ts index 83f76770..5fc5bae7 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitStatusParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitStatusParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { RoomUnitStatusAction } from './RoomUnitStatusAction'; import { RoomUnitStatusMessage } from './RoomUnitStatusMessage'; @@ -117,4 +116,4 @@ export class RoomUnitStatusParser implements IMessageParser { return this._statuses; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/chat/FloodControlParser.ts b/src/nitro/communication/messages/parser/room/unit/chat/FloodControlParser.ts index af4c572d..72cf8a73 100644 --- a/src/nitro/communication/messages/parser/room/unit/chat/FloodControlParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/chat/FloodControlParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class FloodControlParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/unit/chat/RemainingMuteParser.ts b/src/nitro/communication/messages/parser/room/unit/chat/RemainingMuteParser.ts index 0e937ef8..772910f4 100644 --- a/src/nitro/communication/messages/parser/room/unit/chat/RemainingMuteParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/chat/RemainingMuteParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class RemainingMuteParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/room/unit/chat/RoomUnitChatParser.ts b/src/nitro/communication/messages/parser/room/unit/chat/RoomUnitChatParser.ts index 4d9a1729..42d851a6 100644 --- a/src/nitro/communication/messages/parser/room/unit/chat/RoomUnitChatParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/chat/RoomUnitChatParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class RoomUnitChatParser implements IMessageParser { @@ -85,4 +84,4 @@ export class RoomUnitChatParser implements IMessageParser { return this._messageLength; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/room/unit/chat/RoomUnitTypingParser.ts b/src/nitro/communication/messages/parser/room/unit/chat/RoomUnitTypingParser.ts index 2e9c5a94..27159a2e 100644 --- a/src/nitro/communication/messages/parser/room/unit/chat/RoomUnitTypingParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/chat/RoomUnitTypingParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class RoomUnitTypingParser implements IMessageParser { @@ -33,4 +32,4 @@ export class RoomUnitTypingParser implements IMessageParser { return this._isTyping; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/roomevents/RoomMutedParser.ts b/src/nitro/communication/messages/parser/roomevents/RoomMutedParser.ts index e913b659..4136485a 100644 --- a/src/nitro/communication/messages/parser/roomevents/RoomMutedParser.ts +++ b/src/nitro/communication/messages/parser/roomevents/RoomMutedParser.ts @@ -1,9 +1,8 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class RoomMutedParser implements IMessageParser { - private _isMuted:boolean; + private _isMuted: boolean; public flush(): boolean { @@ -23,4 +22,4 @@ export class RoomMutedParser implements IMessageParser { return this._isMuted; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/roomevents/WiredFurniActionParser.ts b/src/nitro/communication/messages/parser/roomevents/WiredFurniActionParser.ts index c2895aae..5b9abf45 100644 --- a/src/nitro/communication/messages/parser/roomevents/WiredFurniActionParser.ts +++ b/src/nitro/communication/messages/parser/roomevents/WiredFurniActionParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { WiredActionDefinition } from '../../incoming/roomevents/WiredActionDefinition'; export class WiredFurniActionParser implements IMessageParser diff --git a/src/nitro/communication/messages/parser/roomevents/WiredFurniConditionParser.ts b/src/nitro/communication/messages/parser/roomevents/WiredFurniConditionParser.ts index 9cc32562..e592c366 100644 --- a/src/nitro/communication/messages/parser/roomevents/WiredFurniConditionParser.ts +++ b/src/nitro/communication/messages/parser/roomevents/WiredFurniConditionParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { ConditionDefinition } from '../../incoming/roomevents/ConditionDefinition'; export class WiredFurniConditionParser implements IMessageParser @@ -26,4 +25,4 @@ export class WiredFurniConditionParser implements IMessageParser { return this._definition; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/roomevents/WiredFurniTriggerParser.ts b/src/nitro/communication/messages/parser/roomevents/WiredFurniTriggerParser.ts index 6e36a66b..f7b07389 100644 --- a/src/nitro/communication/messages/parser/roomevents/WiredFurniTriggerParser.ts +++ b/src/nitro/communication/messages/parser/roomevents/WiredFurniTriggerParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; import { TriggerDefinition } from '../../incoming/roomevents/TriggerDefinition'; export class WiredFurniTriggerParser implements IMessageParser @@ -26,4 +25,4 @@ export class WiredFurniTriggerParser implements IMessageParser { return this._definition; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/roomevents/WiredOpenParser.ts b/src/nitro/communication/messages/parser/roomevents/WiredOpenParser.ts index 1824a001..e21a2c72 100644 --- a/src/nitro/communication/messages/parser/roomevents/WiredOpenParser.ts +++ b/src/nitro/communication/messages/parser/roomevents/WiredOpenParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class WiredOpenParser implements IMessageParser { @@ -25,4 +24,4 @@ export class WiredOpenParser implements IMessageParser { return this._stuffId; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/roomevents/WiredRewardResultMessageParser.ts b/src/nitro/communication/messages/parser/roomevents/WiredRewardResultMessageParser.ts index a9606920..7347243e 100644 --- a/src/nitro/communication/messages/parser/roomevents/WiredRewardResultMessageParser.ts +++ b/src/nitro/communication/messages/parser/roomevents/WiredRewardResultMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class WiredRewardResultMessageParser implements IMessageParser { @@ -25,4 +24,4 @@ export class WiredRewardResultMessageParser implements IMessageParser { return this._reason; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/roomevents/WiredSaveSuccessParser.ts b/src/nitro/communication/messages/parser/roomevents/WiredSaveSuccessParser.ts index 5e8d0513..379362a0 100644 --- a/src/nitro/communication/messages/parser/roomevents/WiredSaveSuccessParser.ts +++ b/src/nitro/communication/messages/parser/roomevents/WiredSaveSuccessParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class WiredSaveSuccessParser implements IMessageParser { @@ -14,4 +13,4 @@ export class WiredSaveSuccessParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/roomevents/WiredValidationErrorParser.ts b/src/nitro/communication/messages/parser/roomevents/WiredValidationErrorParser.ts index 0725c70e..b7e69cce 100644 --- a/src/nitro/communication/messages/parser/roomevents/WiredValidationErrorParser.ts +++ b/src/nitro/communication/messages/parser/roomevents/WiredValidationErrorParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class WiredValidationErrorParser implements IMessageParser { @@ -25,4 +24,4 @@ export class WiredValidationErrorParser implements IMessageParser { return this._info; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/security/AuthenticatedParser.ts b/src/nitro/communication/messages/parser/security/AuthenticatedParser.ts index cf874899..2325b7a9 100644 --- a/src/nitro/communication/messages/parser/security/AuthenticatedParser.ts +++ b/src/nitro/communication/messages/parser/security/AuthenticatedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class AuthenticatedParser implements IMessageParser { @@ -14,4 +13,4 @@ export class AuthenticatedParser implements IMessageParser return true; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/sound/JukeboxPlayListFullMessageParser.ts b/src/nitro/communication/messages/parser/sound/JukeboxPlayListFullMessageParser.ts new file mode 100644 index 00000000..9daa014a --- /dev/null +++ b/src/nitro/communication/messages/parser/sound/JukeboxPlayListFullMessageParser.ts @@ -0,0 +1,14 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class JukeboxPlayListFullMessageParser implements IMessageParser +{ + flush(): boolean + { + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + return true; + } +} diff --git a/src/nitro/communication/messages/parser/sound/JukeboxSongDisksMessageParser.ts b/src/nitro/communication/messages/parser/sound/JukeboxSongDisksMessageParser.ts new file mode 100644 index 00000000..f07ab3fa --- /dev/null +++ b/src/nitro/communication/messages/parser/sound/JukeboxSongDisksMessageParser.ts @@ -0,0 +1,37 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class JukeboxSongDisksMessageParser implements IMessageParser +{ + private _songDisks: Map = new Map(); + private _maxLength: number; + + flush(): boolean + { + this._songDisks.clear(); + this._maxLength = 0; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._maxLength = wrapper.readInt(); + const count = wrapper.readInt(); + + for(let i = 0; i < count; i++) + { + this._songDisks.set(wrapper.readInt(), wrapper.readInt()); + } + + return true; + } + + public get songDisks(): Map + { + return this._songDisks; + } + + public get maxLength(): number + { + return this._maxLength; + } +} diff --git a/src/nitro/communication/messages/parser/sound/NowPlayingMessageParser.ts b/src/nitro/communication/messages/parser/sound/NowPlayingMessageParser.ts new file mode 100644 index 00000000..2a2a4d12 --- /dev/null +++ b/src/nitro/communication/messages/parser/sound/NowPlayingMessageParser.ts @@ -0,0 +1,56 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class NowPlayingMessageParser implements IMessageParser +{ + private _currentSongId: number; + private _currentPosition: number; + private _nextSongId: number; + private _nextPosition: number; + private _syncCount: number; + + flush(): boolean + { + this._currentSongId = -1; + this._currentPosition = -1; + this._nextSongId = -1; + this._nextPosition = -1; + this._syncCount = -1; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._currentSongId = wrapper.readInt(); + this._currentPosition = wrapper.readInt(); + this._nextSongId = wrapper.readInt(); + this._nextPosition = wrapper.readInt(); + this._syncCount = wrapper.readInt(); + return true; + } + + public get currentSongId(): number + { + return this._currentSongId; + } + + public get currentPosition(): number + { + return this._currentPosition; + } + + public get nextSongId(): number + { + return this._nextSongId; + } + + public get nextPosition(): number + { + return this._nextPosition; + } + + public get syncCount(): number + { + return this._syncCount; + } + +} diff --git a/src/nitro/communication/messages/parser/sound/OfficialSongIdMessageParser.ts b/src/nitro/communication/messages/parser/sound/OfficialSongIdMessageParser.ts new file mode 100644 index 00000000..ebdb4e18 --- /dev/null +++ b/src/nitro/communication/messages/parser/sound/OfficialSongIdMessageParser.ts @@ -0,0 +1,31 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class OfficialSongIdMessageParser implements IMessageParser +{ + private _songId: number; + private _officialSongId: string; + + flush(): boolean + { + this._songId = 0; + this._officialSongId = ''; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._officialSongId = wrapper.readString(); + this._songId = wrapper.readInt(); + return true; + } + + public get songId(): number + { + return this._songId; + } + + public get officialSongId(): string + { + return this._officialSongId; + } +} diff --git a/src/nitro/communication/messages/parser/sound/PlayListMessageParser.ts b/src/nitro/communication/messages/parser/sound/PlayListMessageParser.ts new file mode 100644 index 00000000..c9fdb8f7 --- /dev/null +++ b/src/nitro/communication/messages/parser/sound/PlayListMessageParser.ts @@ -0,0 +1,40 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { PlayListEntry } from '../../incoming/sound'; + +export class PlayListMessageParser implements IMessageParser +{ + private _synchronizationCount: number; + private _playlist:PlayListEntry[]; + + flush(): boolean + { + this._synchronizationCount = -1; + this._playlist = []; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._synchronizationCount = wrapper.readInt(); + const count = wrapper.readInt(); + + for(let i = 0; i < count; i++) + { + this._playlist.push(new PlayListEntry( + wrapper.readInt(), wrapper.readInt(), wrapper.readString(), wrapper.readString() + )); + } + return true; + } + + public get synchronizationCount(): number + { + return this._synchronizationCount; + } + + public get playList():PlayListEntry[] + { + return this._playlist; + } + +} diff --git a/src/nitro/communication/messages/parser/sound/PlayListSongAddedMessageParser.ts b/src/nitro/communication/messages/parser/sound/PlayListSongAddedMessageParser.ts new file mode 100644 index 00000000..d138839b --- /dev/null +++ b/src/nitro/communication/messages/parser/sound/PlayListSongAddedMessageParser.ts @@ -0,0 +1,24 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { PlayListEntry } from '../../incoming/sound'; + +export class PlayListSongAddedMessageParser implements IMessageParser +{ + private _entry:PlayListEntry; + + flush(): boolean + { + this._entry = null; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + this._entry = new PlayListEntry(wrapper.readInt(), wrapper.readInt(), wrapper.readString(), wrapper.readString()); + return true; + } + + public get entry():PlayListEntry + { + return this._entry; + } +} diff --git a/src/nitro/communication/messages/parser/sound/TraxSongInfoMessageParser.ts b/src/nitro/communication/messages/parser/sound/TraxSongInfoMessageParser.ts new file mode 100644 index 00000000..71fe79e6 --- /dev/null +++ b/src/nitro/communication/messages/parser/sound/TraxSongInfoMessageParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { SongInfoEntry } from '../../incoming/sound/SongInfoEntry'; + +export class TraxSongInfoMessageParser implements IMessageParser +{ + private _songs:SongInfoEntry[]; + + flush(): boolean + { + this._songs = []; + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + const count = wrapper.readInt(); + for(let i = 0; i< count; i++) + { + const id = wrapper.readInt(); + const _local_3 = wrapper.readString(); + const name = wrapper.readString(); + const data = wrapper.readString(); + const length = wrapper.readInt(); + const creator = wrapper.readString(); + const _local_10 = new SongInfoEntry(id, length, name, creator, data); + this._songs.push(_local_10); + } + return true; + } + + public get songs():SongInfoEntry[] + { + return this._songs; + } +} diff --git a/src/nitro/communication/messages/parser/sound/UserSongDisksInventoryMessageParser.ts b/src/nitro/communication/messages/parser/sound/UserSongDisksInventoryMessageParser.ts new file mode 100644 index 00000000..8717ea9c --- /dev/null +++ b/src/nitro/communication/messages/parser/sound/UserSongDisksInventoryMessageParser.ts @@ -0,0 +1,46 @@ +import { AdvancedMap, IMessageDataWrapper, IMessageParser } from '../../../../../core'; + +export class UserSongDisksInventoryMessageParser implements IMessageParser +{ + private _songDiskInventory: AdvancedMap = new AdvancedMap(); + + flush(): boolean + { + this._songDiskInventory.reset(); + return true; + } + + parse(wrapper: IMessageDataWrapper): boolean + { + const count = wrapper.readInt(); + + for(let i = 0; i < count; i++) + { + this._songDiskInventory.add(wrapper.readInt(), wrapper.readInt()); + } + return true; + } + + public getDiskId(k: number): number + { + if(((k >= 0) && (k < this._songDiskInventory.length))) + { + return this._songDiskInventory.getKey(k); + } + return -1; + } + + public getSongId(k: number): number + { + if(((k >= 0) && (k < this._songDiskInventory.length))) + { + return this._songDiskInventory.getWithIndex(k); + } + return -1; + } + + public get songDiskCount(): number + { + return this._songDiskInventory.length; + } +} diff --git a/src/nitro/communication/messages/parser/sound/index.ts b/src/nitro/communication/messages/parser/sound/index.ts new file mode 100644 index 00000000..edf11c6d --- /dev/null +++ b/src/nitro/communication/messages/parser/sound/index.ts @@ -0,0 +1,8 @@ +export * from './JukeboxPlayListFullMessageParser'; +export * from './JukeboxSongDisksMessageParser'; +export * from './NowPlayingMessageParser'; +export * from './OfficialSongIdMessageParser'; +export * from './PlayListMessageParser'; +export * from './PlayListSongAddedMessageParser'; +export * from './TraxSongInfoMessageParser'; +export * from './UserSongDisksInventoryMessageParser'; diff --git a/src/nitro/communication/messages/parser/talent/TalentTrackLevel.ts b/src/nitro/communication/messages/parser/talent/TalentTrackLevel.ts new file mode 100644 index 00000000..03d8c4db --- /dev/null +++ b/src/nitro/communication/messages/parser/talent/TalentTrackLevel.ts @@ -0,0 +1,45 @@ +import { TalentTrackRewardProduct } from './TalentTrackRewardProduct'; +import { TalentTrackTask } from './TalentTrackTask'; + +export class TalentTrackLevel +{ + private _level: number; + private _state: number; + private _tasks: TalentTrackTask[] + private _rewardPerks: string[]; + private _rewardProducts: TalentTrackRewardProduct[]; + + constructor(level: number, state: number, achievements: TalentTrackTask[], perks: string[], items: TalentTrackRewardProduct[]) + { + this._level = level; + this._state = state; + this._tasks = achievements; + this._rewardPerks = perks; + this._rewardProducts = items; + } + + public get level(): number + { + return this._level; + } + + public get state(): number + { + return this._state; + } + + public get tasks(): TalentTrackTask[] + { + return this._tasks; + } + + public get perks(): string[] + { + return this._rewardPerks; + } + + public get items(): TalentTrackRewardProduct[] + { + return this._rewardProducts; + } +} diff --git a/src/nitro/communication/messages/parser/talent/TalentTrackParser.ts b/src/nitro/communication/messages/parser/talent/TalentTrackParser.ts new file mode 100644 index 00000000..4cf2984d --- /dev/null +++ b/src/nitro/communication/messages/parser/talent/TalentTrackParser.ts @@ -0,0 +1,79 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { TalentTrackLevel } from './TalentTrackLevel'; +import { TalentTrackRewardProduct } from './TalentTrackRewardProduct'; +import { TalentTrackTask } from './TalentTrackTask'; + +export class TalentTrackParser implements IMessageParser +{ + private _type: string; + private _levels: TalentTrackLevel[]; + + public flush(): boolean + { + this._type = null; + this._levels = null; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + this._type = wrapper.readString(); + + this._levels = []; + const levelsCount = wrapper.readInt(); + + for(let i = 0; i < levelsCount; i++) + { + const levelId = wrapper.readInt(); + const levelState = wrapper.readInt(); + + const levelAchievements: TalentTrackTask[] = []; + const achievementsCount = wrapper.readInt(); + + for(let j = 0; j < achievementsCount; j++) + { + const id = wrapper.readInt(); + const index = wrapper.readInt(); + const code = wrapper.readString(); + const state = wrapper.readInt(); + const progress = wrapper.readInt(); + const achievementProgress = wrapper.readInt(); + + levelAchievements.push(new TalentTrackTask(id, index, code, state, progress, achievementProgress)); + } + + const levelPerks: string[] = []; + const perksCount = wrapper.readInt(); + + for(let j = 0; j < perksCount; j++) levelPerks.push(wrapper.readString()); + + const levelItems: TalentTrackRewardProduct[] = []; + const itemsCount = wrapper.readInt(); + + for(let j = 0; j < itemsCount; j++) + { + const name = wrapper.readString(); + const unknownInt = wrapper.readInt(); + + levelItems.push(new TalentTrackRewardProduct(name, unknownInt)); + } + + this._levels.push(new TalentTrackLevel(levelId, levelState, levelAchievements, levelPerks, levelItems)); + } + + return true; + } + + public get type(): string + { + return this._type; + } + + public get levels(): TalentTrackLevel[] + { + return this._levels; + } +} diff --git a/src/nitro/communication/messages/parser/talent/TalentTrackRewardProduct.ts b/src/nitro/communication/messages/parser/talent/TalentTrackRewardProduct.ts new file mode 100644 index 00000000..24aaaa99 --- /dev/null +++ b/src/nitro/communication/messages/parser/talent/TalentTrackRewardProduct.ts @@ -0,0 +1,21 @@ +export class TalentTrackRewardProduct +{ + private _productCode: string; + private _vipDays: number; + + constructor(name: string, unknownInt: number) + { + this._productCode = name; + this._vipDays = unknownInt; + } + + public get productCode(): string + { + return this._productCode; + } + + public get vipDays(): number + { + return this._vipDays; + } +} diff --git a/src/nitro/communication/messages/parser/talent/TalentTrackTask.ts b/src/nitro/communication/messages/parser/talent/TalentTrackTask.ts new file mode 100644 index 00000000..a249b11a --- /dev/null +++ b/src/nitro/communication/messages/parser/talent/TalentTrackTask.ts @@ -0,0 +1,49 @@ +export class TalentTrackTask +{ + private _id: number; + private _requiredLevel: number; + private _badgeCode: string; + private _state: number; + private _currentScore: number; + private _totalScore: number; + + constructor(id: number, requiredLevel: number, badgeCode: string, state: number, currentScore: number, totalScore: number) + { + this._id = id; + this._requiredLevel = requiredLevel; + this._badgeCode = badgeCode; + this._state = state; + this._currentScore = currentScore; + this._totalScore = totalScore; + } + + public get id(): number + { + return this._id; + } + + public get requiredLevel(): number + { + return this._requiredLevel; + } + + public get badgeCode(): string + { + return this._badgeCode; + } + + public get state(): number + { + return this._state; + } + + public get currentScore(): number + { + return this._currentScore; + } + + public get totalScore(): number + { + return this._totalScore; + } +} diff --git a/src/nitro/communication/messages/parser/talent/index.ts b/src/nitro/communication/messages/parser/talent/index.ts new file mode 100644 index 00000000..7df63262 --- /dev/null +++ b/src/nitro/communication/messages/parser/talent/index.ts @@ -0,0 +1,4 @@ +export * from './TalentTrackLevel'; +export * from './TalentTrackParser'; +export * from './TalentTrackRewardProduct'; +export * from './TalentTrackTask'; diff --git a/src/nitro/communication/messages/parser/catalog/CatalogApproveNameResultParser.ts b/src/nitro/communication/messages/parser/user/ApproveNameResultParser.ts similarity index 69% rename from src/nitro/communication/messages/parser/catalog/CatalogApproveNameResultParser.ts rename to src/nitro/communication/messages/parser/user/ApproveNameResultParser.ts index c16a7100..b2346674 100644 --- a/src/nitro/communication/messages/parser/catalog/CatalogApproveNameResultParser.ts +++ b/src/nitro/communication/messages/parser/user/ApproveNameResultParser.ts @@ -1,7 +1,6 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; -export class CatalogApproveNameResultParser implements IMessageParser +export class ApproveNameResultParser implements IMessageParser { private _result: number; private _validationInfo: string; diff --git a/src/nitro/communication/messages/parser/user/GuildMembershipsMessageParser.ts b/src/nitro/communication/messages/parser/user/GuildMembershipsMessageParser.ts new file mode 100644 index 00000000..e75d793e --- /dev/null +++ b/src/nitro/communication/messages/parser/user/GuildMembershipsMessageParser.ts @@ -0,0 +1,35 @@ +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; +import { HabboGroupEntryData } from './HabboGroupEntryData'; + +export class GuildMembershipsMessageParser implements IMessageParser +{ + private _groups: HabboGroupEntryData[]; + + public flush(): boolean + { + this._groups = []; + + return true; + } + + public parse(wrapper: IMessageDataWrapper): boolean + { + if(!wrapper) return false; + + let totalOffers = wrapper.readInt(); + + while(totalOffers > 0) + { + this._groups.push(new HabboGroupEntryData(wrapper)); + + totalOffers--; + } + + return true; + } + + public get groups(): HabboGroupEntryData[] + { + return this._groups; + } +} diff --git a/src/nitro/communication/messages/parser/user/HabboGroupEntryData.ts b/src/nitro/communication/messages/parser/user/HabboGroupEntryData.ts new file mode 100644 index 00000000..c238e115 --- /dev/null +++ b/src/nitro/communication/messages/parser/user/HabboGroupEntryData.ts @@ -0,0 +1,65 @@ +import { IMessageDataWrapper } from '../../../../../core'; + +export class HabboGroupEntryData +{ + private _groupId: number; + private _groupName: string; + private _badgeCode: string; + private _colorA: string; + private _colorB: string; + private _favourite: boolean; + private _ownerId: number; + private _hasForum: boolean; + + constructor(wrapper: IMessageDataWrapper) + { + this._groupId = wrapper.readInt(); + this._groupName = wrapper.readString(); + this._badgeCode = wrapper.readString(); + this._colorA = wrapper.readString(); + this._colorB = wrapper.readString(); + this._favourite = wrapper.readBoolean(); + this._ownerId = wrapper.readInt(); + this._hasForum = wrapper.readBoolean(); + } + + public get groupId(): number + { + return this._groupId; + } + + public get groupName(): string + { + return this._groupName; + } + + public get badgeCode(): string + { + return this._badgeCode; + } + + public get colorA(): string + { + return this._colorA; + } + + public get colorB(): string + { + return this._colorB; + } + + public get favourite(): boolean + { + return this._favourite; + } + + public get ownerId(): number + { + return this._ownerId; + } + + public get hasForum(): boolean + { + return this._hasForum; + } +} diff --git a/src/nitro/communication/messages/parser/user/IgnoreResultParser.ts b/src/nitro/communication/messages/parser/user/IgnoreResultParser.ts index 4ce91f38..17539e9a 100644 --- a/src/nitro/communication/messages/parser/user/IgnoreResultParser.ts +++ b/src/nitro/communication/messages/parser/user/IgnoreResultParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class IgnoreResultParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/user/IgnoredUsersParser.ts b/src/nitro/communication/messages/parser/user/IgnoredUsersParser.ts index ea412240..4f980615 100644 --- a/src/nitro/communication/messages/parser/user/IgnoredUsersParser.ts +++ b/src/nitro/communication/messages/parser/user/IgnoredUsersParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class IgnoredUsersParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/user/InClientLinkParser.ts b/src/nitro/communication/messages/parser/user/InClientLinkParser.ts index 970e3cd1..4a18bc3e 100644 --- a/src/nitro/communication/messages/parser/user/InClientLinkParser.ts +++ b/src/nitro/communication/messages/parser/user/InClientLinkParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class InClientLinkParser implements IMessageParser { @@ -23,4 +22,4 @@ export class InClientLinkParser implements IMessageParser { return this._link; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/notifications/RespectReceivedParser.ts b/src/nitro/communication/messages/parser/user/RespectReceivedParser.ts similarity index 77% rename from src/nitro/communication/messages/parser/notifications/RespectReceivedParser.ts rename to src/nitro/communication/messages/parser/user/RespectReceivedParser.ts index be97aedb..fa124e2b 100644 --- a/src/nitro/communication/messages/parser/notifications/RespectReceivedParser.ts +++ b/src/nitro/communication/messages/parser/user/RespectReceivedParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../core'; export class RespectReceivedParser implements IMessageParser { @@ -33,4 +32,4 @@ export class RespectReceivedParser implements IMessageParser { return this._respectsReceived; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/user/RoomEntryData.ts b/src/nitro/communication/messages/parser/user/RoomEntryData.ts new file mode 100644 index 00000000..2a1da927 --- /dev/null +++ b/src/nitro/communication/messages/parser/user/RoomEntryData.ts @@ -0,0 +1,28 @@ +export class RoomEntryData +{ + private _roomId: number; + private _roomName: string; + private _hasControllers: boolean = false; + + constructor(roomId: number, roomName: string, hasControllers: boolean) + { + this._roomId = roomId; + this._roomName = roomName; + this._hasControllers = hasControllers; + } + + public get roomId(): number + { + return this._roomId; + } + + public get roomName(): string + { + return this._roomName; + } + + public get _Str_22776(): boolean + { + return this._hasControllers; + } +} diff --git a/src/nitro/communication/messages/parser/user/ScrSendKickbackInfoMessageParser.ts b/src/nitro/communication/messages/parser/user/ScrSendKickbackInfoMessageParser.ts new file mode 100644 index 00000000..a2ebe93f --- /dev/null +++ b/src/nitro/communication/messages/parser/user/ScrSendKickbackInfoMessageParser.ts @@ -0,0 +1,24 @@ +import { IMessageDataWrapper } from '../../../../../core'; +import { IMessageParser } from '../../../../../core/communication/messages/IMessageParser'; +import { ScrKickbackData } from '../../incoming/user/ScrKickbackData'; + +export class ScrSendKickbackInfoMessageParser implements IMessageParser +{ + private _data: ScrKickbackData; + + flush(): boolean + { + this._data = null; + return true; + } + parse(wrapper: IMessageDataWrapper): boolean + { + this._data = new ScrKickbackData(wrapper); + return true; + } + + public get data():ScrKickbackData + { + return this._data; + } +} diff --git a/src/nitro/communication/messages/parser/user/access/UserPerksParser.ts b/src/nitro/communication/messages/parser/user/access/UserPerksParser.ts deleted file mode 100644 index 8884852f..00000000 --- a/src/nitro/communication/messages/parser/user/access/UserPerksParser.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; - -export class UserPerksParser implements IMessageParser -{ - public flush(): boolean - { - return true; - } - - public parse(wrapper: IMessageDataWrapper): boolean - { - if(!wrapper) return false; - - return true; - } -} \ No newline at end of file diff --git a/src/nitro/communication/messages/parser/user/access/UserPermissionsParser.ts b/src/nitro/communication/messages/parser/user/access/UserPermissionsParser.ts index 60e7d66a..1e8a7d5e 100644 --- a/src/nitro/communication/messages/parser/user/access/UserPermissionsParser.ts +++ b/src/nitro/communication/messages/parser/user/access/UserPermissionsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class UserPermissionsParser implements IMessageParser { @@ -41,4 +40,4 @@ export class UserPermissionsParser implements IMessageParser { return this._isAmbassador; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/user/access/index.ts b/src/nitro/communication/messages/parser/user/access/index.ts index 0cf93775..7cb9b642 100644 --- a/src/nitro/communication/messages/parser/user/access/index.ts +++ b/src/nitro/communication/messages/parser/user/access/index.ts @@ -1,2 +1 @@ -export * from './UserPerksParser'; export * from './UserPermissionsParser'; diff --git a/src/nitro/communication/messages/parser/user/data/RelationshipStatusInfo.ts b/src/nitro/communication/messages/parser/user/data/RelationshipStatusInfo.ts index 13687ba9..16b80fa4 100644 --- a/src/nitro/communication/messages/parser/user/data/RelationshipStatusInfo.ts +++ b/src/nitro/communication/messages/parser/user/data/RelationshipStatusInfo.ts @@ -1,9 +1,9 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; import { RelationshipStatusEnum } from '../../../../../enums/RelationshipStatusEnum'; export class RelationshipStatusInfo { - private _relationshipStatusType: RelationshipStatusEnum; + private _relationshipStatusType: number; private _friendCount: number; private _randomFriendId: number; private _randomFriendName: string; @@ -19,11 +19,11 @@ export class RelationshipStatusInfo public flush(): boolean { - this._relationshipStatusType = RelationshipStatusEnum.NONE; - this._friendCount = 0; + this._relationshipStatusType = RelationshipStatusEnum.NONE; + this._friendCount = 0; this._randomFriendId = 0; - this._randomFriendFigure = null; - this._randomFriendName = null; + this._randomFriendFigure = null; + this._randomFriendName = null; return true; } @@ -32,16 +32,16 @@ export class RelationshipStatusInfo { if(!wrapper) return false; - this._relationshipStatusType = wrapper.readInt(); + this._relationshipStatusType = wrapper.readInt(); this._friendCount = wrapper.readInt(); - this._randomFriendId = wrapper.readInt(); + this._randomFriendId = wrapper.readInt(); this._randomFriendName = wrapper.readString(); - this._randomFriendFigure = wrapper.readString(); + this._randomFriendFigure = wrapper.readString(); return true; } - public get relationshipStatusType(): RelationshipStatusEnum + public get relationshipStatusType(): number { return this._relationshipStatusType; } diff --git a/src/nitro/communication/messages/parser/user/data/RelationshipStatusInfoMessageParser.ts b/src/nitro/communication/messages/parser/user/data/RelationshipStatusInfoMessageParser.ts index 180f169e..5d86ae28 100644 --- a/src/nitro/communication/messages/parser/user/data/RelationshipStatusInfoMessageParser.ts +++ b/src/nitro/communication/messages/parser/user/data/RelationshipStatusInfoMessageParser.ts @@ -1,13 +1,11 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { AdvancedMap } from '../../../../../../core/utils/AdvancedMap'; -import { RelationshipStatusEnum } from '../../../../../enums/RelationshipStatusEnum'; import { RelationshipStatusInfo } from './RelationshipStatusInfo'; export class RelationshipStatusInfoMessageParser implements IMessageParser { private _userId: number; - private _relationshipStatusMap: AdvancedMap; + private _relationshipStatusMap: AdvancedMap; public flush(): boolean { @@ -21,7 +19,7 @@ export class RelationshipStatusInfoMessageParser implements IMessageParser { if(!wrapper) return false; - this._userId = wrapper.readInt(); + this._userId = wrapper.readInt(); this._relationshipStatusMap = new AdvancedMap(); const relationshipsCount = wrapper.readInt(); @@ -41,7 +39,7 @@ export class RelationshipStatusInfoMessageParser implements IMessageParser return this._userId; } - public get relationshipStatusMap(): AdvancedMap + public get relationshipStatusMap(): AdvancedMap { return this._relationshipStatusMap; } diff --git a/src/nitro/communication/messages/parser/user/data/UserCurrentBadgesParser.ts b/src/nitro/communication/messages/parser/user/data/UserCurrentBadgesParser.ts index eb791649..e3c18147 100644 --- a/src/nitro/communication/messages/parser/user/data/UserCurrentBadgesParser.ts +++ b/src/nitro/communication/messages/parser/user/data/UserCurrentBadgesParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class UserCurrentBadgesParser implements IMessageParser { @@ -44,4 +43,4 @@ export class UserCurrentBadgesParser implements IMessageParser { return this._badges; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/user/data/UserFigureParser.ts b/src/nitro/communication/messages/parser/user/data/UserFigureParser.ts index d9e4ade8..cf22ce1e 100644 --- a/src/nitro/communication/messages/parser/user/data/UserFigureParser.ts +++ b/src/nitro/communication/messages/parser/user/data/UserFigureParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class UserFigureParser implements IMessageParser { @@ -33,4 +32,4 @@ export class UserFigureParser implements IMessageParser { return this._gender; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/user/data/UserInfoDataParser.ts b/src/nitro/communication/messages/parser/user/data/UserInfoDataParser.ts index 10905826..247b0cf3 100644 --- a/src/nitro/communication/messages/parser/user/data/UserInfoDataParser.ts +++ b/src/nitro/communication/messages/parser/user/data/UserInfoDataParser.ts @@ -1,4 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; +import { IMessageDataWrapper } from '../../../../../../core'; export class UserInfoDataParser { @@ -136,4 +136,4 @@ export class UserInfoDataParser { return this._safetyLocked; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/user/data/UserInfoParser.ts b/src/nitro/communication/messages/parser/user/data/UserInfoParser.ts index 24b94735..702903d8 100644 --- a/src/nitro/communication/messages/parser/user/data/UserInfoParser.ts +++ b/src/nitro/communication/messages/parser/user/data/UserInfoParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; import { UserInfoDataParser } from './UserInfoDataParser'; export class UserInfoParser implements IMessageParser @@ -28,4 +27,4 @@ export class UserInfoParser implements IMessageParser { return this._userInfo; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/user/data/UserNameChangeMessageParser.ts b/src/nitro/communication/messages/parser/user/data/UserNameChangeMessageParser.ts index 0992fae7..4d004364 100644 --- a/src/nitro/communication/messages/parser/user/data/UserNameChangeMessageParser.ts +++ b/src/nitro/communication/messages/parser/user/data/UserNameChangeMessageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class UserNameChangeMessageParser implements IMessageParser { @@ -41,4 +40,4 @@ export class UserNameChangeMessageParser implements IMessageParser { return this._newName; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/user/data/UserProfileParser.ts b/src/nitro/communication/messages/parser/user/data/UserProfileParser.ts index 981d3589..5a0124ab 100644 --- a/src/nitro/communication/messages/parser/user/data/UserProfileParser.ts +++ b/src/nitro/communication/messages/parser/user/data/UserProfileParser.ts @@ -1,6 +1,5 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; -import { GroupDataParser } from '../../group/utils/GroupDataParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; +import { HabboGroupEntryData } from '../HabboGroupEntryData'; export class UserProfileParser implements IMessageParser { @@ -14,7 +13,7 @@ export class UserProfileParser implements IMessageParser private _isMyFriend: boolean; private _requestSent: boolean; private _isOnline: boolean; - private _groups: GroupDataParser[]; + private _groups: HabboGroupEntryData[]; private _secondsSinceLastVisit: number; private _openProfileWindow: boolean; @@ -55,7 +54,7 @@ export class UserProfileParser implements IMessageParser for(let i = 0; i < groupsCount; i++) { - this._groups.push(new GroupDataParser(wrapper)); + this._groups.push(new HabboGroupEntryData(wrapper)); } this._secondsSinceLastVisit = wrapper.readInt(); @@ -114,7 +113,7 @@ export class UserProfileParser implements IMessageParser return this._isOnline; } - public get groups(): GroupDataParser[] + public get groups(): HabboGroupEntryData[] { return this._groups; } diff --git a/src/nitro/communication/messages/parser/user/data/UserSettingsParser.ts b/src/nitro/communication/messages/parser/user/data/UserSettingsParser.ts index d71ffcaf..b566d6f1 100644 --- a/src/nitro/communication/messages/parser/user/data/UserSettingsParser.ts +++ b/src/nitro/communication/messages/parser/user/data/UserSettingsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class UserSettingsParser implements IMessageParser { @@ -81,4 +80,4 @@ export class UserSettingsParser implements IMessageParser { return this._chatType; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/user/index.ts b/src/nitro/communication/messages/parser/user/index.ts index 64a98791..8c1e2d8e 100644 --- a/src/nitro/communication/messages/parser/user/index.ts +++ b/src/nitro/communication/messages/parser/user/index.ts @@ -1,7 +1,12 @@ export * from './access'; +export * from './ApproveNameResultParser'; export * from './data'; +export * from './HabboGroupEntryData'; export * from './IgnoredUsersParser'; export * from './IgnoreResultParser'; export * from './InClientLinkParser'; export * from './inventory'; +export * from './RespectReceivedParser'; +export * from './RoomEntryData'; +export * from './ScrSendKickbackInfoMessageParser'; export * from './wardrobe'; diff --git a/src/nitro/communication/messages/parser/user/inventory/currency/UserCreditsParser.ts b/src/nitro/communication/messages/parser/user/inventory/currency/UserCreditsParser.ts index 13dcf9c8..78282115 100644 --- a/src/nitro/communication/messages/parser/user/inventory/currency/UserCreditsParser.ts +++ b/src/nitro/communication/messages/parser/user/inventory/currency/UserCreditsParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class UserCreditsParser implements IMessageParser { @@ -25,4 +24,4 @@ export class UserCreditsParser implements IMessageParser { return this._credits; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/user/inventory/currency/UserCurrencyParser.ts b/src/nitro/communication/messages/parser/user/inventory/currency/UserCurrencyParser.ts index 6d017d92..3c369630 100644 --- a/src/nitro/communication/messages/parser/user/inventory/currency/UserCurrencyParser.ts +++ b/src/nitro/communication/messages/parser/user/inventory/currency/UserCurrencyParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class UserCurrencyParser implements IMessageParser { @@ -32,4 +31,4 @@ export class UserCurrencyParser implements IMessageParser { return this._currencies; } -} \ No newline at end of file +} diff --git a/src/nitro/communication/messages/parser/user/inventory/currency/index.ts b/src/nitro/communication/messages/parser/user/inventory/currency/index.ts index b46dcbaa..a6e0537e 100644 --- a/src/nitro/communication/messages/parser/user/inventory/currency/index.ts +++ b/src/nitro/communication/messages/parser/user/inventory/currency/index.ts @@ -1,3 +1,2 @@ export * from './UserCreditsParser'; export * from './UserCurrencyParser'; -export * from './UserCurrencyUpdateParser'; diff --git a/src/nitro/communication/messages/parser/user/inventory/subscription/UserSubscriptionParser.ts b/src/nitro/communication/messages/parser/user/inventory/subscription/UserSubscriptionParser.ts index 49eeeaca..d1199e65 100644 --- a/src/nitro/communication/messages/parser/user/inventory/subscription/UserSubscriptionParser.ts +++ b/src/nitro/communication/messages/parser/user/inventory/subscription/UserSubscriptionParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../../core'; export class UserSubscriptionParser implements IMessageParser { diff --git a/src/nitro/communication/messages/parser/user/wardrobe/UserWardrobePageParser.ts b/src/nitro/communication/messages/parser/user/wardrobe/UserWardrobePageParser.ts index 412f62e2..67029cb9 100644 --- a/src/nitro/communication/messages/parser/user/wardrobe/UserWardrobePageParser.ts +++ b/src/nitro/communication/messages/parser/user/wardrobe/UserWardrobePageParser.ts @@ -1,5 +1,4 @@ -import { IMessageDataWrapper } from '../../../../../../core/communication/messages/IMessageDataWrapper'; -import { IMessageParser } from '../../../../../../core/communication/messages/IMessageParser'; +import { IMessageDataWrapper, IMessageParser } from '../../../../../../core'; export class UserWardrobePageParser implements IMessageParser { diff --git a/src/nitro/externalInterface/LegacyExternalInterface.ts b/src/nitro/externalInterface/LegacyExternalInterface.ts index 81bcade0..9dcc458d 100644 --- a/src/nitro/externalInterface/LegacyExternalInterface.ts +++ b/src/nitro/externalInterface/LegacyExternalInterface.ts @@ -39,8 +39,35 @@ declare global export class LegacyExternalInterface { + private static readonly MESSAGE_KEY = 'Nitro_LegacyExternalInterface'; + private static _isListeningForPostMessages = false; + + public static get available(): boolean { + if(!this._isListeningForPostMessages) + { + this._isListeningForPostMessages = true; + window.addEventListener('message', (ev) => + { + if(typeof ev.data !== 'string') return; + + if(ev.data.startsWith(LegacyExternalInterface.MESSAGE_KEY)) + { + const { method, params } = JSON.parse( + ev.data.substr(LegacyExternalInterface.MESSAGE_KEY.length) + ); + + const fn = (window as any)[method]; + if(!fn) return; + + fn(...params); + return; + } + + }); + } + return true; } @@ -51,7 +78,7 @@ export class LegacyExternalInterface { if(window.top !== window) { - window.top.postMessage('Nitro_LegacyExternalInterface' + JSON.stringify({ + window.top.postMessage(LegacyExternalInterface.MESSAGE_KEY + JSON.stringify({ method, params }), '*'); diff --git a/src/nitro/localization/BadgeBaseAndLevel.ts b/src/nitro/localization/BadgeBaseAndLevel.ts index 7341d72e..4abbcae2 100644 --- a/src/nitro/localization/BadgeBaseAndLevel.ts +++ b/src/nitro/localization/BadgeBaseAndLevel.ts @@ -36,7 +36,7 @@ export class BadgeBaseAndLevel return this._level; } - public set level(k :number) + public set level(k : number) { this._level = Math.max(1, k); } diff --git a/src/nitro/localization/INitroLocalizationManager.ts b/src/nitro/localization/INitroLocalizationManager.ts index 0c39989d..909b3b9a 100644 --- a/src/nitro/localization/INitroLocalizationManager.ts +++ b/src/nitro/localization/INitroLocalizationManager.ts @@ -2,7 +2,8 @@ export interface INitroLocalizationManager extends INitroManager { getRomanNumeral(number: number): string; - getBadgeBaseAndLevel(badgeName: string): string; + getPreviousLevelBadgeId(badgeName: string): string; + hasValue(key: string): boolean; getValue(key: string, doParams?: boolean): string; getValueWithParameter(key: string, parameter: string, replacement: string): string; getValueWithParameters(key: string, parameters: string[], replacements: string[]): string; @@ -10,4 +11,6 @@ export interface INitroLocalizationManager extends INitroManager registerParameter(key: string, parameter: string, value: string): void; getBadgeName(key: string): string; getBadgeDesc(key: string): string; + getBadgePointLimit(badge: string): number; + setBadgePointLimit(badge: string, point: number): void; } diff --git a/src/nitro/localization/NitroLocalizationManager.ts b/src/nitro/localization/NitroLocalizationManager.ts index 90182046..c466d031 100644 --- a/src/nitro/localization/NitroLocalizationManager.ts +++ b/src/nitro/localization/NitroLocalizationManager.ts @@ -8,7 +8,9 @@ export class NitroLocalizationManager extends NitroManager implements INitroLoca { private _definitions: Map; private _parameters: Map>; + private _badgePointLimits: Map; private _romanNumerals: string[]; + private _pendingUrls: string[]; constructor() { @@ -16,29 +18,58 @@ export class NitroLocalizationManager extends NitroManager implements INitroLoca this._definitions = new Map(); this._parameters = new Map(); + this._badgePointLimits = new Map(); this._romanNumerals = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI', 'XVII', 'XVIII', 'XIX', 'XX', 'XXI', 'XXII', 'XXIII', 'XXIV', 'XXV', 'XXVI', 'XXVII', 'XXVIII', 'XXIX', 'XXX']; + this._pendingUrls = []; } protected onInit(): void { - this.loadLocalizationFromURL(Nitro.instance.getConfiguration('external.texts.url')); + let urls: string[] = Nitro.instance.getConfiguration('external.texts.url'); + + if(!Array.isArray(urls)) + { + urls = [ Nitro.instance.getConfiguration('external.texts.url') ]; + } + + for(let i = 0; i < urls.length; i++) urls[i] = Nitro.instance.core.configuration.interpolate(urls[i]); + + this._pendingUrls = urls; + + this.loadNextLocalization(); + } + + private loadNextLocalization(): void + { + if(!this._pendingUrls.length) + { + this.events && this.events.dispatchEvent(new NitroLocalizationEvent(NitroLocalizationEvent.LOADED)); + + return; + } + + this.loadLocalizationFromURL(this._pendingUrls[0]); } public loadLocalizationFromURL(url: string): void { fetch(url) .then(response => response.json()) - .then(data => this.onLocalizationLoaded(data)) + .then(data => this.onLocalizationLoaded(data, url)) .catch(err => this.onLocalizationFailed(err)); } - private onLocalizationLoaded(data: { [index: string]: any }): void + private onLocalizationLoaded(data: { [index: string]: any }, url: string): void { if(!data) return; - this.parseLocalization(data); + if(!this.parseLocalization(data)) return; - this.events && this.events.dispatchEvent(new NitroLocalizationEvent(NitroLocalizationEvent.LOADED)); + const index = this._pendingUrls.indexOf(url); + + if(index >= 0) this._pendingUrls.splice(index, 1); + + this.loadNextLocalization(); } private onLocalizationFailed(error: Error): void @@ -46,11 +77,23 @@ export class NitroLocalizationManager extends NitroManager implements INitroLoca this.events && this.events.dispatchEvent(new NitroLocalizationEvent(NitroLocalizationEvent.FAILED)); } - private parseLocalization(data: { [index: string]: any }): void + private parseLocalization(data: { [index: string]: any }): boolean { - if(!data) return; + if(!data) return false; for(const key in data) this._definitions.set(key, data[key]); + + return true; + } + + public getBadgePointLimit(badge: string): number + { + return (this._badgePointLimits.get(badge) || -1); + } + + public setBadgePointLimit(badge: string, point: number): void + { + this._badgePointLimits.set(badge, point); } public getRomanNumeral(number: number): string @@ -58,7 +101,7 @@ export class NitroLocalizationManager extends NitroManager implements INitroLoca return this._romanNumerals[Math.max(0, (number - 1))]; } - public getBadgeBaseAndLevel(badgeName: string): string + public getPreviousLevelBadgeId(badgeName: string): string { const badge = new BadgeBaseAndLevel(badgeName); @@ -67,8 +110,15 @@ export class NitroLocalizationManager extends NitroManager implements INitroLoca return badge.getBadgeId; } + public hasValue(key: string): boolean + { + return this._definitions.has(key); + } + public getValue(key: string, doParams: boolean = true): string { + if(!key || !key.length) return null; + if(key.startsWith('${')) key = key.substr(2, (key.length - 3)); let value = (this._definitions.get(key) || null); @@ -227,7 +277,11 @@ export class NitroLocalizationManager extends NitroManager implements INitroLoca const badge = new BadgeBaseAndLevel(key); const keys = [ 'badge_name_' + key, 'badge_name_' + badge.base ]; - return this._Str_2103(this.getExistingKey(keys)).replace('%roman%', this.getRomanNumeral(badge.level)); + let name = this._Str_2103(this.getExistingKey(keys)); + + name = name.replace('%roman%', this.getRomanNumeral(badge.level)); + + return name; } public getBadgeDesc(key: string): string @@ -235,7 +289,15 @@ export class NitroLocalizationManager extends NitroManager implements INitroLoca const badge = new BadgeBaseAndLevel(key); const keys = [ 'badge_desc_' + key, 'badge_desc_' + badge.base ]; - return this._Str_2103(this.getExistingKey(keys)).replace('%roman%', this.getRomanNumeral(badge.level)); + let desc = this._Str_2103(this.getExistingKey(keys)); + + const limit = this.getBadgePointLimit(key); + + if(limit > -1) desc = desc.replace('%limit%', limit.toString()); + + desc = desc.replace('%roman%', this.getRomanNumeral(badge.level)); + + return desc; } private getExistingKey(keys: string[]): string diff --git a/src/nitro/room/IGetImageListener.ts b/src/nitro/room/IGetImageListener.ts index ad2592ef..4241e62f 100644 --- a/src/nitro/room/IGetImageListener.ts +++ b/src/nitro/room/IGetImageListener.ts @@ -1,7 +1,7 @@ -import { RenderTexture } from '@pixi/core'; +import { NitroRenderTexture } from '../..'; export interface IGetImageListener { - imageReady(id: number, texture: RenderTexture, image?: HTMLImageElement): void; + imageReady(id: number, texture: NitroRenderTexture, image?: HTMLImageElement): void; imageFailed(id: number): void; } diff --git a/src/nitro/room/IRoomEngine.ts b/src/nitro/room/IRoomEngine.ts index c0e6ab99..0759aa0c 100644 --- a/src/nitro/room/IRoomEngine.ts +++ b/src/nitro/room/IRoomEngine.ts @@ -87,15 +87,14 @@ export interface IRoomEngine extends INitroManager objectInitialized(roomId: string, objectId: number, category: number): void; changeObjectModelData(roomId: number, objectId: number, category: number, numberKey: string, numberValue: number): boolean; changeObjectState(roomId: number, objectId: number, category: number): void; - processRoomObjectWallOperation(objectId: number, category: number, operation: string, data: Map): boolean; - processRoomObjectFloorOperation(objectId: number, category: number, operation: string, data: string): boolean; processRoomObjectOperation(objectId: number, category: number, operation: string): boolean; + modifyRoomObjectDataWithMap(objectId: number, category: number, operation: string, data: Map): boolean + modifyRoomObjectData(objectId: number, category: number, colorHex: string, data: string): boolean processRoomObjectPlacement(placementSource: string, id: number, category: number, typeId: number, legacyString?: string, stuffData?: IObjectData, state?: number, frameNumber?: number, posture?: string): boolean; dispatchMouseEvent(canvasId: number, x: number, y: number, type: string, altKey: boolean, ctrlKey: boolean, shiftKey: boolean, buttonDown: boolean): void; createTextureFromRoom(roomId: number, canvasId?: number, bounds?: Rectangle): RenderTexture; saveTextureAsScreenshot(texture: RenderTexture, saveAsThumbnail?: boolean): void; saveBase64AsScreenshot(base64: string, saveAsThumbnail?: boolean): void; - modifyRoomObjectData(objectId: number, objectCategory: number, colorHex: string, text: string): boolean; deleteRoomObject(objectId: number, objectCategory: number): boolean; sessionDataManager: ISessionDataManager; roomSessionManager: IRoomSessionManager; diff --git a/src/nitro/room/RoomContentLoader.ts b/src/nitro/room/RoomContentLoader.ts index 428edbc4..8dad9f80 100644 --- a/src/nitro/room/RoomContentLoader.ts +++ b/src/nitro/room/RoomContentLoader.ts @@ -409,7 +409,7 @@ export class RoomContentLoader implements IFurnitureDataListener if(type === RoomObjectUserType.RENTABLE_BOT) return RoomObjectCategory.UNIT; - if(type === 'tile_cursor' || type === 'selection_arrow') return RoomObjectCategory.CURSOR; + if((type === RoomContentLoader.TILE_CURSOR) || (type === RoomContentLoader.SELECTION_ARROW)) return RoomObjectCategory.CURSOR; return RoomObjectCategory.MINIMUM; } @@ -722,17 +722,17 @@ export class RoomContentLoader implements IFurnitureDataListener switch(type) { case RoomContentLoader.PLACE_HOLDER: - return [ this.getAssetUrlWithRoomBase('place_holder') ]; + return [ this.getAssetUrlWithGenericBase(RoomContentLoader.PLACE_HOLDER) ]; case RoomContentLoader.PLACE_HOLDER_WALL: - return [ this.getAssetUrlWithRoomBase('place_holder_wall') ]; + return [ this.getAssetUrlWithGenericBase(RoomContentLoader.PLACE_HOLDER_WALL) ]; case RoomContentLoader.PLACE_HOLDER_PET: - return [ this.getAssetUrlWithRoomBase('place_holder_pet') ]; + return [ this.getAssetUrlWithGenericBase(RoomContentLoader.PLACE_HOLDER_PET) ]; case RoomContentLoader.ROOM: - return [ this.getAssetUrlWithRoomBase('room') ]; + return [ this.getAssetUrlWithGenericBase('room') ]; case RoomContentLoader.TILE_CURSOR: - return [ this.getAssetUrlWithRoomBase('tile_cursor') ]; + return [ this.getAssetUrlWithGenericBase(RoomContentLoader.TILE_CURSOR) ]; case RoomContentLoader.SELECTION_ARROW: - return [ this.getAssetUrlWithRoomBase('selection_arrow') ]; + return [ this.getAssetUrlWithGenericBase(RoomContentLoader.SELECTION_ARROW) ]; default: { const category = this.getCategoryForType(type); @@ -788,9 +788,9 @@ export class RoomContentLoader implements IFurnitureDataListener return null; } - private getAssetUrlWithRoomBase(assetName: string): string + private getAssetUrlWithGenericBase(assetName: string): string { - return (Nitro.instance.getConfiguration('room.asset.url').replace(/%libname%/gi, assetName)); + return (Nitro.instance.getConfiguration('generic.asset.url').replace(/%libname%/gi, assetName)); } public getAssetUrlWithFurniBase(assetName: string): string diff --git a/src/nitro/room/RoomEngine.ts b/src/nitro/room/RoomEngine.ts index f56b1111..419e674b 100644 --- a/src/nitro/room/RoomEngine.ts +++ b/src/nitro/room/RoomEngine.ts @@ -523,7 +523,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato } instance.createRoomObjectAndInitalize(RoomEngine.CURSOR_OBJECT_ID, RoomEngine.CURSOR_OBJECT_TYPE, RoomObjectCategory.CURSOR); - //instance.createRoomObjectAndInitalize(RoomEngine.ARROW_OBJECT_ID, RoomEngine.ARROW_OBJECT_TYPE, RoomObjectCategory.CURSOR); + if(Nitro.instance.getConfiguration('enable.avatar.arrow', false)) instance.createRoomObjectAndInitalize(RoomEngine.ARROW_OBJECT_ID, RoomEngine.ARROW_OBJECT_TYPE, RoomObjectCategory.CURSOR); return instance; } @@ -666,10 +666,15 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato if(!renderingCanvas || !point) return false; - this.events.dispatchEvent(new RoomDragEvent(roomId, -(renderingCanvas.screenOffsetX - point.x), -(renderingCanvas.screenOffsetY - point.y))); + const x = ~~(point.x); + const y = ~~(point.y); - renderingCanvas.screenOffsetX = point.x; - renderingCanvas.screenOffsetY = point.y; + if((renderingCanvas.screenOffsetX === x) && (renderingCanvas.screenOffsetY === y)) return; + + this.events.dispatchEvent(new RoomDragEvent(roomId, -(renderingCanvas.screenOffsetX - x), -(renderingCanvas.screenOffsetY - y))); + + renderingCanvas.screenOffsetX = x; + renderingCanvas.screenOffsetY = y; return true; } @@ -1187,7 +1192,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato } } - if(this._activeRoomIsDragged) + if(this._activeRoomWasDragged) { const renderingCanvas = this.getRoomInstanceRenderingCanvas(this._activeRoomId, 1); @@ -2377,7 +2382,18 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato { if(!this._sessionDataManager) return; - const roomObject = this.getRoomObjectFloor(roomId, objectId); + let roomObject: IRoomObjectController = null; + + if(roomId === 0) + { + const room = this._roomManager.getRoomInstance(RoomEngine.TEMPORARY_ROOM); + + if(room) roomObject = (room.getRoomObject(objectId, objectCategory) as IRoomObjectController); + } + else + { + roomObject = this.getRoomObjectFloor(roomId, objectId); + } if(!roomObject || !roomObject.logic) return; @@ -2648,22 +2664,22 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato this._roomObjectEventHandler.modifyRoomObject(this._activeRoomId, objectId, category, operation); } - public processRoomObjectWallOperation(objectId: number, category: number, operation: string, data: Map): boolean - { - if(!this._roomObjectEventHandler) return false; - - if(category !== RoomObjectCategory.WALL) return; - - this._roomObjectEventHandler.processRoomObjectWallOperation(this._activeRoomId, objectId, category, operation, data); - } - - public processRoomObjectFloorOperation(objectId: number, category: number, operation: string, data: string): boolean + public modifyRoomObjectDataWithMap(objectId: number, category: number, operation: string, data: Map): boolean { if(!this._roomObjectEventHandler) return false; if(category !== RoomObjectCategory.FLOOR) return; - this._roomObjectEventHandler.processRoomObjectFloorOperation(this._activeRoomId, objectId, operation, data); + this._roomObjectEventHandler.modifyRoomObjectDataWithMap(this._activeRoomId, objectId, category, operation, data); + } + + public modifyRoomObjectData(objectId: number, category: number, colorHex: string, data: string): boolean + { + if(!this._roomObjectEventHandler) return false; + + if(category !== RoomObjectCategory.WALL) return; + + this._roomObjectEventHandler.modifyWallItemData(this._activeRoomId, objectId, colorHex, data); } private processRoomObjectEvent(event: RoomObjectEvent): void @@ -3520,7 +3536,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato if(split.length <= 0) return -1; - return parseInt(split[0]); + return (parseInt(split[0]) || 0); } private getRoomObjectRoomId(object: IRoomObject): string @@ -3588,13 +3604,6 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato return this._roomContentLoader.getPetColorResultsForTag(petIndex, tagName); } - public modifyRoomObjectData(objectId: number, objectCategory: number, colorHex: string, text: string): boolean - { - if(!this._roomObjectEventHandler || (objectCategory !== RoomObjectCategory.WALL)) return false; - - return (this._roomObjectEventHandler.modifyWallItemData(this._activeRoomId, objectId, colorHex, text)); - } - public deleteRoomObject(objectId: number, objectCategory: number): boolean { if(!this._roomObjectEventHandler || (objectCategory !== RoomObjectCategory.WALL)) return false; diff --git a/src/nitro/room/RoomMessageHandler.ts b/src/nitro/room/RoomMessageHandler.ts index 26de8274..7e73fb53 100644 --- a/src/nitro/room/RoomMessageHandler.ts +++ b/src/nitro/room/RoomMessageHandler.ts @@ -2,29 +2,33 @@ import { Disposable } from '../../core/common/disposable/Disposable'; import { IConnection } from '../../core/communication/connections/IConnection'; import { IVector3D } from '../../room/utils/IVector3D'; import { Vector3d } from '../../room/utils/Vector3d'; +import { AvatarGuideStatus } from '../avatar/enum/AvatarGuideStatus'; import { PetType } from '../avatar/pets/PetType'; import { ObjectsDataUpdateEvent, PetExperienceEvent } from '../communication'; +import { GuideSessionEndedMessageEvent } from '../communication/messages/incoming/help/GuideSessionEndedMessageEvent'; +import { GuideSessionErrorMessageEvent } from '../communication/messages/incoming/help/GuideSessionErrorMessageEvent'; +import { GuideSessionStartedMessageEvent } from '../communication/messages/incoming/help/GuideSessionStartedMessageEvent'; import { ObjectsRollingEvent } from '../communication/messages/incoming/room/engine/ObjectsRollingEvent'; +import { DiceValueMessageEvent } from '../communication/messages/incoming/room/furniture/DiceValueMessageEvent'; import { FurnitureFloorAddEvent } from '../communication/messages/incoming/room/furniture/floor/FurnitureFloorAddEvent'; import { FurnitureFloorEvent } from '../communication/messages/incoming/room/furniture/floor/FurnitureFloorEvent'; import { FurnitureFloorRemoveEvent } from '../communication/messages/incoming/room/furniture/floor/FurnitureFloorRemoveEvent'; import { FurnitureFloorUpdateEvent } from '../communication/messages/incoming/room/furniture/floor/FurnitureFloorUpdateEvent'; import { FurnitureAliasesEvent } from '../communication/messages/incoming/room/furniture/FurnitureAliasesEvent'; import { FurnitureDataEvent } from '../communication/messages/incoming/room/furniture/FurnitureDataEvent'; -import { FurnitureItemDataEvent } from '../communication/messages/incoming/room/furniture/FurnitureItemDataEvent'; -import { FurnitureState2Event } from '../communication/messages/incoming/room/furniture/FurnitureState2Event'; -import { FurnitureStateEvent } from '../communication/messages/incoming/room/furniture/FurnitureStateEvent'; +import { ItemDataUpdateMessageEvent } from '../communication/messages/incoming/room/furniture/ItemDataUpdateMessageEvent'; +import { OneWayDoorStatusMessageEvent } from '../communication/messages/incoming/room/furniture/OneWayDoorStatusMessageEvent'; import { FurnitureWallAddEvent } from '../communication/messages/incoming/room/furniture/wall/FurnitureWallAddEvent'; import { FurnitureWallEvent } from '../communication/messages/incoming/room/furniture/wall/FurnitureWallEvent'; import { FurnitureWallRemoveEvent } from '../communication/messages/incoming/room/furniture/wall/FurnitureWallRemoveEvent'; import { FurnitureWallUpdateEvent } from '../communication/messages/incoming/room/furniture/wall/FurnitureWallUpdateEvent'; -import { RoomDoorEvent } from '../communication/messages/incoming/room/mapping/RoomDoorEvent'; +import { FloorHeightMapEvent } from '../communication/messages/incoming/room/mapping/FloorHeightMapEvent'; +import { RoomEntryTileMessageEvent } from '../communication/messages/incoming/room/mapping/RoomEntryTileMessageEvent'; import { RoomHeightMapEvent } from '../communication/messages/incoming/room/mapping/RoomHeightMapEvent'; import { RoomHeightMapUpdateEvent } from '../communication/messages/incoming/room/mapping/RoomHeightMapUpdateEvent'; -import { RoomModelEvent } from '../communication/messages/incoming/room/mapping/RoomModelEvent'; -import { RoomModelNameEvent } from '../communication/messages/incoming/room/mapping/RoomModelNameEvent'; import { RoomPaintEvent } from '../communication/messages/incoming/room/mapping/RoomPaintEvent'; -import { RoomThicknessEvent } from '../communication/messages/incoming/room/mapping/RoomThicknessEvent'; +import { RoomReadyMessageEvent } from '../communication/messages/incoming/room/mapping/RoomReadyMessageEvent'; +import { RoomVisualizationSettingsEvent } from '../communication/messages/incoming/room/mapping/RoomVisualizationSettingsEvent'; import { PetFigureUpdateEvent } from '../communication/messages/incoming/room/pet/PetFigureUpdateEvent'; import { YouArePlayingGameEvent } from '../communication/messages/incoming/room/session/YouArePlayingGameEvent'; import { RoomUnitChatEvent } from '../communication/messages/incoming/room/unit/chat/RoomUnitChatEvent'; @@ -44,10 +48,11 @@ import { RoomUnitStatusEvent } from '../communication/messages/incoming/room/uni import { UserInfoEvent } from '../communication/messages/incoming/user/data/UserInfoEvent'; import { IgnoreResultEvent } from '../communication/messages/incoming/user/IgnoreResultEvent'; import { FurnitureAliasesComposer } from '../communication/messages/outgoing/room/furniture/FurnitureAliasesComposer'; -import { RoomModelComposer } from '../communication/messages/outgoing/room/mapping/RoomModelComposer'; +import { GetRoomEntryDataMessageComposer } from '../communication/messages/outgoing/room/layout/GetRoomEntryDataMessageComposer'; import { FurnitureFloorDataParser } from '../communication/messages/parser/room/furniture/floor/FurnitureFloorDataParser'; import { FurnitureWallDataParser } from '../communication/messages/parser/room/furniture/wall/FurnitureWallDataParser'; -import { RoomDoorParser } from '../communication/messages/parser/room/mapping/RoomDoorParser'; +import { RoomEntryTileMessageParser } from '../communication/messages/parser/room/mapping/RoomEntryTileMessageParser'; +import { RoomObjectType } from '../room/object/RoomObjectType'; import { IRoomCreator } from './IRoomCreator'; import { LegacyDataType } from './object/data/type/LegacyDataType'; import { RoomObjectUserType } from './object/RoomObjectUserType'; @@ -63,11 +68,13 @@ export class RoomMessageHandler extends Disposable private _connection: IConnection; private _roomCreator: IRoomCreator; private _planeParser: RoomPlaneParser; - private _latestEntryTileEvent: RoomDoorEvent; + private _latestEntryTileEvent: RoomEntryTileMessageEvent; private _currentRoomId: number; private _ownUserId: number; private _initialConnection: boolean; + private _guideId: number; + private _requesterId: number; constructor(roomCreator: IRoomCreator) { @@ -81,6 +88,8 @@ export class RoomMessageHandler extends Disposable this._currentRoomId = 0; this._ownUserId = 0; this._initialConnection = true; + this._guideId = -1; + this._requesterId = -1; } protected onDispose(): void @@ -106,13 +115,13 @@ export class RoomMessageHandler extends Disposable this._connection = connection; this._connection.addMessageEvent(new UserInfoEvent(this.onUserInfoEvent.bind(this))); - this._connection.addMessageEvent(new RoomModelNameEvent(this.onRoomModelNameEvent.bind(this))); + this._connection.addMessageEvent(new RoomReadyMessageEvent(this.onRoomReadyMessageEvent.bind(this))); this._connection.addMessageEvent(new RoomPaintEvent(this.onRoomPaintEvent.bind(this))); - this._connection.addMessageEvent(new RoomModelEvent(this.onRoomModelEvent.bind(this))); + this._connection.addMessageEvent(new FloorHeightMapEvent(this.onRoomModelEvent.bind(this))); this._connection.addMessageEvent(new RoomHeightMapEvent(this.onRoomHeightMapEvent.bind(this))); this._connection.addMessageEvent(new RoomHeightMapUpdateEvent(this.onRoomHeightMapUpdateEvent.bind(this))); - this._connection.addMessageEvent(new RoomThicknessEvent(this.onRoomThicknessEvent.bind(this))); - this._connection.addMessageEvent(new RoomDoorEvent(this.onRoomDoorEvent.bind(this))); + this._connection.addMessageEvent(new RoomVisualizationSettingsEvent(this.onRoomThicknessEvent.bind(this))); + this._connection.addMessageEvent(new RoomEntryTileMessageEvent(this.onRoomDoorEvent.bind(this))); this._connection.addMessageEvent(new ObjectsRollingEvent(this.onRoomRollingEvent.bind(this))); this._connection.addMessageEvent(new ObjectsDataUpdateEvent(this.onObjectsDataUpdateEvent.bind(this))); this._connection.addMessageEvent(new FurnitureAliasesEvent(this.onFurnitureAliasesEvent.bind(this))); @@ -125,8 +134,8 @@ export class RoomMessageHandler extends Disposable this._connection.addMessageEvent(new FurnitureWallRemoveEvent(this.onFurnitureWallRemoveEvent.bind(this))); this._connection.addMessageEvent(new FurnitureWallUpdateEvent(this.onFurnitureWallUpdateEvent.bind(this))); this._connection.addMessageEvent(new FurnitureDataEvent(this.onFurnitureDataEvent.bind(this))); - this._connection.addMessageEvent(new FurnitureItemDataEvent(this.onFurnitureItemDataEvent.bind(this))); - this._connection.addMessageEvent(new FurnitureStateEvent(this.onFurnitureStateEvent.bind(this))); + this._connection.addMessageEvent(new ItemDataUpdateMessageEvent(this.onItemDataUpdateMessageEvent.bind(this))); + this._connection.addMessageEvent(new OneWayDoorStatusMessageEvent(this.onOneWayDoorStatusMessageEvent.bind(this))); this._connection.addMessageEvent(new RoomUnitDanceEvent(this.onRoomUnitDanceEvent.bind(this))); this._connection.addMessageEvent(new RoomUnitEffectEvent(this.onRoomUnitEffectEvent.bind(this))); this._connection.addMessageEvent(new RoomUnitEvent(this.onRoomUnitEvent.bind(this))); @@ -144,8 +153,11 @@ export class RoomMessageHandler extends Disposable this._connection.addMessageEvent(new PetFigureUpdateEvent(this.onPetFigureUpdateEvent.bind(this))); this._connection.addMessageEvent(new PetExperienceEvent(this.onPetExperienceEvent.bind(this))); this._connection.addMessageEvent(new YouArePlayingGameEvent(this.onYouArePlayingGameEvent.bind(this))); - this._connection.addMessageEvent(new FurnitureState2Event(this.onFurnitureState2Event.bind(this))); + this._connection.addMessageEvent(new DiceValueMessageEvent(this.onDiceValueMessageEvent.bind(this))); this._connection.addMessageEvent(new IgnoreResultEvent(this.onIgnoreResultEvent.bind(this))); + this._connection.addMessageEvent(new GuideSessionStartedMessageEvent(this.onGuideSessionStartedMessageEvent.bind(this))); + this._connection.addMessageEvent(new GuideSessionEndedMessageEvent(this.onGuideSessionEndedMessageEvent.bind(this))); + this._connection.addMessageEvent(new GuideSessionErrorMessageEvent(this.onGuideSessionErrorMessageEvent.bind(this))); } public setRoomId(id: number): void @@ -176,18 +188,18 @@ export class RoomMessageHandler extends Disposable this._ownUserId = parser.userInfo.userId; } - private onRoomModelNameEvent(event: RoomModelNameEvent): void + private onRoomReadyMessageEvent(event: RoomReadyMessageEvent): void { - if(!(event instanceof RoomModelNameEvent) || !event.connection) return; + const parser = event.getParser(); - if(this._currentRoomId !== event.getParser().roomId) + if(this._currentRoomId !== parser.roomId) { - this.setRoomId(event.getParser().roomId); + this.setRoomId(parser.roomId); } if(this._roomCreator) { - this._roomCreator.setRoomInstanceModelName(event.getParser().roomId, event.getParser().name); + this._roomCreator.setRoomInstanceModelName(parser.roomId, parser.name); } if(this._initialConnection) @@ -199,7 +211,7 @@ export class RoomMessageHandler extends Disposable return; } - event.connection.send(new RoomModelComposer()); + event.connection.send(new GetRoomEntryDataMessageComposer()); } private onRoomPaintEvent(event: RoomPaintEvent): void @@ -220,9 +232,9 @@ export class RoomMessageHandler extends Disposable } } - private onRoomModelEvent(event: RoomModelEvent): void + private onRoomModelEvent(event: FloorHeightMapEvent): void { - if(!(event instanceof RoomModelEvent) || !event.connection || !this._roomCreator) return; + if(!(event instanceof FloorHeightMapEvent) || !event.connection || !this._roomCreator) return; const parser = event.getParser(); @@ -239,7 +251,7 @@ export class RoomMessageHandler extends Disposable this._planeParser.initializeTileMap(width, height); - let entryTile: RoomDoorParser = null; + let entryTile: RoomEntryTileMessageParser = null; if(this._latestEntryTileEvent) entryTile = this._latestEntryTileEvent.getParser(); @@ -387,9 +399,9 @@ export class RoomMessageHandler extends Disposable this._roomCreator.refreshTileObjectMap(this._currentRoomId, 'RoomMessageHandler.onRoomHeightMapUpdateEvent()'); } - private onRoomThicknessEvent(event: RoomThicknessEvent): void + private onRoomThicknessEvent(event: RoomVisualizationSettingsEvent): void { - if(!(event instanceof RoomThicknessEvent)) return; + if(!(event instanceof RoomVisualizationSettingsEvent)) return; const parser = event.getParser(); @@ -407,9 +419,9 @@ export class RoomMessageHandler extends Disposable } } - private onRoomDoorEvent(event: RoomDoorEvent): void + private onRoomDoorEvent(event: RoomEntryTileMessageEvent): void { - if(!(event instanceof RoomDoorEvent)) return; + if(!(event instanceof RoomEntryTileMessageEvent)) return; this._latestEntryTileEvent = event; } @@ -482,7 +494,7 @@ export class RoomMessageHandler extends Disposable const alises = event.getParser().aliases; - this._connection.send(new RoomModelComposer()); + this._connection.send(new GetRoomEntryDataMessageComposer()); } private onFurnitureFloorAddEvent(event: FurnitureFloorAddEvent): void @@ -627,27 +639,27 @@ export class RoomMessageHandler extends Disposable this._roomCreator.updateRoomObjectFloor(this._currentRoomId, parser.furnitureId, null, null, parser.objectData.state, parser.objectData); } - private onFurnitureItemDataEvent(event: FurnitureItemDataEvent): void + private onItemDataUpdateMessageEvent(event: ItemDataUpdateMessageEvent): void { - if(!(event instanceof FurnitureItemDataEvent) || !event.connection || !this._roomCreator) return; + if(!(event instanceof ItemDataUpdateMessageEvent) || !event.connection || !this._roomCreator) return; const parser = event.getParser(); this._roomCreator.updateRoomObjectWallItemData(this._currentRoomId, parser.furnitureId, parser.data); } - private onFurnitureStateEvent(event: FurnitureStateEvent): void + private onOneWayDoorStatusMessageEvent(event: OneWayDoorStatusMessageEvent): void { - if(!(event instanceof FurnitureStateEvent) || !event.connection || !this._roomCreator) return; + if(!(event instanceof OneWayDoorStatusMessageEvent) || !event.connection || !this._roomCreator) return; const parser = event.getParser(); this._roomCreator.updateRoomObjectFloor(this._currentRoomId, parser.itemId, null, null, parser.state, new LegacyDataType()); } - private onFurnitureState2Event(event: FurnitureState2Event): void + private onDiceValueMessageEvent(event: DiceValueMessageEvent): void { - if(!(event instanceof FurnitureState2Event) || !event.connection || !this._roomCreator) return; + if(!(event instanceof DiceValueMessageEvent) || !event.connection || !this._roomCreator) return; const parser = event.getParser(); @@ -949,9 +961,61 @@ export class RoomMessageHandler extends Disposable } } + private onGuideSessionStartedMessageEvent(event: GuideSessionStartedMessageEvent): void + { + const parser = event.getParser(); + + this._guideId = parser.guideUserId; + this._requesterId = parser.requesterUserId; + + this.updateGuideMarker(); + } + + private onGuideSessionEndedMessageEvent(k: GuideSessionEndedMessageEvent): void + { + this.removeGuideMarker(); + } + + private onGuideSessionErrorMessageEvent(k: GuideSessionErrorMessageEvent): void + { + this.removeGuideMarker(); + } + + private updateGuideMarker():void + { + const userId = this._roomCreator.sessionDataManager.userId; + + this.setUserGuideStatus(this._guideId, ((this._requesterId === userId) ? AvatarGuideStatus.GUIDE : AvatarGuideStatus.NONE)); + this.setUserGuideStatus(this._requesterId, ((this._guideId === userId) ? AvatarGuideStatus.REQUESTER : AvatarGuideStatus.NONE)); + } + + private removeGuideMarker():void + { + this.setUserGuideStatus(this._guideId, AvatarGuideStatus.NONE); + this.setUserGuideStatus(this._requesterId, AvatarGuideStatus.NONE); + + this._guideId = -1; + this._requesterId = -1; + } + + private setUserGuideStatus(userId: number, status: number):void + { + if(!this._roomCreator || !this._roomCreator.roomSessionManager) return; + + const roomSession = this._roomCreator.roomSessionManager.getSession(this._currentRoomId); + + if(!roomSession) return; + + const userData = roomSession.userDataManager.getDataByType(userId, RoomObjectType.USER); + + if(!userData) return; + + this._roomCreator.updateRoomObjectUserAction(this._currentRoomId, userData.roomIndex, RoomObjectVariable.FIGURE_GUIDE_STATUS, status); + } + // public _SafeStr_10580(event:_SafeStr_2242): void // { - // var arrayIndex:int; + // var arrayIndex: number; // var discoColours:Array; // var discoTimer:Timer; // var eventParser:_SafeStr_4576 = (event.parser as _SafeStr_4576); diff --git a/src/nitro/room/RoomObjectEventHandler.ts b/src/nitro/room/RoomObjectEventHandler.ts index a6899d9e..51cb476e 100644 --- a/src/nitro/room/RoomObjectEventHandler.ts +++ b/src/nitro/room/RoomObjectEventHandler.ts @@ -11,13 +11,13 @@ import { IRoomGeometry } from '../../room/utils/IRoomGeometry'; import { IVector3D } from '../../room/utils/IVector3D'; import { RoomEnterEffect } from '../../room/utils/RoomEnterEffect'; import { Vector3d } from '../../room/utils/Vector3d'; -import { FurnitureGuildInfoComposer } from '../communication'; +import { FurnitureGroupInfoComposer, SetObjectDataMessageComposer } from '../communication'; import { BotPlaceComposer } from '../communication/messages/outgoing/room/engine/BotPlaceComposer'; import { GetItemDataComposer } from '../communication/messages/outgoing/room/engine/GetItemDataComposer'; -import { ModifyWallItemDataComposer } from '../communication/messages/outgoing/room/engine/ModifyWallItemDataComposer'; import { PetMoveComposer } from '../communication/messages/outgoing/room/engine/PetMoveComposer'; import { PetPlaceComposer } from '../communication/messages/outgoing/room/engine/PetPlaceComposer'; import { RemoveWallItemComposer } from '../communication/messages/outgoing/room/engine/RemoveWallItemComposer'; +import { SetItemDataMessageComposer } from '../communication/messages/outgoing/room/engine/SetItemDataMessageComposer'; import { FurnitureFloorUpdateComposer } from '../communication/messages/outgoing/room/furniture/floor/FurnitureFloorUpdateComposer'; import { FurniturePickupComposer } from '../communication/messages/outgoing/room/furniture/FurniturePickupComposer'; import { FurniturePlaceComposer } from '../communication/messages/outgoing/room/furniture/FurniturePlaceComposer'; @@ -814,7 +814,7 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou eventDispatcher.dispatchEvent(new RoomEngineUseProductEvent(RoomEngineUseProductEvent.USE_PRODUCT_FROM_ROOM, roomId, objectId, objectCategory)); return; case RoomObjectWidgetRequestEvent.GUILD_FURNI_CONTEXT_MENU: - this._roomEngine.connection.send(new FurnitureGuildInfoComposer(event.objectId, event.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_GUILD_ID))); + this._roomEngine.connection.send(new FurnitureGroupInfoComposer(event.objectId, event.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_GUILD_ID))); return; case RoomObjectWidgetRequestEvent.MONSTERPLANT_SEED_PLANT_CONFIRMATION_DIALOG: eventDispatcher.dispatchEvent(new RoomEngineTriggerWidgetEvent(RoomEngineTriggerWidgetEvent.REQUEST_MONSTERPLANT_SEED_PLANT_CONFIRMATION_DIALOG, roomId, objectId, objectCategory)); @@ -1550,6 +1550,8 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou private handleMoveTargetFurni(k: number, _arg_2: RoomObjectMouseEvent): boolean { + if((_arg_2.objectType === RoomObjectUserType.USER) || (_arg_2.objectType === RoomObjectUserType.PET) || (_arg_2.objectType === RoomObjectUserType.BOT) || (_arg_2.objectType === RoomObjectUserType.RENTABLE_BOT) || (_arg_2.objectType === RoomObjectUserType.MONSTER_PLANT)) return; + const _local_3 = this._roomEngine.getRoomObject(k, _arg_2.objectId, RoomObjectCategory.FLOOR); const _local_4 = this.getActiveSurfaceLocation(_local_3, _arg_2); @@ -1746,36 +1748,6 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou } } - public processRoomObjectWallOperation(roomId: number, objectId: number, category: number, operation: string, data: Map): boolean - { - if(!this._roomEngine) return false; - - const roomObject = this._roomEngine.getRoomObject(roomId, objectId, category); - - if(!roomObject) return false; - - switch(operation) - { - case RoomObjectOperationType.OBJECT_SAVE_STUFF_DATA: - if(this._roomEngine.connection) - { - //this._roomEngine.connection.send(new _Str_5686(objectId, data)); - } - break; - } - - return true; - } - - public processRoomObjectFloorOperation(roomId: number, objectId: number, operation: string, data: string): boolean - { - if(!this._roomEngine) return false; - - //this._roomEngine.connection.send(new _Str_10640(objectId, operation, data)); - - return true; - } - public modifyRoomObject(roomId: number, objectId: number, category: number, operation: string): boolean { if(!this._roomEngine) return false; @@ -1925,6 +1897,45 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou return true; } + public modifyRoomObjectDataWithMap(roomId: number, objectId: number, category: number, operation: string, data: Map): boolean + { + if(!this._roomEngine) return false; + + const roomObject = this._roomEngine.getRoomObject(roomId, objectId, category); + + if(!roomObject) return false; + + switch(operation) + { + case RoomObjectOperationType.OBJECT_SAVE_STUFF_DATA: + if(this._roomEngine.connection) + { + this._roomEngine.connection.send(new SetObjectDataMessageComposer(objectId, data)); + } + break; + } + + return true; + } + + public modifyWallItemData(roomId: number, objectId: number, colorHex: string, text: string): boolean + { + if(!this._roomEngine || !this._roomEngine.connection) return false; + + this._roomEngine.connection.send(new SetItemDataMessageComposer(objectId, colorHex, text)); + + return true; + } + + public deleteWallItem(roomId: number, itemId: number): boolean + { + if(!this._roomEngine || !this._roomEngine.connection) return false; + + this._roomEngine.connection.send(new RemoveWallItemComposer(itemId)); + + return true; + } + public getValidRoomObjectDirection(k: IRoomObjectController, _arg_2: boolean): number { if(!k || !k.model) return 0; @@ -2237,30 +2248,6 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou return true; } - public modifyWallItemData(roomId: number, objectId: number, colorHex: string, text: string): boolean - { - if(!this._roomEngine || !this._roomEngine.connection) - { - return false; - } - - this._roomEngine.connection.send(new ModifyWallItemDataComposer(objectId, colorHex, text)); - - return true; - } - - public deleteWallItem(roomId: number, itemId: number): boolean - { - if(!this._roomEngine || !this._roomEngine.connection) - { - return false; - } - - this._roomEngine.connection.send(new RemoveWallItemComposer(itemId)); - - return true; - } - public get engine(): IRoomEngineServices { return this._roomEngine; diff --git a/src/nitro/room/enums/FriendFurniEngravingWidgetType.ts b/src/nitro/room/enums/FriendFurniEngravingWidgetType.ts index e3c75c7a..47a95f97 100644 --- a/src/nitro/room/enums/FriendFurniEngravingWidgetType.ts +++ b/src/nitro/room/enums/FriendFurniEngravingWidgetType.ts @@ -1,8 +1,8 @@ export class FriendFurniEngravingWidgetType { - public static readonly LOVE_LOCK:number = 0; - public static readonly CARVE_A_TREE:number = 1; - public static readonly FRIENDS_PORTRAIT:number = 2; - public static readonly WILD_WEST_WANTED:number = 3; - public static readonly HABBOWEEN:number = 4; + public static readonly LOVE_LOCK: number = 0; + public static readonly CARVE_A_TREE: number = 1; + public static readonly FRIENDS_PORTRAIT: number = 2; + public static readonly WILD_WEST_WANTED: number = 3; + public static readonly HABBOWEEN: number = 4; } diff --git a/src/nitro/room/messages/ObjectModelDataUpdateMessage.ts b/src/nitro/room/messages/ObjectModelDataUpdateMessage.ts index dbcd4a47..c4052973 100644 --- a/src/nitro/room/messages/ObjectModelDataUpdateMessage.ts +++ b/src/nitro/room/messages/ObjectModelDataUpdateMessage.ts @@ -3,7 +3,7 @@ import { RoomObjectUpdateMessage } from '../../../room/messages/RoomObjectUpdate export class ObjectModelDataUpdateMessage extends RoomObjectUpdateMessage { private _numberKey: string; - private _numberValue:number; + private _numberValue: number; constructor(numberKey: string, numberValue: number) { diff --git a/src/nitro/room/object/RoomObjectVariable.ts b/src/nitro/room/object/RoomObjectVariable.ts index 72c475e0..db3c790d 100644 --- a/src/nitro/room/object/RoomObjectVariable.ts +++ b/src/nitro/room/object/RoomObjectVariable.ts @@ -34,6 +34,7 @@ export class RoomObjectVariable public static FIGURE_GUIDE_STATUS: string = 'figure_guide_status'; public static FIGURE_EXPRESSION: string = 'figure_expression'; public static HEAD_DIRECTION: string = 'head_direction'; + public static FURNITURE_CUSTOM_VARIABLES: string = 'furniture_custom_variables'; public static FURNITURE_AUTOMATIC_STATE_INDEX: string = 'furniture_automatic_state_index'; public static FURNITURE_ALWAYS_STACKABLE: string = 'furniture_always_stackable'; public static FURNITURE_DISABLE_PICKING_ANIMATION: string = 'furniture_disable_picking_animation'; @@ -49,7 +50,7 @@ export class RoomObjectVariable public static FURNITURE_COLOR: string = 'furniture_color'; public static FURNITURE_LIFT_AMOUNT: string = 'furniure_lift_amount'; public static FURNITURE_GUILD_CUSTOMIZED_GUILD_ID: string = 'furniture_guild_customized_guild_id'; - public static FURNITURE_GUILD_CUSTOMIZED_BADGE: string = 'furniture_guild_customized_badge'; + public static FURNITURE_GUILD_CUSTOMIZED_ASSET_NAME: string = 'furniture_guild_customized_asset_name'; public static FURNITURE_GUILD_CUSTOMIZED_COLOR_1: string = 'furniture_guild_customized_color_1'; public static FURNITURE_GUILD_CUSTOMIZED_COLOR_2: string = 'furniture_guild_customized_color_2'; public static FURNITURE_STATE_UPDATE_TIME: string = 'furniture_state_update_time'; diff --git a/src/nitro/room/object/RoomPlaneBitmapMaskData.ts b/src/nitro/room/object/RoomPlaneBitmapMaskData.ts index ae106952..baf6511b 100644 --- a/src/nitro/room/object/RoomPlaneBitmapMaskData.ts +++ b/src/nitro/room/object/RoomPlaneBitmapMaskData.ts @@ -4,7 +4,7 @@ import { Vector3d } from '../../../room/utils/Vector3d'; export class RoomPlaneBitmapMaskData { public static WINDOW: string = 'window'; - public static HOLE:string = 'hole'; + public static HOLE: string = 'hole'; private _loc: Vector3d; private _type: string; @@ -53,4 +53,4 @@ export class RoomPlaneBitmapMaskData { this._loc = null; } -} \ No newline at end of file +} diff --git a/src/nitro/room/object/logic/MovingObjectLogic.ts b/src/nitro/room/object/logic/MovingObjectLogic.ts index 13eef354..8ce77b34 100644 --- a/src/nitro/room/object/logic/MovingObjectLogic.ts +++ b/src/nitro/room/object/logic/MovingObjectLogic.ts @@ -8,6 +8,7 @@ import { RoomObjectVariable } from '../RoomObjectVariable'; export class MovingObjectLogic extends RoomObjectLogicBase { + public static UPDATE_MOVING_INTERVAL: number = 500; private static TEMP_VECTOR: Vector3d = new Vector3d(); private _liftAmount: number; @@ -16,7 +17,6 @@ export class MovingObjectLogic extends RoomObjectLogicBase private _locationDelta: Vector3d; private _lastUpdateTime: number; private _changeTime: number; - private _updateInterval: number; constructor() { @@ -28,7 +28,6 @@ export class MovingObjectLogic extends RoomObjectLogicBase this._locationDelta = new Vector3d(); this._lastUpdateTime = 0; this._changeTime = 0; - this._updateInterval = 500; } protected onDispose(): void @@ -73,14 +72,14 @@ export class MovingObjectLogic extends RoomObjectLogicBase let difference = (this.time - this._changeTime); - if(difference === (this._updateInterval >> 1)) difference++; + if(difference === (MovingObjectLogic.UPDATE_MOVING_INTERVAL >> 1)) difference++; - if(difference > this._updateInterval) difference = this._updateInterval; + if(difference > MovingObjectLogic.UPDATE_MOVING_INTERVAL) difference = MovingObjectLogic.UPDATE_MOVING_INTERVAL; if(this._locationDelta.length > 0) { vector.assign(this._locationDelta); - vector.multiply((difference / this._updateInterval)); + vector.multiply((difference / MovingObjectLogic.UPDATE_MOVING_INTERVAL)); vector.add(this._location); } else @@ -92,7 +91,7 @@ export class MovingObjectLogic extends RoomObjectLogicBase this.object.setLocation(vector); - if(difference === this._updateInterval) + if(difference === MovingObjectLogic.UPDATE_MOVING_INTERVAL) { this._locationDelta.x = 0; this._locationDelta.y = 0; diff --git a/src/nitro/room/object/logic/furniture/FurnitureBadgeDisplayLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureBadgeDisplayLogic.ts index 083b6bfc..b0f7be66 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureBadgeDisplayLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureBadgeDisplayLogic.ts @@ -12,7 +12,7 @@ export class FurnitureBadgeDisplayLogic extends FurnitureLogic { public getEventTypes(): string[] { - const types = [ RoomObjectBadgeAssetEvent.LOAD_BADGE ]; + const types = [ RoomObjectWidgetRequestEvent.BADGE_DISPLAY_ENGRAVING, RoomObjectBadgeAssetEvent.LOAD_BADGE ]; return this.mergeTypes(super.getEventTypes(), types); } diff --git a/src/nitro/room/object/logic/furniture/FurnitureCreditLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureCreditLogic.ts index 2fc654ee..7f9613b1 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureCreditLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureCreditLogic.ts @@ -20,7 +20,10 @@ export class FurnitureCreditLogic extends FurnitureLogic let creditValue = 0; - if(asset.credits && (asset.credits !== '') && (asset.credits.length > 0)) creditValue = parseInt(asset.credits); + if(asset.logic) + { + if(asset.logic.credits && (asset.logic.credits !== '') && (asset.logic.credits.length > 0)) creditValue = parseInt(asset.logic.credits); + } this.object.model.setValue(RoomObjectVariable.FURNITURE_CREDIT_VALUE, creditValue); } diff --git a/src/nitro/room/object/logic/furniture/FurnitureEditableInternalLinkLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureEditableInternalLinkLogic.ts index 0795392d..3360fef8 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureEditableInternalLinkLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureEditableInternalLinkLogic.ts @@ -30,9 +30,12 @@ export class FurnitureEditableInternalLinkLogic extends FurnitureLogic { super.initialize(asset); - if(asset.action) + if(asset.logic) { - if(asset.action.startState === 1) this._showStateOnceRendered = true; + if(asset.logic.action) + { + if(asset.logic.action.startState === 1) this._showStateOnceRendered = true; + } } } diff --git a/src/nitro/room/object/logic/furniture/FurnitureEditableRoomLinkLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureEditableRoomLinkLogic.ts index 8ac4e204..580074cf 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureEditableRoomLinkLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureEditableRoomLinkLogic.ts @@ -18,11 +18,14 @@ export class FurnitureEditableRoomLinkLogic extends FurnitureLogic { super.initialize(asset); - if(asset.action) + if(asset.logic) { - if(asset.action.link && (asset.action.link !== '') && (asset.action.link.length > 0)) + if(asset.logic.action) { - (this.object && this.object.model && this.object.model.setValue(RoomObjectVariable.FURNITURE_INTERNAL_LINK, asset.action.link)); + if(asset.logic.action.link && (asset.logic.action.link !== '') && (asset.logic.action.link.length > 0)) + { + (this.object && this.object.model && this.object.model.setValue(RoomObjectVariable.FURNITURE_INTERNAL_LINK, asset.logic.action.link)); + } } } } diff --git a/src/nitro/room/object/logic/furniture/FurnitureExternalImageLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureExternalImageLogic.ts index 4d06306a..91ceb15b 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureExternalImageLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureExternalImageLogic.ts @@ -15,7 +15,10 @@ export class FurnitureExternalImageLogic extends FurnitureMultiStateLogic { let maskType = ''; - if(asset.maskType && (asset.maskType !== '') && (asset.maskType.length > 0)) maskType = asset.maskType; + if(asset.logic) + { + if(asset.logic.maskType && (asset.logic.maskType !== '') && (asset.logic.maskType.length > 0)) maskType = asset.logic.maskType; + } this.object.model.setValue(RoomObjectVariable.FURNITURE_USES_PLANE_MASK, 0); this.object.model.setValue(RoomObjectVariable.FURNITURE_PLANE_MASK_TYPE, maskType); diff --git a/src/nitro/room/object/logic/furniture/FurnitureFireworksLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureFireworksLogic.ts index dbb8f3a0..458624cf 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureFireworksLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureFireworksLogic.ts @@ -1,5 +1,4 @@ -import { IAssetData } from '../../../../../core'; -import { IParticleSystem } from '../../../../../core/asset/interfaces/particlesystem'; +import { IAssetData, IParticleSystem } from '../../../../../core'; import { RoomObjectEvent } from '../../../../../room/events/RoomObjectEvent'; import { RoomSpriteMouseEvent } from '../../../../../room/events/RoomSpriteMouseEvent'; import { IRoomGeometry } from '../../../../../room/utils/IRoomGeometry'; @@ -21,9 +20,12 @@ export class FurnitureFireworksLogic extends FurnitureLogic { super.initialize(asset); - if(asset.particleSystems && asset.particleSystems.length) + if(asset.logic) { - this.object.model.setValue(RoomObjectVariable.FURNITURE_FIREWORKS_DATA, asset.particleSystems); + if(asset.logic.particleSystems && asset.logic.particleSystems.length) + { + this.object.model.setValue(RoomObjectVariable.FURNITURE_FIREWORKS_DATA, asset.logic.particleSystems); + } } } diff --git a/src/nitro/room/object/logic/furniture/FurnitureGuildCustomizedLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureGuildCustomizedLogic.ts index f8fdd361..ff2ff8f6 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureGuildCustomizedLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureGuildCustomizedLogic.ts @@ -1,4 +1,9 @@ +import { IRoomGeometry, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectUpdateMessage } from '../../../../../room/messages/RoomObjectUpdateMessage'; +import { Nitro } from '../../../../Nitro'; +import { MouseEventType } from '../../../../ui'; +import { RoomObjectBadgeAssetEvent, RoomObjectWidgetRequestEvent } from '../../../events'; +import { ObjectGroupBadgeUpdateMessage, ObjectSelectedMessage } from '../../../messages'; import { ObjectDataUpdateMessage } from '../../../messages/ObjectDataUpdateMessage'; import { StringDataType } from '../../data/type/StringDataType'; import { RoomObjectVariable } from '../../RoomObjectVariable'; @@ -11,6 +16,17 @@ export class FurnitureGuildCustomizedLogic extends FurnitureMultiStateLogic public static COLOR1_KEY: number = 3; public static COLOR2_KEY: number = 4; + public getEventTypes(): string[] + { + const types = [ + RoomObjectBadgeAssetEvent.LOAD_BADGE, + RoomObjectWidgetRequestEvent.GUILD_FURNI_CONTEXT_MENU, + RoomObjectWidgetRequestEvent.CLOSE_FURNI_CONTEXT_MENU + ]; + + return this.mergeTypes(super.getEventTypes(), types); + } + public processUpdateMessage(message: RoomObjectUpdateMessage): void { super.processUpdateMessage(message); @@ -26,6 +42,24 @@ export class FurnitureGuildCustomizedLogic extends FurnitureMultiStateLogic this.updateColors(data.getValue(FurnitureGuildCustomizedLogic.COLOR1_KEY), data.getValue(FurnitureGuildCustomizedLogic.COLOR2_KEY)); } } + + else if(message instanceof ObjectGroupBadgeUpdateMessage) + { + if(message.assetName !== 'loading_icon') + { + this.object.model.setValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_ASSET_NAME, message.assetName); + + this.update(Nitro.instance.time); + } + } + + else if(message instanceof ObjectSelectedMessage) + { + if(!message.selected) + { + this.eventDispatcher.dispatchEvent(new RoomObjectWidgetRequestEvent(RoomObjectWidgetRequestEvent.CLOSE_FURNI_CONTEXT_MENU, this.object)); + } + } } protected updateGroupId(id: string): void @@ -35,7 +69,7 @@ export class FurnitureGuildCustomizedLogic extends FurnitureMultiStateLogic private updateBadge(badge: string): void { - this.object.model.setValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_BADGE, badge); + this.eventDispatcher.dispatchEvent(new RoomObjectBadgeAssetEvent(RoomObjectBadgeAssetEvent.LOAD_BADGE, this.object, badge, true)); } public updateColors(color1: string, color2: string): void @@ -43,4 +77,22 @@ export class FurnitureGuildCustomizedLogic extends FurnitureMultiStateLogic this.object.model.setValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_COLOR_1, parseInt(color1, 16)); this.object.model.setValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_COLOR_2, parseInt(color2, 16)); } + + public mouseEvent(event: RoomSpriteMouseEvent, geometry: IRoomGeometry): void + { + if(!event || !geometry || !this.object) return; + + switch(event.type) + { + case MouseEventType.MOUSE_CLICK: + this.openContextMenu(); + } + + super.mouseEvent(event, geometry); + } + + private openContextMenu(): void + { + this.eventDispatcher.dispatchEvent(new RoomObjectWidgetRequestEvent(RoomObjectWidgetRequestEvent.GUILD_FURNI_CONTEXT_MENU, this.object)); + } } diff --git a/src/nitro/room/object/logic/furniture/FurnitureInternalLinkLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureInternalLinkLogic.ts index fd0fffda..ef9529dc 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureInternalLinkLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureInternalLinkLogic.ts @@ -24,11 +24,14 @@ export class FurnitureInternalLinkLogic extends FurnitureLogic { super.initialize(asset); - if(asset.action) + if(asset.logic) { - this.object.model.setValue(RoomObjectVariable.FURNITURE_INTERNAL_LINK, asset.action.link); + if(asset.logic.action) + { + this.object.model.setValue(RoomObjectVariable.FURNITURE_INTERNAL_LINK, asset.logic.action.link); - if(asset.action.startState === 1) this._showStateOnceRendered = true; + if(asset.logic.action.startState === 1) this._showStateOnceRendered = true; + } } } diff --git a/src/nitro/room/object/logic/furniture/FurnitureLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureLogic.ts index fad7b2b3..f15c0571 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureLogic.ts @@ -99,28 +99,42 @@ export class FurnitureLogic extends MovingObjectLogic if(!model) return; - const dimensions = asset.dimensions; - - if(!dimensions) return; - - this._sizeX = dimensions.x; - this._sizeY = dimensions.y; - this._sizeZ = dimensions.z; - - this._centerX = (this._sizeX / 2); - this._centerY = (this._sizeY / 2); - this._centerZ = (this._sizeZ / 2); - - const directions = asset.directions; - - if(directions && directions.length) + if(asset.logic) { - for(const direction of directions) this._directions.push(direction); - - this._directions.sort((a, b) => + if(asset.logic.model) { - return a - b; - }); + const dimensions = asset.logic.model.dimensions; + + if(dimensions) + { + this._sizeX = dimensions.x; + this._sizeY = dimensions.y; + this._sizeZ = dimensions.z; + + this._centerX = (this._sizeX / 2); + this._centerY = (this._sizeY / 2); + this._centerZ = (this._sizeZ / 2); + } + + const directions = asset.logic.model.directions; + + if(directions && directions.length) + { + for(const direction of directions) this._directions.push(direction); + + this._directions.sort((a, b) => (a - b)); + } + } + + if(asset.logic.customVars) + { + const variables = asset.logic.customVars.variables; + + if(variables && variables.length) + { + model.setValue(RoomObjectVariable.FURNITURE_CUSTOM_VARIABLES, variables); + } + } } model.setValue(RoomObjectVariable.FURNITURE_SIZE_X, this._sizeX); diff --git a/src/nitro/room/object/logic/furniture/FurniturePlanetSystemLogic.ts b/src/nitro/room/object/logic/furniture/FurniturePlanetSystemLogic.ts index bb44309d..56d97ff7 100644 --- a/src/nitro/room/object/logic/furniture/FurniturePlanetSystemLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurniturePlanetSystemLogic.ts @@ -1,4 +1,4 @@ -import { IAssetData, IPlanetSystem } from '../../../../../core/asset/interfaces'; +import { IAssetData, IAssetLogicPlanetSystem } from '../../../../../core/asset/interfaces'; import { RoomObjectVariable } from '../../RoomObjectVariable'; import { FurnitureLogic } from './FurnitureLogic'; @@ -8,9 +8,12 @@ export class FurniturePlanetSystemLogic extends FurnitureLogic { super.initialize(asset); - if(asset.planetSystems) + if(asset.logic) { - this.object.model.setValue(RoomObjectVariable.FURNITURE_PLANETSYSTEM_DATA, asset.planetSystems); + if(asset.logic.planetSystems) + { + this.object.model.setValue(RoomObjectVariable.FURNITURE_PLANETSYSTEM_DATA, asset.logic.planetSystems); + } } } } diff --git a/src/nitro/room/object/logic/furniture/FurniturePresentLogic.ts b/src/nitro/room/object/logic/furniture/FurniturePresentLogic.ts index 9c7e6c89..4e0ed98f 100644 --- a/src/nitro/room/object/logic/furniture/FurniturePresentLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurniturePresentLogic.ts @@ -1,5 +1,4 @@ -import { IAssetData } from '../../../../../core/asset/interfaces'; -import { IParticleSystem } from '../../../../../core/asset/interfaces/particlesystem'; +import { IAssetData, IParticleSystem } from '../../../../../core/asset/interfaces'; import { RoomSpriteMouseEvent } from '../../../../../room/events/RoomSpriteMouseEvent'; import { RoomObjectUpdateMessage } from '../../../../../room/messages/RoomObjectUpdateMessage'; import { IRoomGeometry } from '../../../../../room/utils/IRoomGeometry'; @@ -33,9 +32,12 @@ export class FurniturePresentLogic extends FurnitureLogic { super.initialize(asset); - if(asset.particleSystems && asset.particleSystems.length) + if(asset.logic) { - this.object.model.setValue(RoomObjectVariable.FURNITURE_FIREWORKS_DATA, asset.particleSystems); + if(asset.logic.particleSystems && asset.logic.particleSystems.length) + { + this.object.model.setValue(RoomObjectVariable.FURNITURE_FIREWORKS_DATA, asset.logic.particleSystems); + } } } diff --git a/src/nitro/room/object/logic/furniture/FurnitureRoomDimmerLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureRoomDimmerLogic.ts index 9e87d4f1..57663855 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureRoomDimmerLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureRoomDimmerLogic.ts @@ -122,21 +122,21 @@ export class FurnitureRoomDimmerLogic extends FurnitureLogic { super.update(time); - if(this.object && this.object.model) - { - const realRoomObject = this.object.model.getValue(RoomObjectVariable.FURNITURE_REAL_ROOM_OBJECT); + // if(this.object && this.object.model) + // { + // const realRoomObject = this.object.model.getValue(RoomObjectVariable.FURNITURE_REAL_ROOM_OBJECT); - if(realRoomObject === 1) - { - const data = this.object.model.getValue(RoomObjectVariable.FURNITURE_DATA); + // if(realRoomObject === 1) + // { + // const data = this.object.model.getValue(RoomObjectVariable.FURNITURE_DATA); - if(data && data.length > 0) - { - this.object.model.setValue(RoomObjectVariable.FURNITURE_DATA, ''); + // if(data && data.length > 0) + // { + // this.object.model.setValue(RoomObjectVariable.FURNITURE_DATA, ''); - this.processDimmerData(data); - } - } - } + // this.processDimmerData(data); + // } + // } + // } } } diff --git a/src/nitro/room/object/logic/furniture/FurnitureSoundBlockLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureSoundBlockLogic.ts index 0e405657..b4b411e8 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureSoundBlockLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureSoundBlockLogic.ts @@ -32,10 +32,14 @@ export class FurnitureSoundBlockLogic extends FurnitureMultiStateLogic { super.initialize(asset); - if(!asset.soundSample) return; - - this._sampleId = asset.soundSample.id; - this._noPitch = asset.soundSample.noPitch; + if(asset.logic) + { + if(asset.logic.soundSample) + { + this._sampleId = asset.logic.soundSample.id; + this._noPitch = asset.logic.soundSample.noPitch; + } + } this.object.model.setValue(RoomObjectVariable.FURNITURE_SOUNDBLOCK_RELATIVE_ANIMATION_SPEED, 1); } @@ -103,6 +107,8 @@ export class FurnitureSoundBlockLogic extends FurnitureMultiStateLogic private getPitchForHeight(height: number): number { + if(this._noPitch) return 1; + let heightScaled: number = (height * 2); if(heightScaled > FurnitureSoundBlockLogic.HIGHEST_SEMITONE) @@ -110,6 +116,6 @@ export class FurnitureSoundBlockLogic extends FurnitureMultiStateLogic heightScaled = Math.min(0, (FurnitureSoundBlockLogic.LOWEST_SEMITONE + ((heightScaled - FurnitureSoundBlockLogic.HIGHEST_SEMITONE) - 1))); } - return (this._noPitch) ? 1 : Math.pow(2, (heightScaled / 12)); + return Math.pow(2, (heightScaled / 12)); } } diff --git a/src/nitro/room/object/logic/furniture/FurnitureWindowLogic.ts b/src/nitro/room/object/logic/furniture/FurnitureWindowLogic.ts index 093fdfbc..84d3d9d6 100644 --- a/src/nitro/room/object/logic/furniture/FurnitureWindowLogic.ts +++ b/src/nitro/room/object/logic/furniture/FurnitureWindowLogic.ts @@ -10,9 +10,12 @@ export class FurnitureWindowLogic extends FurnitureMultiStateLogic let maskType = ''; - if(asset.maskType && (asset.maskType !== '') && (asset.maskType.length > 0)) maskType = asset.maskType; + if(asset.logic) + { + if(asset.logic.maskType && (asset.logic.maskType !== '') && (asset.logic.maskType.length > 0)) maskType = asset.logic.maskType; + } this.object.model.setValue(RoomObjectVariable.FURNITURE_USES_PLANE_MASK, 0); this.object.model.setValue(RoomObjectVariable.FURNITURE_PLANE_MASK_TYPE, maskType); } -} \ No newline at end of file +} diff --git a/src/nitro/room/object/logic/pet/PetLogic.ts b/src/nitro/room/object/logic/pet/PetLogic.ts index a2bb2452..dd073460 100644 --- a/src/nitro/room/object/logic/pet/PetLogic.ts +++ b/src/nitro/room/object/logic/pet/PetLogic.ts @@ -64,16 +64,19 @@ export class PetLogic extends MovingObjectLogic if(!model) return; - const directions = asset.directions; - - if(directions && directions.length) + if(asset.logic) { - for(const direction of directions) this._directions.push(direction); - - this._directions.sort((a, b) => + if(asset.logic.model) { - return a - b; - }); + const directions = asset.logic.model.directions; + + if(directions && directions.length) + { + for(const direction of directions) this._directions.push(direction); + + this._directions.sort(); + } + } } model.setValue(RoomObjectVariable.PET_ALLOWED_DIRECTIONS, this._directions); diff --git a/src/nitro/room/object/logic/room/RoomLogic.ts b/src/nitro/room/object/logic/room/RoomLogic.ts index 7a2d0991..aed19460 100644 --- a/src/nitro/room/object/logic/room/RoomLogic.ts +++ b/src/nitro/room/object/logic/room/RoomLogic.ts @@ -8,6 +8,7 @@ import { RoomObjectLogicBase } from '../../../../../room/object/logic/RoomObject import { ColorConverter } from '../../../../../room/utils/ColorConverter'; import { IRoomGeometry } from '../../../../../room/utils/IRoomGeometry'; import { Vector3d } from '../../../../../room/utils/Vector3d'; +import { Nitro } from '../../../../Nitro'; import { MouseEventType } from '../../../../ui/MouseEventType'; import { RoomObjectTileMouseEvent } from '../../../events/RoomObjectTileMouseEvent'; import { RoomObjectWallMouseEvent } from '../../../events/RoomObjectWallMouseEvent'; @@ -39,6 +40,7 @@ export class RoomLogic extends RoomObjectLogicBase private _colorTransitionLength: number; private _lastHoleUpdate: number; private _needsMapUpdate: boolean; + private _skipColorTransition: boolean; constructor() { @@ -56,6 +58,7 @@ export class RoomLogic extends RoomObjectLogicBase this._colorTransitionLength = 1500; this._lastHoleUpdate = 0; this._needsMapUpdate = false; + this._skipColorTransition = false; } public getEventTypes(): string[] @@ -97,6 +100,8 @@ export class RoomLogic extends RoomObjectLogicBase this.object.model.setValue(RoomObjectVariable.ROOM_FLOOR_VISIBILITY, 1); this.object.model.setValue(RoomObjectVariable.ROOM_WALL_VISIBILITY, 1); this.object.model.setValue(RoomObjectVariable.ROOM_LANDSCAPE_VISIBILITY, 1); + + this._skipColorTransition = (Nitro.instance.getConfiguration('room.color.skip.transition') === true); } public update(time: number): void @@ -325,7 +330,11 @@ export class RoomLogic extends RoomObjectLogicBase this._targetColor = message.color; this._targetLight = message.light; this._colorChangedTime = this.time; - this._colorTransitionLength = 1500; + + if(this._skipColorTransition) + this._colorTransitionLength = 0; + else + this._colorTransitionLength = 1500; model.setValue(RoomObjectVariable.ROOM_COLORIZE_BG_ONLY, message.backgroundOnly); } @@ -398,15 +407,15 @@ export class RoomLogic extends RoomObjectLogicBase _local_18.add(Vector3d.product(planeRightSide, (planePosition.y / rightSideLength))); _local_18.add(planeLocation); - const _local_19 = _local_18.x; - const _local_20 = _local_18.y; - const _local_21 = _local_18.z; + const tileX = _local_18.x; + const tileY = _local_18.y; + const tileZ = _local_18.z; if(((((planePosition.x >= 0) && (planePosition.x < leftSideLength)) && (planePosition.y >= 0)) && (planePosition.y < rightSideLength))) { - this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_X, _local_19); - this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_Y, _local_20); - this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_Z, _local_21); + this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_X, tileX); + this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_Y, tileY); + this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_Z, tileZ); this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_PLANE, (planeId + 1)); } else @@ -430,7 +439,7 @@ export class RoomLogic extends RoomObjectLogicBase if(planeType === RoomPlaneData.PLANE_FLOOR) { - newEvent = new RoomObjectTileMouseEvent(eventType, this.object, event.eventId, _local_19, _local_20, _local_21, event.altKey, event.ctrlKey, event.shiftKey, event.buttonDown); + newEvent = new RoomObjectTileMouseEvent(eventType, this.object, event.eventId, tileX, tileY, tileZ, event.altKey, event.ctrlKey, event.shiftKey, event.buttonDown); } else if((planeType === RoomPlaneData.PLANE_WALL) || (planeType === RoomPlaneData.PLANE_LANDSCAPE)) diff --git a/src/nitro/room/object/visualization/avatar/AvatarVisualization.ts b/src/nitro/room/object/visualization/avatar/AvatarVisualization.ts index 036054a9..e761affb 100644 --- a/src/nitro/room/object/visualization/avatar/AvatarVisualization.ts +++ b/src/nitro/room/object/visualization/avatar/AvatarVisualization.ts @@ -10,14 +10,16 @@ import { RoomObjectSpriteVisualization } from '../../../../../room/object/visual import { IGraphicAsset } from '../../../../../room/object/visualization/utils/IGraphicAsset'; import { IRoomGeometry } from '../../../../../room/utils/IRoomGeometry'; import { AvatarAction } from '../../../../avatar/enum/AvatarAction'; +import { AvatarGuideStatus } from '../../../../avatar/enum/AvatarGuideStatus'; import { AvatarSetType } from '../../../../avatar/enum/AvatarSetType'; import { IAvatarEffectListener } from '../../../../avatar/IAvatarEffectListener'; import { IAvatarImage } from '../../../../avatar/IAvatarImage'; import { IAvatarImageListener } from '../../../../avatar/IAvatarImageListener'; -import { Nitro } from '../../../../Nitro'; import { RoomObjectVariable } from '../../RoomObjectVariable'; import { ExpressionAdditionFactory } from './additions/ExpressionAdditionFactory'; import { FloatingIdleZAddition } from './additions/FloatingIdleZAddition'; +import { GameClickTargetAddition } from './additions/GameClickTargetAddition'; +import { GuideStatusBubbleAddition } from './additions/GuideStatusBubbleAddition'; import { IAvatarAddition } from './additions/IAvatarAddition'; import { MutedBubbleAddition } from './additions/MutedBubbleAddition'; import { NumberBubbleAddition } from './additions/NumberBubbleAddition'; @@ -31,7 +33,9 @@ export class AvatarVisualization extends RoomObjectSpriteVisualization implement private static TYPING_BUBBLE_ID: number = 2; private static EXPRESSION_ID: number = 3; private static NUMBER_BUBBLE_ID: number = 4; + private static GAME_CLICK_TARGET_ID: number = 5; private static MUTED_BUBBLE_ID: number = 6; + private static GUIDE_BUBBLE_ID: number = 7; private static OWN_USER_ID: number = 4; private static UPDATE_TIME_INCREASER: number = 41; private static AVATAR_LAYER_ID: number = 0; @@ -767,6 +771,40 @@ export class AvatarVisualization extends RoomObjectSpriteVisualization implement } } + const guideStatusValue = (model.getValue(RoomObjectVariable.FIGURE_GUIDE_STATUS) || 0); + + if(guideStatusValue !== AvatarGuideStatus.NONE) + { + this.removeAddition(AvatarVisualization.GUIDE_BUBBLE_ID); + this.addAddition(new GuideStatusBubbleAddition(AvatarVisualization.GUIDE_BUBBLE_ID, this, guideStatusValue)); + + needsUpdate = true; + } + else + { + if(this.getAddition(AvatarVisualization.GUIDE_BUBBLE_ID)) + { + this.removeAddition(AvatarVisualization.GUIDE_BUBBLE_ID); + + needsUpdate = true; + } + } + + const isPlayingGame = (model.getValue(RoomObjectVariable.FIGURE_IS_PLAYING_GAME) > 0); + + let gameClickAddition = this.getAddition(AvatarVisualization.GAME_CLICK_TARGET_ID); + + if(isPlayingGame) + { + if(!gameClickAddition) gameClickAddition = this.addAddition(new GameClickTargetAddition(AvatarVisualization.GAME_CLICK_TARGET_ID)); + + needsUpdate = true; + } + else + { + if(gameClickAddition) this.removeAddition(AvatarVisualization.GAME_CLICK_TARGET_ID); + } + const numberValue = model.getValue(RoomObjectVariable.FIGURE_NUMBER_VALUE); let numberAddition = this.getAddition(AvatarVisualization.NUMBER_BUBBLE_ID); @@ -1093,9 +1131,7 @@ export class AvatarVisualization extends RoomObjectSpriteVisualization implement public getAvatarRenderAsset(name: string): Texture { - const url = (Nitro.instance.getConfiguration('images.url') + '/additions/' + name + '.png'); - - return this._data ? this._data.getAvatarRendererAsset(url) : null; + return this._data ? this._data.getAvatarRendererAsset(name) : null; } public get direction(): number diff --git a/src/nitro/room/object/visualization/avatar/additions/FloatingHeartAddition.ts b/src/nitro/room/object/visualization/avatar/additions/FloatingHeartAddition.ts index 78f95d22..5d45a4cf 100644 --- a/src/nitro/room/object/visualization/avatar/additions/FloatingHeartAddition.ts +++ b/src/nitro/room/object/visualization/avatar/additions/FloatingHeartAddition.ts @@ -1,5 +1,6 @@ import { Resource, Texture } from '@pixi/core'; import { IRoomObjectSprite } from '../../../../../../room/object/visualization/IRoomObjectSprite'; +import { AvatarAction } from '../../../../../avatar/enum/AvatarAction'; import { Nitro } from '../../../../../Nitro'; import { AvatarVisualization } from '../AvatarVisualization'; import { ExpressionAddition } from './ExpressionAddition'; @@ -42,7 +43,7 @@ export class FloatingHeartAddition extends ExpressionAddition if(scale < 48) { - this._asset = this.visualization.getAvatarRenderAsset('user_blowkiss_small'); + this._asset = this.visualization.getAvatarRenderAsset('avatar_addition_user_blowkiss_small'); if((this.visualization.angle === 90) || (this.visualization.angle === 270)) { @@ -62,7 +63,7 @@ export class FloatingHeartAddition extends ExpressionAddition } else { - this._asset = this.visualization.getAvatarRenderAsset('user_blowkiss'); + this._asset = this.visualization.getAvatarRenderAsset('avatar_addition_user_blowkiss'); if((this.visualization.angle === 90) || (this.visualization.angle === 270)) { @@ -79,12 +80,12 @@ export class FloatingHeartAddition extends ExpressionAddition this._offsetY = -70; } - if(this.visualization.posture === 'sit') + if(this.visualization.posture === AvatarAction.POSTURE_SIT) { this._offsetY += (additionScale / 2); } - else if(this.visualization.posture === 'lay') + else if(this.visualization.posture === AvatarAction.POSTURE_LAY) { this._offsetY += additionScale; } diff --git a/src/nitro/room/object/visualization/avatar/additions/FloatingIdleZAddition.ts b/src/nitro/room/object/visualization/avatar/additions/FloatingIdleZAddition.ts index 8e4bd0dd..3abb8141 100644 --- a/src/nitro/room/object/visualization/avatar/additions/FloatingIdleZAddition.ts +++ b/src/nitro/room/object/visualization/avatar/additions/FloatingIdleZAddition.ts @@ -1,5 +1,6 @@ import { Resource, Texture } from '@pixi/core'; import { IRoomObjectSprite } from '../../../../../../room/object/visualization/IRoomObjectSprite'; +import { AvatarAction } from '../../../../../avatar/enum/AvatarAction'; import { Nitro } from '../../../../../Nitro'; import { AvatarVisualization } from '../AvatarVisualization'; import { IAvatarAddition } from './IAvatarAddition'; @@ -43,7 +44,7 @@ export class FloatingIdleZAddition implements IAvatarAddition if((this._visualization.angle === 135) || (this._visualization.angle === 180) || (this._visualization.angle === 225) || (this._visualization.angle === 270)) side = 'right'; - return ('user_idle_' + side + '_' + state + ((this._scale < 48) ? '_small' : '')); + return ('avatar_addition_user_idle_' + side + '_' + state + ((this._scale < 48) ? '_small' : '')); } public update(sprite: IRoomObjectSprite, scale: number): void @@ -85,12 +86,12 @@ export class FloatingIdleZAddition implements IAvatarAddition this._offsetY = -70; } - if(this._visualization.posture === 'sit') + if(this._visualization.posture === AvatarAction.POSTURE_SIT) { this._offsetY += (additionScale / 2); } - else if(this._visualization.posture === 'lay') + else if(this._visualization.posture === AvatarAction.POSTURE_LAY) { this._offsetY += (additionScale - (0.3 * additionScale)); } diff --git a/src/nitro/room/object/visualization/avatar/additions/GameClickTargetAddition.ts b/src/nitro/room/object/visualization/avatar/additions/GameClickTargetAddition.ts new file mode 100644 index 00000000..83a727e6 --- /dev/null +++ b/src/nitro/room/object/visualization/avatar/additions/GameClickTargetAddition.ts @@ -0,0 +1,61 @@ +import { Resource, Texture } from '@pixi/core'; +import { Sprite } from '@pixi/sprite'; +import { AlphaTolerance, TextureUtils } from '../../../../../..'; +import { IRoomObjectSprite } from '../../../../../../room/object/visualization/IRoomObjectSprite'; +import { IAvatarAddition } from './IAvatarAddition'; + +export class GameClickTargetAddition implements IAvatarAddition +{ + private static WIDTH: number = 46; + private static HEIGHT: number = 60; + private static OFFSET_X: number = -23; + private static OFFSET_Y: number = -48; + + private _id: number; + private _asset: Texture; + private _disposed: boolean; + + constructor(id: number) + { + this._id = id; + this._asset = null; + this._disposed = false; + } + + public dispose(): void + { + this._asset = null; + } + + public update(sprite: IRoomObjectSprite, scale: number): void + { + if(!sprite) return; + + if(!this._asset) + { + const newSprite = new Sprite(Texture.WHITE); + + newSprite.alpha = 0; + newSprite.width = GameClickTargetAddition.WIDTH; + newSprite.height = GameClickTargetAddition.HEIGHT; + + this._asset = TextureUtils.generateTexture(newSprite); + } + + sprite.visible = true; + sprite.texture = this._asset; + sprite.offsetX = GameClickTargetAddition.OFFSET_X; + sprite.offsetY = GameClickTargetAddition.OFFSET_Y; + sprite.alphaTolerance = AlphaTolerance.MATCH_ALL_PIXELS; + } + + public animate(sprite: IRoomObjectSprite): boolean + { + return false; + } + + public get id(): number + { + return this._id; + } +} diff --git a/src/nitro/room/object/visualization/avatar/additions/GuideStatusBubbleAddition.ts b/src/nitro/room/object/visualization/avatar/additions/GuideStatusBubbleAddition.ts new file mode 100644 index 00000000..82bcab6c --- /dev/null +++ b/src/nitro/room/object/visualization/avatar/additions/GuideStatusBubbleAddition.ts @@ -0,0 +1,100 @@ +import { Resource, Texture } from '@pixi/core'; +import { IRoomObjectSprite } from '../../../../../../room/object/visualization/IRoomObjectSprite'; +import { AvatarAction } from '../../../../../avatar/enum/AvatarAction'; +import { AvatarGuideStatus } from '../../../../../avatar/enum/AvatarGuideStatus'; +import { AvatarVisualization } from '../AvatarVisualization'; +import { IAvatarAddition } from './IAvatarAddition'; + +export class GuideStatusBubbleAddition implements IAvatarAddition +{ + private _id: number; + private _visualization: AvatarVisualization; + private _asset: Texture; + private _relativeDepth: number; + private _status: number; + + constructor(id: number, visualization: AvatarVisualization, status: number) + { + this._id = id; + this._visualization = visualization; + this._asset = null; + this._relativeDepth = 0; + this._status = status; + } + + public dispose(): void + { + this._visualization = null; + this._asset = null; + } + + public update(sprite: IRoomObjectSprite, scale: number): void + { + if(!sprite) return; + + sprite.visible = true; + sprite.relativeDepth = this._relativeDepth; + sprite.alpha = 255; + + let additionScale = 64; + let offsetX = 0; + let offsetY = 0; + + this._asset = this._visualization.getAvatarRenderAsset((this._status === AvatarGuideStatus.GUIDE) ? 'avatar_addition_user_guide_bubble' : 'avatar_addition_user_guide_requester_bubble'); + + if(scale < 48) + { + offsetX = -19; + offsetY = -80; + additionScale = 32; + } + else + { + offsetX = -19; + offsetY = -120; + } + + if(this._visualization.posture === AvatarAction.POSTURE_SIT) + { + offsetY += (additionScale / 2); + } + + else if(this._visualization.posture === AvatarAction.POSTURE_LAY) + { + offsetY += scale; + } + + if(this._asset) + { + sprite.texture = this._asset; + sprite.offsetX = offsetX; + sprite.offsetY = offsetY; + sprite.relativeDepth = (-0.02 + 0); + } + } + + public animate(sprite: IRoomObjectSprite): boolean + { + if(this._asset && sprite) + { + sprite.texture = this._asset; + } + + return false; + } + + public get id(): number + { + return this._id; + } + + public get relativeDepth(): number + { + return this._relativeDepth; + } + + public set relativeDepth(depth: number) + { + this._relativeDepth = depth; + } +} diff --git a/src/nitro/room/object/visualization/avatar/additions/MutedBubbleAddition.ts b/src/nitro/room/object/visualization/avatar/additions/MutedBubbleAddition.ts index 239643d2..655208b2 100644 --- a/src/nitro/room/object/visualization/avatar/additions/MutedBubbleAddition.ts +++ b/src/nitro/room/object/visualization/avatar/additions/MutedBubbleAddition.ts @@ -1,5 +1,6 @@ import { Resource, Texture } from '@pixi/core'; import { IRoomObjectSprite } from '../../../../../../room/object/visualization/IRoomObjectSprite'; +import { AvatarAction } from '../../../../../avatar/enum/AvatarAction'; import { AvatarVisualization } from '../AvatarVisualization'; import { IAvatarAddition } from './IAvatarAddition'; @@ -32,7 +33,7 @@ export class MutedBubbleAddition implements IAvatarAddition if(scale < 48) { - this._asset = this._visualization.getAvatarRenderAsset('user_muted_small'); + this._asset = this._visualization.getAvatarRenderAsset('avatar_addition_user_muted_small'); additionScale = 32; offsetX = -12; @@ -40,14 +41,14 @@ export class MutedBubbleAddition implements IAvatarAddition } else { - this._asset = this._visualization.getAvatarRenderAsset('user_muted'); + this._asset = this._visualization.getAvatarRenderAsset('avatar_addition_user_muted'); offsetX = -15; offsetY = -110; } - if(this._visualization.posture === 'sit') offsetY += (additionScale / 2); - else if(this._visualization.posture === 'lay') offsetY += scale; + if(this._visualization.posture === AvatarAction.POSTURE_SIT) offsetY += (additionScale / 2); + else if(this._visualization.posture === AvatarAction.POSTURE_LAY) offsetY += scale; if(this._asset) { diff --git a/src/nitro/room/object/visualization/avatar/additions/NumberBubbleAddition.ts b/src/nitro/room/object/visualization/avatar/additions/NumberBubbleAddition.ts index 476d8c34..5ab078c3 100644 --- a/src/nitro/room/object/visualization/avatar/additions/NumberBubbleAddition.ts +++ b/src/nitro/room/object/visualization/avatar/additions/NumberBubbleAddition.ts @@ -1,5 +1,6 @@ import { Resource, Texture } from '@pixi/core'; import { IRoomObjectSprite } from '../../../../../../room/object/visualization/IRoomObjectSprite'; +import { AvatarAction } from '../../../../../avatar/enum/AvatarAction'; import { AvatarVisualization } from '../AvatarVisualization'; import { IAvatarAddition } from './IAvatarAddition'; @@ -46,7 +47,7 @@ export class NumberBubbleAddition implements IAvatarAddition { if(scale < 48) { - this._asset = this._visualization.getAvatarRenderAsset('number_' + this._number + '_small'); + this._asset = this._visualization.getAvatarRenderAsset('avatar_addition_number_' + this._number + '_small'); additionScale = 32; offsetX = -6; @@ -54,18 +55,18 @@ export class NumberBubbleAddition implements IAvatarAddition } else { - this._asset = this._visualization.getAvatarRenderAsset('number_' + this._number); + this._asset = this._visualization.getAvatarRenderAsset('avatar_addition_number_' + this._number); offsetX = -8; offsetY = -105; } - if(this._visualization.posture === 'sit') + if(this._visualization.posture === AvatarAction.POSTURE_SIT) { offsetY += (additionScale / 2); } - else if(this._visualization.posture === 'lay') + else if(this._visualization.posture === AvatarAction.POSTURE_LAY) { offsetY += scale; } diff --git a/src/nitro/room/object/visualization/avatar/additions/TypingBubbleAddition.ts b/src/nitro/room/object/visualization/avatar/additions/TypingBubbleAddition.ts index 585e0de7..acbf28c6 100644 --- a/src/nitro/room/object/visualization/avatar/additions/TypingBubbleAddition.ts +++ b/src/nitro/room/object/visualization/avatar/additions/TypingBubbleAddition.ts @@ -1,5 +1,6 @@ import { Resource, Texture } from '@pixi/core'; import { IRoomObjectSprite } from '../../../../../../room/object/visualization/IRoomObjectSprite'; +import { AvatarAction } from '../../../../../avatar/enum/AvatarAction'; import { AvatarVisualization } from '../AvatarVisualization'; import { IAvatarAddition } from './IAvatarAddition'; @@ -38,7 +39,7 @@ export class TypingBubbleAddition implements IAvatarAddition if(scale < 48) { - this._asset = this._visualization.getAvatarRenderAsset('user_typing_small'); + this._asset = this._visualization.getAvatarRenderAsset('avatar_addition_user_typing_small'); offsetX = 3; offsetY = -42; @@ -47,18 +48,18 @@ export class TypingBubbleAddition implements IAvatarAddition } else { - this._asset = this._visualization.getAvatarRenderAsset('user_typing'); + this._asset = this._visualization.getAvatarRenderAsset('avatar_addition_user_typing'); offsetX = 14; offsetY = -83; } - if(this._visualization.posture === 'sit') + if(this._visualization.posture === AvatarAction.POSTURE_SIT) { offsetY += (additionScale / 2); } - else if(this._visualization.posture === 'lay') + else if(this._visualization.posture === AvatarAction.POSTURE_LAY) { offsetY += scale; } diff --git a/src/nitro/room/object/visualization/avatar/additions/index.ts b/src/nitro/room/object/visualization/avatar/additions/index.ts index 3c3158f7..b2e5dda2 100644 --- a/src/nitro/room/object/visualization/avatar/additions/index.ts +++ b/src/nitro/room/object/visualization/avatar/additions/index.ts @@ -2,6 +2,8 @@ export * from './ExpressionAddition'; export * from './ExpressionAdditionFactory'; export * from './FloatingHeartAddition'; export * from './FloatingIdleZAddition'; +export * from './GameClickTargetAddition'; +export * from './GuideStatusBubbleAddition'; export * from './IAvatarAddition'; export * from './IExpressionAddition'; export * from './MutedBubbleAddition'; diff --git a/src/nitro/room/object/visualization/data/AnimationSizeData.ts b/src/nitro/room/object/visualization/data/AnimationSizeData.ts index 4bce6a21..e3d2c749 100644 --- a/src/nitro/room/object/visualization/data/AnimationSizeData.ts +++ b/src/nitro/room/object/visualization/data/AnimationSizeData.ts @@ -42,7 +42,7 @@ export class AnimationSizeData extends SizeData if(!animation) return false; - let animationId = parseInt(key); + let animationId = parseInt(key.split('_')[0]); let isTransition = false; const transitionTo = animation.transitionTo; diff --git a/src/nitro/room/object/visualization/data/PetSizeData.ts b/src/nitro/room/object/visualization/data/PetSizeData.ts index 48ac9436..8b50a016 100644 --- a/src/nitro/room/object/visualization/data/PetSizeData.ts +++ b/src/nitro/room/object/visualization/data/PetSizeData.ts @@ -18,16 +18,14 @@ export class PetSizeData extends AnimationSizeData this._defaultPosture = null; } - public processPostures(postures: { [index: string]: IAssetPosture }): boolean + public processPostures(postures: { defaultPosture?: string, postures: IAssetPosture[] }): boolean { if(!postures) return false; - for(const key in postures) + if(postures.defaultPosture && postures.defaultPosture.length) this._defaultPosture = postures.defaultPosture; + + for(const posture of postures.postures) { - const posture = postures[key]; - - if(!posture) continue; - if(this._posturesToAnimations.get(posture.id)) continue; if(this._defaultPosture === null) this._defaultPosture = posture.id; @@ -40,16 +38,12 @@ export class PetSizeData extends AnimationSizeData return true; } - public processGestures(gestures: { [index: string]: IAssetGesture }): boolean + public processGestures(gestures: IAssetGesture[]): boolean { if(!gestures) return false; - for(const key in gestures) + for(const gesture of gestures) { - const gesture = gestures[key]; - - if(!gesture) continue; - if(this._gesturesToAnimations.get(gesture.id)) continue; this._gesturesToAnimations.set(gesture.id, gesture.animationId); diff --git a/src/nitro/room/object/visualization/furniture/FurnitureDynamicThumbnailVisualization.ts b/src/nitro/room/object/visualization/furniture/FurnitureDynamicThumbnailVisualization.ts index 34636fee..a9ffbf30 100644 --- a/src/nitro/room/object/visualization/furniture/FurnitureDynamicThumbnailVisualization.ts +++ b/src/nitro/room/object/visualization/furniture/FurnitureDynamicThumbnailVisualization.ts @@ -1,8 +1,8 @@ import { SCALE_MODES } from '@pixi/constants'; import { Texture } from '@pixi/core'; -import { FurnitureThumbnailVisualization } from './FurnitureThumbnailVisualization'; +import { IsometricImageFurniVisualization } from './IsometricImageFurniVisualization'; -export class FurnitureDynamicThumbnailVisualization extends FurnitureThumbnailVisualization +export class FurnitureDynamicThumbnailVisualization extends IsometricImageFurniVisualization { private _cachedUrl: string; diff --git a/src/nitro/room/object/visualization/furniture/FurnitureFireworksVisualization.ts b/src/nitro/room/object/visualization/furniture/FurnitureFireworksVisualization.ts index 366a352b..6cfa9257 100644 --- a/src/nitro/room/object/visualization/furniture/FurnitureFireworksVisualization.ts +++ b/src/nitro/room/object/visualization/furniture/FurnitureFireworksVisualization.ts @@ -1,5 +1,4 @@ -import { AdvancedMap, NitroLogger } from '../../../../../core'; -import { IParticleSystem } from '../../../../../core/asset/interfaces/particlesystem'; +import { AdvancedMap, IParticleSystem, NitroLogger } from '../../../../../core'; import { RoomObjectVariable } from '../../RoomObjectVariable'; import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization'; import { FurnitureParticleSystem } from './FurnitureParticleSystem'; diff --git a/src/nitro/room/object/visualization/furniture/FurnitureGiftWrappedFireworksVisualization.ts b/src/nitro/room/object/visualization/furniture/FurnitureGiftWrappedFireworksVisualization.ts index 0832df4f..0963989f 100644 --- a/src/nitro/room/object/visualization/furniture/FurnitureGiftWrappedFireworksVisualization.ts +++ b/src/nitro/room/object/visualization/furniture/FurnitureGiftWrappedFireworksVisualization.ts @@ -8,8 +8,8 @@ export class FurnitureGiftWrappedFireworksVisualization extends FurnitureFirewor private static MAX_PACKET_TYPE_VALUE: number = 9; private static MAX_RIBBON_TYPE_VALUE: number = 11; - private _packetType:number = 0; - private _ribbonType:number = 0; + private _packetType: number = 0; + private _ribbonType: number = 0; private _lastAnimationId: number = 0; public update(geometry: IRoomGeometry, time: number, update: boolean, skipUpdate: boolean) diff --git a/src/nitro/room/object/visualization/furniture/FurnitureGuildCustomizedVisualization.ts b/src/nitro/room/object/visualization/furniture/FurnitureGuildCustomizedVisualization.ts index 9a9a0b47..ed9c2506 100644 --- a/src/nitro/room/object/visualization/furniture/FurnitureGuildCustomizedVisualization.ts +++ b/src/nitro/room/object/visualization/furniture/FurnitureGuildCustomizedVisualization.ts @@ -1,30 +1,52 @@ +import { IGraphicAsset, IRoomObjectSprite } from '../../../../../room'; import { RoomObjectVariable } from '../../RoomObjectVariable'; import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization'; export class FurnitureGuildCustomizedVisualization extends FurnitureAnimatedVisualization { - public static DEFAULT_COLOR_1: number = 0xEEEEEE; - public static DEFAULT_COLOR_2: number = 0x4B4B4B; + public static PRIMARY_COLOUR_SPRITE_TAG: string = 'COLOR1'; + public static SECONDARY_COLOUR_SPRITE_TAG: string = 'COLOR2'; + public static BADGE: string = 'BADGE'; + public static DEFAULT_COLOR_1: number = 0xEEEEEE; + public static DEFAULT_COLOR_2: number = 0x4B4B4B; private _color1: number; private _color2: number; + private _badgeAssetNameNormalScale: string; + private _badgeAssetNameSmallScale: string; constructor() { super(); - this._color1 = FurnitureGuildCustomizedVisualization.DEFAULT_COLOR_1; - this._color2 = FurnitureGuildCustomizedVisualization.DEFAULT_COLOR_2; + this._color1 = FurnitureGuildCustomizedVisualization.DEFAULT_COLOR_1; + this._color2 = FurnitureGuildCustomizedVisualization.DEFAULT_COLOR_2; + this._badgeAssetNameNormalScale = ''; + this._badgeAssetNameSmallScale = ''; } protected updateModel(scale: number): boolean { const flag = super.updateModel(scale); - if(!flag) return false; + if(this._badgeAssetNameNormalScale === '') + { + const assetName = this.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_ASSET_NAME); - this._color1 = this.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_COLOR_1); - this._color2 = this.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_COLOR_2); + if(assetName) + { + this._badgeAssetNameNormalScale = assetName; + this._badgeAssetNameSmallScale = (this._badgeAssetNameNormalScale + '_32'); + } + } + + const color1 = this.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_COLOR_1); + + this._color1 = color1 ? color1: FurnitureGuildCustomizedVisualization.DEFAULT_COLOR_1; + + const color2 = this.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_COLOR_2); + + this._color2 = color2 ? color2: FurnitureGuildCustomizedVisualization.DEFAULT_COLOR_2; return flag; } @@ -35,10 +57,34 @@ export class FurnitureGuildCustomizedVisualization extends FurnitureAnimatedVisu switch(tag) { - case 'COLOR1': return this._color1; - case 'COLOR2': return this._color2; + case FurnitureGuildCustomizedVisualization.PRIMARY_COLOUR_SPRITE_TAG: return this._color1; + case FurnitureGuildCustomizedVisualization.SECONDARY_COLOUR_SPRITE_TAG: return this._color2; } return super.getLayerColor(scale, layerId, colorId); } -} \ No newline at end of file + + public getSpriteAssetName(scale: number, layerId: number): string + { + const tag = this.getLayerTag(scale, this._direction, layerId); + + if(tag === FurnitureGuildCustomizedVisualization.BADGE) + { + if(scale === 32) return this._badgeAssetNameSmallScale; + + return this._badgeAssetNameNormalScale; + } + + return super.getSpriteAssetName(scale, layerId); + } + + protected getLibraryAssetNameForSprite(asset: IGraphicAsset, sprite: IRoomObjectSprite): string + { + if(sprite.tag === FurnitureGuildCustomizedVisualization.BADGE) + { + return '%group.badge.url%' + sprite.libraryAssetName.replace('badge_', ''); + } + + return super.getLibraryAssetNameForSprite(asset, sprite); + } +} diff --git a/src/nitro/room/object/visualization/furniture/FurnitureGuildIsometricBadgeVisualization.ts b/src/nitro/room/object/visualization/furniture/FurnitureGuildIsometricBadgeVisualization.ts index 31ac55e4..66efd952 100644 --- a/src/nitro/room/object/visualization/furniture/FurnitureGuildIsometricBadgeVisualization.ts +++ b/src/nitro/room/object/visualization/furniture/FurnitureGuildIsometricBadgeVisualization.ts @@ -1,6 +1,71 @@ -import { FurnitureThumbnailVisualization } from './FurnitureThumbnailVisualization'; +import { IGraphicAsset, IRoomObjectSprite } from '../../../../../room'; +import { RoomObjectVariable } from '../../RoomObjectVariable'; +import { IsometricImageFurniVisualization } from './IsometricImageFurniVisualization'; -export class FurnitureGuildIsometricBadgeVisualization extends FurnitureThumbnailVisualization +export class FurnitureGuildIsometricBadgeVisualization extends IsometricImageFurniVisualization { + public static PRIMARY_COLOUR_SPRITE_TAG: string = 'COLOR1'; + public static SECONDARY_COLOUR_SPRITE_TAG: string = 'COLOR2'; + public static DEFAULT_COLOR_1: number = 0xEEEEEE; + public static DEFAULT_COLOR_2: number = 0x4B4B4B; -} \ No newline at end of file + private _color1: number; + private _color2: number; + + protected updateModel(scale: number): boolean + { + const flag = super.updateModel(scale); + + if(!this.hasThumbnailImage) + { + const assetName = this.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_ASSET_NAME); + + if(assetName && assetName.length) this.setThumbnailImages(this.getBitmapAsset(assetName)); + } + + const color1 = this.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_COLOR_1); + + this._color1 = color1 ? color1: FurnitureGuildIsometricBadgeVisualization.DEFAULT_COLOR_1; + + const color2 = this.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_COLOR_2); + + this._color2 = color2 ? color2: FurnitureGuildIsometricBadgeVisualization.DEFAULT_COLOR_2; + + return flag; + } + + protected getLayerColor(scale: number, layerId: number, colorId: number): number + { + const tag = this.getLayerTag(scale, this._direction, layerId); + + switch(tag) + { + case FurnitureGuildIsometricBadgeVisualization.PRIMARY_COLOUR_SPRITE_TAG: return this._color1; + case FurnitureGuildIsometricBadgeVisualization.SECONDARY_COLOUR_SPRITE_TAG: return this._color2; + } + + return super.getLayerColor(scale, layerId, colorId); + } + + protected getLibraryAssetNameForSprite(asset: IGraphicAsset, sprite: IRoomObjectSprite): string + { + if(sprite.tag === FurnitureGuildIsometricBadgeVisualization.THUMBNAIL) + { + if(this.object && this.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_ASSET_NAME)) + { + return '%group.badge.url%' + this.object.model.getValue(RoomObjectVariable.FURNITURE_GUILD_CUSTOMIZED_ASSET_NAME); + } + } + + return super.getLibraryAssetNameForSprite(asset, sprite); + } + + private getBitmapAsset(name: string) + { + const asset = this.asset.getAsset(name); + + if(!asset || !asset.texture) return null; + + return asset.texture; + } +} diff --git a/src/nitro/room/object/visualization/furniture/FurnitureParticleSystem.ts b/src/nitro/room/object/visualization/furniture/FurnitureParticleSystem.ts index 36fe3eba..302029da 100644 --- a/src/nitro/room/object/visualization/furniture/FurnitureParticleSystem.ts +++ b/src/nitro/room/object/visualization/furniture/FurnitureParticleSystem.ts @@ -2,8 +2,7 @@ import { RenderTexture, Texture } from '@pixi/core'; import { AlphaFilter } from '@pixi/filter-alpha'; import { Graphics } from '@pixi/graphics'; import { Matrix } from '@pixi/math'; -import { AdvancedMap, NitroPoint, NitroSprite } from '../../../../../core'; -import { IParticleSystem } from '../../../../../core/asset/interfaces/particlesystem'; +import { AdvancedMap, IParticleSystem, NitroPoint, NitroSprite } from '../../../../../core'; import { IGraphicAsset, IRoomObjectSprite } from '../../../../../room'; import { Vector3D } from '../../../../avatar'; import { Nitro } from '../../../../Nitro'; diff --git a/src/nitro/room/object/visualization/furniture/FurniturePlanetSystemVisualization.ts b/src/nitro/room/object/visualization/furniture/FurniturePlanetSystemVisualization.ts index d312f3cb..3753defd 100644 --- a/src/nitro/room/object/visualization/furniture/FurniturePlanetSystemVisualization.ts +++ b/src/nitro/room/object/visualization/furniture/FurniturePlanetSystemVisualization.ts @@ -1,4 +1,4 @@ -import { IPlanetSystem } from '../../../../../core'; +import { IAssetLogicPlanetSystem } from '../../../../../core'; import { Vector3d } from '../../../../../room'; import { RoomObjectVariable } from '../../RoomObjectVariable'; import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization'; @@ -86,7 +86,7 @@ export class FurniturePlanetSystemVisualization extends FurnitureAnimatedVisuali { if(!this.object || !this.object.model) return; - const planetSystems = this.object.model.getValue(RoomObjectVariable.FURNITURE_PLANETSYSTEM_DATA); + const planetSystems = this.object.model.getValue(RoomObjectVariable.FURNITURE_PLANETSYSTEM_DATA); if(!planetSystems) return false; diff --git a/src/nitro/room/object/visualization/furniture/FurnitureYoutubeVisualization.ts b/src/nitro/room/object/visualization/furniture/FurnitureYoutubeVisualization.ts index 1e7a9811..89a43e56 100644 --- a/src/nitro/room/object/visualization/furniture/FurnitureYoutubeVisualization.ts +++ b/src/nitro/room/object/visualization/furniture/FurnitureYoutubeVisualization.ts @@ -9,8 +9,10 @@ export class FurnitureYoutubeVisualization extends FurnitureDynamicThumbnailVisu { if(!this.object) return null; - const url = this.object.model.getValue(RoomObjectVariable.SESSION_URL_PREFIX); + const furnitureData = this.object.model.getValue<{ [index: string]: string }>(RoomObjectVariable.FURNITURE_DATA); - return (url + FurnitureYoutubeVisualization.THUMBNAIL); + if(furnitureData) return (furnitureData[FurnitureYoutubeVisualization.THUMBNAIL_URL] || null); + + return null; } } diff --git a/src/nitro/room/object/visualization/furniture/FurnitureThumbnailVisualization.ts b/src/nitro/room/object/visualization/furniture/IsometricImageFurniVisualization.ts similarity index 77% rename from src/nitro/room/object/visualization/furniture/FurnitureThumbnailVisualization.ts rename to src/nitro/room/object/visualization/furniture/IsometricImageFurniVisualization.ts index cdde344b..9b8c0eb4 100644 --- a/src/nitro/room/object/visualization/furniture/FurnitureThumbnailVisualization.ts +++ b/src/nitro/room/object/visualization/furniture/IsometricImageFurniVisualization.ts @@ -1,11 +1,12 @@ import { Resource, Texture } from '@pixi/core'; +import { Graphics } from '@pixi/graphics'; import { Matrix } from '@pixi/math'; -import { NitroRectangle, NitroSprite } from '../../../../../core'; +import { NitroContainer, NitroRectangle, NitroSprite } from '../../../../../core'; import { IGraphicAsset } from '../../../../../room/object/visualization/utils/IGraphicAsset'; import { TextureUtils } from '../../../../../room/utils/TextureUtils'; import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization'; -export class FurnitureThumbnailVisualization extends FurnitureAnimatedVisualization +export class IsometricImageFurniVisualization extends FurnitureAnimatedVisualization { protected static THUMBNAIL: string = 'THUMBNAIL'; @@ -71,7 +72,7 @@ export class FurnitureThumbnailVisualization extends FurnitureAnimatedVisualizat while(layerId < this.totalSprites) { - if(this.getLayerTag(scale, this.direction, layerId) === FurnitureThumbnailVisualization.THUMBNAIL) + if(this.getLayerTag(scale, this.direction, layerId) === IsometricImageFurniVisualization.THUMBNAIL) { const assetName = (this.cacheSpriteAssetName(scale, layerId, false) + this.getFrameNumber(scale, layerId)); const asset = this.getAsset(assetName, layerId); @@ -126,21 +127,39 @@ export class FurnitureThumbnailVisualization extends FurnitureAnimatedVisualizat matrix.ty = 0; } - const sprite = new NitroSprite(texture); - if(this._hasOutline) { - // + const container = new NitroContainer(); + + const sprite = new NitroSprite(texture); + + sprite.transform.setFromMatrix(matrix); + + const border = new Graphics() + .beginFill(0x000000) + .setMatrix(matrix) + .drawRect(0, 0, texture.width + 2, texture.height + 2) + .endFill(); + //border.skew.y = ((this.direction === 2) ? -0.5 : ((this.direction === 0) || (this.direction === 4)) ? 0.5 : 0); + + container.addChild(border); + //container.addChild(sprite); + + return TextureUtils.generateTexture(container); } + else + { + const sprite = new NitroSprite(texture); - sprite.transform.setFromMatrix(matrix); + sprite.transform.setFromMatrix(matrix); - return TextureUtils.generateTexture(sprite, new NitroRectangle(0, 0, (asset.width + 2), (asset.height + 2))); + return TextureUtils.generateTexture(sprite, new NitroRectangle(0, 0, (asset.width + 2), (asset.height + 2))); + } } protected getSpriteAssetName(scale: number, layerId: number): string { - if(this._thumbnailImageNormal && (this.getLayerTag(scale, this.direction, layerId) === FurnitureThumbnailVisualization.THUMBNAIL)) return this.getThumbnailAssetName(scale); + if(this._thumbnailImageNormal && (this.getLayerTag(scale, this.direction, layerId) === IsometricImageFurniVisualization.THUMBNAIL)) return this.getThumbnailAssetName(scale); return super.getSpriteAssetName(scale, layerId); } diff --git a/src/nitro/room/object/visualization/furniture/index.ts b/src/nitro/room/object/visualization/furniture/index.ts index 33e62c57..996f2972 100644 --- a/src/nitro/room/object/visualization/furniture/index.ts +++ b/src/nitro/room/object/visualization/furniture/index.ts @@ -29,7 +29,6 @@ export * from './FurnitureRoomBackgroundVisualization'; export * from './FurnitureScoreBoardVisualization'; export * from './FurnitureSoundBlockVisualization'; export * from './FurnitureStickieVisualization'; -export * from './FurnitureThumbnailVisualization'; export * from './FurnitureValRandomizerVisualization'; export * from './FurnitureVisualization'; export * from './FurnitureVisualizationData'; @@ -37,3 +36,4 @@ export * from './FurnitureVoteCounterVisualization'; export * from './FurnitureVoteMajorityVisualization'; export * from './FurnitureWaterAreaVisualization'; export * from './FurnitureYoutubeVisualization'; +export * from './IsometricImageFurniVisualization'; diff --git a/src/nitro/room/object/visualization/pet/PetVisualization.ts b/src/nitro/room/object/visualization/pet/PetVisualization.ts index 1bc4042b..12c1a837 100644 --- a/src/nitro/room/object/visualization/pet/PetVisualization.ts +++ b/src/nitro/room/object/visualization/pet/PetVisualization.ts @@ -184,33 +184,8 @@ export class PetVisualization extends FurnitureAnimatedVisualization if(this.updateModelCounter === model.updateCounter) return false; - let posture = model.getValue(RoomObjectVariable.FIGURE_POSTURE); - let gesture = model.getValue(RoomObjectVariable.FIGURE_GESTURE); - - const tempPosture = model.getValue(RoomObjectVariable.FIGURE_POSTURE); - - if(!isNaN(tempPosture)) - { - const totalPostures = this._data.totalPostures(this._scale); - - if(totalPostures > 0) - { - posture = this._data.animationToPosture(this._scale, (tempPosture % totalPostures), true); - gesture = null; - } - } - - const tempGesture = model.getValue(RoomObjectVariable.FIGURE_GESTURE); - - if(!isNaN(tempGesture)) - { - const totalGestures = this._data.totalGestures(this._scale); - - if(totalGestures > 0) - { - gesture = this._data.animationToGesture(this._scale, (tempGesture % totalGestures)); - } - } + const posture = model.getValue(RoomObjectVariable.FIGURE_POSTURE); + const gesture = model.getValue(RoomObjectVariable.FIGURE_GESTURE); this.setPostureAndGesture(posture, gesture); diff --git a/src/nitro/room/object/visualization/room/RoomPlane.ts b/src/nitro/room/object/visualization/room/RoomPlane.ts index 844bd841..a7a12cf8 100644 --- a/src/nitro/room/object/visualization/room/RoomPlane.ts +++ b/src/nitro/room/object/visualization/room/RoomPlane.ts @@ -1,6 +1,7 @@ import { RenderTexture, Resource, Texture } from '@pixi/core'; import { Graphics } from '@pixi/graphics'; import { Matrix, Point, Rectangle } from '@pixi/math'; +import { NitroRenderTexture } from '../../../../../core'; import { IRoomPlane } from '../../../../../room/object/visualization/IRoomPlane'; import { IRoomGeometry } from '../../../../../room/utils/IRoomGeometry'; import { IVector3D } from '../../../../../room/utils/IVector3D'; @@ -36,6 +37,7 @@ export class RoomPlane implements IRoomPlane private _geometryUpdateId: number; private _type: number; private _isVisible: boolean; + private _bitmapTexture: NitroRenderTexture; private _bitmapData: Graphics; private _hasTexture: boolean; private _offset: Point; @@ -66,34 +68,36 @@ export class RoomPlane implements IRoomPlane private _height: number = 0; private _canBeVisible: boolean; - constructor(k: IVector3D, _arg_2: IVector3D, _arg_3: IVector3D, _arg_4: IVector3D, _arg_5: number, _arg_6: boolean, _arg_7: IVector3D[], _arg_8: number, _arg_9: number=0, _arg_10: number=0, _arg_11: number=0, _arg_12: number=0) + constructor(origin: IVector3D, location: IVector3D, leftSide: IVector3D, rightSide: IVector3D, type: number, usesMask: boolean, secondaryNormals: IVector3D[], randomSeed: number, textureOffsetX: number=0, textureOffsetY: number=0, textureMaxX: number=0, textureMaxY: number=0) { this._secondaryNormals = []; this._bitmapMasks = []; this._rectangleMasks = []; this._bitmapMasksOld = []; this._rectangleMasksOld = []; - this._randomSeed = _arg_8; + this._randomSeed = randomSeed; this._bitmapData = null; this._maskBitmapData = null; this._maskChanged = false; this._activeTexture = null; this._origin = new Vector3d(); - this._origin.assign(k); + this._origin.assign(origin); this._location = new Vector3d(); - this._location.assign(_arg_2); + this._location.assign(location); this._leftSide = new Vector3d(); - this._leftSide.assign(_arg_3); + this._leftSide.assign(leftSide); this._rightSide = new Vector3d(); - this._rightSide.assign(_arg_4); + this._rightSide.assign(rightSide); this._normal = Vector3d.crossProduct(this._leftSide, this._rightSide); + if(this._normal.length > 0) { this._normal.multiply((1 / this._normal.length)); } - if(_arg_7 != null) + + if(secondaryNormals != null) { - for(const entry of _arg_7) + for(const entry of secondaryNormals) { if(!entry) continue; @@ -111,7 +115,7 @@ export class RoomPlane implements IRoomPlane this._geometryUpdateId = -1; this._offset = new Point(); this._relativeDepth = 0; - this._type = _arg_5; + this._type = type; this._color = 0; this._rasterizer = null; this._canBeVisible = true; @@ -122,11 +126,11 @@ export class RoomPlane implements IRoomPlane this._cornerD = new Vector3d(); this._width = 0; this._height = 0; - this._textureOffsetX = _arg_9; - this._textureOffsetY = _arg_10; - this._textureMaxX = _arg_11; - this._textureMaxY = _arg_12; - this._useMask = _arg_6; + this._textureOffsetX = textureOffsetX; + this._textureOffsetY = textureOffsetY; + this._textureMaxX = textureMaxX; + this._textureMaxY = textureMaxY; + this._useMask = usesMask; this._uniqueId = ++RoomPlane._uniqueIdCounter; } diff --git a/src/nitro/room/object/visualization/room/RoomVisualization.ts b/src/nitro/room/object/visualization/room/RoomVisualization.ts index 6ac00fe4..3621528f 100644 --- a/src/nitro/room/object/visualization/room/RoomVisualization.ts +++ b/src/nitro/room/object/visualization/room/RoomVisualization.ts @@ -461,7 +461,7 @@ export class RoomVisualization extends RoomObjectSpriteVisualization implements const _local_4 = this.getLandscapeHeight(); let _local_5 = 0; - let _local_6 = this.object.model.getValue(RoomObjectVariable.ROOM_RANDOM_SEED); + let randomSeed = this.object.model.getValue(RoomObjectVariable.ROOM_RANDOM_SEED); let index = 0; while(index < this._roomPlaneParser.planeCount) @@ -478,17 +478,17 @@ export class RoomVisualization extends RoomObjectSpriteVisualization implements { const _local_14 = Vector3d.crossProduct(leftSide, rightSide); - _local_6 = ((_local_6 * 7613) + 517); + randomSeed = ((randomSeed * 7613) + 517); plane = null; if(planeType === RoomPlaneData.PLANE_FLOOR) { const _local_15 = ((location.x + leftSide.x) + 0.5); const _local_16 = ((location.y + rightSide.y) + 0.5); - const _local_17 = (Math.trunc(_local_15) - _local_15); - const _local_18 = (Math.trunc(_local_16) - _local_16); + const textureOffsetX = (Math.trunc(_local_15) - _local_15); + const textureOffsetY = (Math.trunc(_local_16) - _local_16); - plane = new RoomPlane(this.object.getLocation(), location, leftSide, rightSide, RoomPlane.TYPE_FLOOR, true, secondaryNormals, _local_6, -(_local_17), -(_local_18)); + plane = new RoomPlane(this.object.getLocation(), location, leftSide, rightSide, RoomPlane.TYPE_FLOOR, true, secondaryNormals, randomSeed, -(textureOffsetX), -(textureOffsetY)); if(_local_14.z !== 0) { @@ -504,7 +504,7 @@ export class RoomVisualization extends RoomObjectSpriteVisualization implements else if(planeType === RoomPlaneData.PLANE_WALL) { - plane = new RoomPlane(this.object.getLocation(), location, leftSide, rightSide, RoomPlane.TYPE_WALL, true, secondaryNormals, _local_6); + plane = new RoomPlane(this.object.getLocation(), location, leftSide, rightSide, RoomPlane.TYPE_WALL, true, secondaryNormals, randomSeed); if((leftSide.length < 1) || (rightSide.length < 1)) { @@ -539,7 +539,7 @@ export class RoomVisualization extends RoomObjectSpriteVisualization implements else if(planeType === RoomPlaneData.PLANE_LANDSCAPE) { - plane = new RoomPlane(this.object.getLocation(), location, leftSide, rightSide, RoomPlane.TYPE_LANDSCAPE, true, secondaryNormals, _local_6, _local_5, 0, _local_3, _local_4); + plane = new RoomPlane(this.object.getLocation(), location, leftSide, rightSide, RoomPlane.TYPE_LANDSCAPE, true, secondaryNormals, randomSeed, _local_5, 0, _local_3, _local_4); if(_local_14.y > 0) { @@ -564,7 +564,7 @@ export class RoomVisualization extends RoomObjectSpriteVisualization implements else if(planeType == RoomPlaneData.PLANE_BILLBOARD) { - plane = new RoomPlane(this.object.getLocation(), location, leftSide, rightSide, RoomPlane.TYPE_WALL, true, secondaryNormals, _local_6); + plane = new RoomPlane(this.object.getLocation(), location, leftSide, rightSide, RoomPlane.TYPE_WALL, true, secondaryNormals, randomSeed); if(((leftSide.length < 1) || (rightSide.length < 1))) { plane.hasTexture = false; diff --git a/src/nitro/room/object/visualization/room/rasterizer/animated/PlaneVisualizationAnimationLayer.ts b/src/nitro/room/object/visualization/room/rasterizer/animated/PlaneVisualizationAnimationLayer.ts index 0557724b..178f09d2 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/animated/PlaneVisualizationAnimationLayer.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/animated/PlaneVisualizationAnimationLayer.ts @@ -71,11 +71,11 @@ export class PlaneVisualizationAnimationLayer implements IDisposable } } - public render(k: Graphics, _arg_2: number, _arg_3: number, _arg_4: IVector3D, _arg_5: number, _arg_6: number, _arg_7: number, _arg_8: number, _arg_9: number, _arg_10: number, _arg_11: number): Graphics + public render(canvas: Graphics, width: number, height: number, normal: IVector3D, offsetX: number, offsetY: number, maxX: number, maxY: number, dimensionX: number, dimensionY: number, timeSinceStartMs: number): Graphics { - if((((k == null) || (!(k.width == _arg_2))) || (!(k.height == _arg_3)))) + if((((canvas == null) || (!(canvas.width == width))) || (!(canvas.height == height)))) { - if((((this._bitmapData == null) || (!(this._bitmapData.width == _arg_2))) || (!(this._bitmapData.height == _arg_3)))) + if((((this._bitmapData == null) || (!(this._bitmapData.width == width))) || (!(this._bitmapData.height == height)))) { if(this._bitmapData != null) { @@ -83,7 +83,7 @@ export class PlaneVisualizationAnimationLayer implements IDisposable } this._bitmapData = new Graphics() - .drawRect(0, 0, _arg_2, _arg_3); + .drawRect(0, 0, width, height); } else { @@ -94,10 +94,10 @@ export class PlaneVisualizationAnimationLayer implements IDisposable //this._bitmapData.fillRect(this._bitmapData.rect, 0xFFFFFF); } - k = this._bitmapData; + canvas = this._bitmapData; } - if(((_arg_7 > 0) && (_arg_8 > 0))) + if(((maxX > 0) && (maxY > 0))) { let _local_12 = 0; @@ -106,16 +106,16 @@ export class PlaneVisualizationAnimationLayer implements IDisposable const _local_13 = (this._items[_local_12] as AnimationItem); if(_local_13 != null) { - const _local_14 = _local_13.getPosition(_arg_7, _arg_8, _arg_9, _arg_10, _arg_11); + const _local_14 = _local_13.getPosition(maxX, maxY, dimensionX, dimensionY, timeSinceStartMs); - _local_14.x = (_local_14.x - _arg_5); - _local_14.y = (_local_14.y - _arg_6); + _local_14.x = (_local_14.x - offsetX); + _local_14.y = (_local_14.y - offsetY); if(_local_13.bitmapData) { - if(_local_14.x > 0 && (_local_14.x + _local_13.bitmapData.width < k.width)) + if(_local_14.x > 0 && (_local_14.x + _local_13.bitmapData.width < canvas.width)) { - k + canvas .beginFill(0x00FF00) .beginTextureFill({ texture: _local_13.bitmapData.texture, matrix: new Matrix(1, 0, 0, 1, _local_14.x, _local_14.y) }) .drawRect(_local_14.x, _local_14.y, _local_13.bitmapData.width, _local_13.bitmapData.height) @@ -123,8 +123,8 @@ export class PlaneVisualizationAnimationLayer implements IDisposable } else if(_local_14.x > 0) { - const difference = k.width - _local_14.x; - k + const difference = canvas.width - _local_14.x; + canvas .beginFill(0x00FF00) .beginTextureFill({ texture: _local_13.bitmapData.texture, matrix: new Matrix(1, 0, 0, 1, _local_14.x, _local_14.y) }) .drawRect(_local_14.x, _local_14.y, difference, _local_13.bitmapData.height) @@ -134,7 +134,7 @@ export class PlaneVisualizationAnimationLayer implements IDisposable { //if(_local_14.x > -_local_13.bitmapData.width) const difference = _local_13.bitmapData.width + _local_14.x; - k + canvas .beginFill(0x00FF00) .beginTextureFill({ texture: _local_13.bitmapData.texture, matrix: new Matrix(1, 0, 0, 1, _local_14.x, _local_14.y) }) .drawRect(0, _local_14.y, difference, _local_13.bitmapData.height) @@ -147,6 +147,6 @@ export class PlaneVisualizationAnimationLayer implements IDisposable } } - return k; + return canvas; } } diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/FloorPlane.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/FloorPlane.ts index dda20144..6006c27c 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/FloorPlane.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/FloorPlane.ts @@ -9,30 +9,30 @@ export class FloorPlane extends Plane public static HORIZONTAL_ANGLE_DEFAULT: number = 45; public static VERTICAL_ANGLE_DEFAULT: number = 30; - public render(k: Graphics, _arg_2: number, _arg_3: number, size: number, _arg_5: IVector3D, _arg_6: boolean, _arg_7: number, _arg_8: number): Graphics + public render(canvas: Graphics, width: number, height: number, scale: number, normal: IVector3D, useTexture: boolean, offsetX: number, offsetY: number): Graphics { - const visualization = this.getPlaneVisualization(size); + const visualization = this.getPlaneVisualization(scale); if(!visualization || !visualization.geometry) return null; const _local_10 = visualization.geometry.getScreenPoint(new Vector3d(0, 0, 0)); - const _local_11 = visualization.geometry.getScreenPoint(new Vector3d(0, (_arg_3 / visualization.geometry.scale), 0)); - const _local_12 = visualization.geometry.getScreenPoint(new Vector3d((_arg_2 / visualization.geometry.scale), 0, 0)); + const _local_11 = visualization.geometry.getScreenPoint(new Vector3d(0, (height / visualization.geometry.scale), 0)); + const _local_12 = visualization.geometry.getScreenPoint(new Vector3d((width / visualization.geometry.scale), 0, 0)); - let _local_13 = 0; - let _local_14 = 0; + let x = 0; + let y = 0; if(_local_10 && _local_11 && _local_12) { - _arg_2 = Math.round(Math.abs((_local_10.x - _local_12.x))); - _arg_3 = Math.round(Math.abs((_local_10.x - _local_11.x))); + width = Math.round(Math.abs((_local_10.x - _local_12.x))); + height = Math.round(Math.abs((_local_10.x - _local_11.x))); const _local_15 = (_local_10.x - visualization.geometry.getScreenPoint(new Vector3d(1, 0, 0)).x); - _local_13 = (_arg_7 * Math.trunc(Math.abs(_local_15))); - _local_14 = (_arg_8 * Math.trunc(Math.abs(_local_15))); + x = (offsetX * Math.trunc(Math.abs(_local_15))); + y = (offsetY * Math.trunc(Math.abs(_local_15))); } - return visualization.render(k, _arg_2, _arg_3, _arg_5, _arg_6, _local_13, _local_14); + return visualization.render(canvas, width, height, normal, useTexture, x, y); } } diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/FloorRasterizer.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/FloorRasterizer.ts index d064b265..c3a5790f 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/FloorRasterizer.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/FloorRasterizer.ts @@ -43,13 +43,7 @@ export class FloorRasterizer extends PlaneRasterizer if(!plane) return null; - if(canvas) - { - canvas - .beginFill(0xFFFFFF) - .drawRect(0, 0, canvas.width, canvas.height) - .endFill(); - } + if(canvas) canvas.clear(); let graphic = plane.render(canvas, width, height, scale, normal, useTexture, offsetX, offsetY); diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/Plane.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/Plane.ts index dd0b36a7..d7e434c6 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/Plane.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/Plane.ts @@ -17,7 +17,7 @@ export class Plane this._lastSize = -1; } - public isStatic(k: number): boolean + public isStatic(size: number): boolean { return true; } @@ -47,49 +47,49 @@ export class Plane } } - public createPlaneVisualization(k: number, _arg_2: number, _arg_3: IRoomGeometry): PlaneVisualization + public createPlaneVisualization(size: number, totalLayers: number, geometry: IRoomGeometry): PlaneVisualization { - const existing = this._planeVisualizations.get(k.toString()); + const existing = this._planeVisualizations.get(size.toString()); if(existing) return null; - const plane = new PlaneVisualization(k, _arg_2, _arg_3); + const plane = new PlaneVisualization(size, totalLayers, geometry); - this._planeVisualizations.set(k.toString(), plane); + this._planeVisualizations.set(size.toString(), plane); - this._sizes.push(k); + this._sizes.push(size); this._sizes.sort(); return plane; } - private getSizeIndex(k: number): number + private getSizeIndex(size: number): number { - let size = 0; - let index = 1; + let sizeIndex = 0; + let i = 1; - while(index < this._sizes.length) + while(i < this._sizes.length) { - if(this._sizes[index] > k) + if(this._sizes[i] > size) { - if((this._sizes[index] - k) < (k - this._sizes[(index - 1)])) size = index; + if((this._sizes[i] - size) < (size - this._sizes[(i - 1)])) sizeIndex = i; break; } - size = index; + sizeIndex = i; - index++; + i++; } - return size; + return sizeIndex; } - protected getPlaneVisualization(k: number): PlaneVisualization + protected getPlaneVisualization(size: number): PlaneVisualization { - if(k === this._lastSize) return this._lastPlaneVisualization; + if(size === this._lastSize) return this._lastPlaneVisualization; - const sizeIndex = this.getSizeIndex(k); + const sizeIndex = this.getSizeIndex(size); if(sizeIndex < this._sizes.length) { @@ -100,7 +100,7 @@ export class Plane this._lastPlaneVisualization = null; } - this._lastSize = k; + this._lastSize = size; return this._lastPlaneVisualization; } diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterial.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterial.ts index 09c2f743..972c3bef 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterial.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterial.ts @@ -50,18 +50,18 @@ export class PlaneMaterial this._isCached = false; } - public addMaterialCellMatrix(k: number, _arg_2: number, _arg_3: number, _arg_4: number = -1, _arg_5: number = 1, _arg_6: number = -1, _arg_7: number = 1): PlaneMaterialCellMatrix + public addMaterialCellMatrix(totalColumns: number, repeatMode: number, align: number, normalMinX: number = -1, normalMaxX: number = 1, normalMinY: number = -1, normalMaxY: number = 1): PlaneMaterialCellMatrix { - const cellMatrix = new PlaneMaterialCellMatrix(k, _arg_2, _arg_3, _arg_4, _arg_5, _arg_6, _arg_7); + const cellMatrix = new PlaneMaterialCellMatrix(totalColumns, repeatMode, align, normalMinX, normalMaxX, normalMinY, normalMaxY); this._planeMaterialItems.push(cellMatrix); return cellMatrix; } - public getMaterialCellMatrix(k: IVector3D): PlaneMaterialCellMatrix + public getMaterialCellMatrix(normal: IVector3D): PlaneMaterialCellMatrix { - if(!k) return null; + if(!normal) return null; if(this._planeMaterialItems && this._planeMaterialItems.length) { @@ -69,25 +69,25 @@ export class PlaneMaterial { if(!item) continue; - if((((k.x >= item.normalMinX) && (k.x <= item.normalMaxX)) && (k.y >= item.normalMinY)) && (k.y <= item.normalMaxY)) return item; + if((((normal.x >= item.normalMinX) && (normal.x <= item.normalMaxX)) && (normal.y >= item.normalMinY)) && (normal.y <= item.normalMaxY)) return item; } } return null; } - public render(k: Graphics, _arg_2: number, _arg_3: number, _arg_4: IVector3D, _arg_5: boolean, _arg_6: number, _arg_7: number, _arg_8: boolean): Graphics + public render(canvas: Graphics, width: number, height: number, normal: IVector3D, useTexture: boolean, offsetX: number, offsetY: number, topAlign: boolean): Graphics { - if(_arg_2 < 1) _arg_2 = 1; + if(width < 1) width = 1; - if(_arg_3 < 1) _arg_3 = 1; + if(height < 1) height = 1; - const cellMatrix = this.getMaterialCellMatrix(_arg_4); + const cellMatrix = this.getMaterialCellMatrix(normal); if(!cellMatrix) return null; this._isCached = true; - return cellMatrix.render(k, _arg_2, _arg_3, _arg_4, _arg_5, _arg_6, _arg_7, _arg_8); + return cellMatrix.render(canvas, width, height, normal, useTexture, offsetX, offsetY, topAlign); } } diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCell.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCell.ts index 9289f332..5f1daba4 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCell.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCell.ts @@ -1,35 +1,33 @@ -import { Graphics } from '@pixi/graphics'; -import { Point } from '@pixi/math'; -import { Sprite } from '@pixi/sprite'; -import { TilingSprite } from '@pixi/sprite-tiling'; +import { Matrix, Point } from '@pixi/math'; import { NitroSprite } from '../../../../../../../core'; import { IGraphicAsset } from '../../../../../../../room/object/visualization/utils/IGraphicAsset'; import { IVector3D } from '../../../../../../../room/utils/IVector3D'; +import { Randomizer } from '../../utils'; import { PlaneTexture } from './PlaneTexture'; export class PlaneMaterialCell { - private _cachedBitmapData: Graphics; + private _cachedSprite: NitroSprite; private _texture: PlaneTexture; private _extraItemOffsets: Point[]; private _extraItemAssets: IGraphicAsset[]; private _extraItemCount: number = 0; - constructor(k: PlaneTexture, _arg_2: IGraphicAsset[] = null, _arg_3: Point[] = null, _arg_4: number = 0) + constructor(texture: PlaneTexture, assets: IGraphicAsset[] = null, offsetPoints: Point[] = null, limit: number = 0) { - this._cachedBitmapData = null; - this._texture = k; + this._cachedSprite = null; + this._texture = texture; this._extraItemOffsets = []; this._extraItemAssets = []; this._extraItemCount = 0; - if(_arg_2 && _arg_2.length && (_arg_4 > 0)) + if(assets && assets.length && (limit > 0)) { let assetIndex = 0; - while(assetIndex < _arg_2.length) + while(assetIndex < assets.length) { - const graphic = _arg_2[assetIndex]; + const graphic = assets[assetIndex]; if(graphic) this._extraItemAssets.push(graphic); @@ -38,13 +36,13 @@ export class PlaneMaterialCell if(this._extraItemAssets.length) { - if(_arg_3) + if(offsetPoints) { let pointIndex = 0; - while(pointIndex < _arg_3.length) + while(pointIndex < offsetPoints.length) { - const point = _arg_3[pointIndex]; + const point = offsetPoints[pointIndex]; if(point) this._extraItemOffsets.push(new Point(point.x, point.y)); @@ -52,7 +50,7 @@ export class PlaneMaterialCell } } - this._extraItemCount = _arg_4; + this._extraItemCount = limit; } } } @@ -71,11 +69,11 @@ export class PlaneMaterialCell this._texture = null; } - if(this._cachedBitmapData) + if(this._cachedSprite) { - this._cachedBitmapData.destroy(); + this._cachedSprite.destroy(); - this._cachedBitmapData = null; + this._cachedSprite = null; } this._extraItemAssets = null; @@ -85,19 +83,19 @@ export class PlaneMaterialCell public clearCache(): void { - if(this._cachedBitmapData) + if(this._cachedSprite) { - this._cachedBitmapData.destroy(); + this._cachedSprite.destroy(); - this._cachedBitmapData = null; + this._cachedSprite = null; } } - public getHeight(k: IVector3D): number + public getHeight(normal: IVector3D): number { if(this._texture) { - const texture = this._texture.getBitmap(k); + const texture = this._texture.getBitmap(normal); if(texture) return texture.height; } @@ -105,7 +103,7 @@ export class PlaneMaterialCell return 0; } - public render(normal: IVector3D, textureOffsetX: number, textureOffsetY: number): Sprite + public render(normal: IVector3D, textureOffsetX: number, textureOffsetY: number): NitroSprite { if(!this._texture) return null; @@ -113,7 +111,7 @@ export class PlaneMaterialCell if(!texture) return null; - let bitmap: Sprite = null; + const bitmap = new NitroSprite(texture); if((textureOffsetX !== 0) || (textureOffsetY !== 0)) { @@ -121,117 +119,100 @@ export class PlaneMaterialCell while(textureOffsetY < 0) textureOffsetY += texture.height; - const tiling = new TilingSprite(texture, texture.width, texture.height); - - tiling.tilePosition.x = (textureOffsetX % texture.width); - tiling.tilePosition.y = (textureOffsetY % texture.height); - - tiling.uvRespectAnchor = true; + bitmap.x = (textureOffsetX % texture.width); + bitmap.y = (textureOffsetY % texture.height); if(textureOffsetX) { - tiling.anchor.x = 1; - tiling.scale.x = -1; + bitmap.anchor.x = 1; + bitmap.scale.x = -1; } if(textureOffsetY) { - tiling.anchor.y = 1; - tiling.scale.y = -1; + bitmap.anchor.y = 1; + bitmap.scale.y = -1; } - - bitmap = tiling; - } - else - { - bitmap = new NitroSprite(texture); } if(bitmap) { - // if(!this.isStatic) - // { - // if(this._cachedBitmapData) - // { - // if((this._cachedBitmapData.width !== bitmap.width) || (this._cachedBitmapData.height !== bitmap.height)) - // { - // this._cachedBitmapData.destroy(); + if(!this.isStatic) + { + if(this._cachedSprite) + { + if((this._cachedSprite.width !== bitmap.width) || (this._cachedSprite.height !== bitmap.height)) + { + this._cachedSprite.destroy(); - // this._cachedBitmapData = null; - // } - // else - // { - // const bitmapTexture = TextureUtils.generateTexture(bitmap, new Rectangle(0, 0, bitmap.width, bitmap.height)); + this._cachedSprite = null; + } + } - // RoomVisualization.RENDER_TEXTURES.push(bitmapTexture); + if(!this._cachedSprite) + { + this._cachedSprite = new NitroSprite(texture); + } - // if(bitmapTexture) - // { - // this._cachedBitmapData - // .beginTextureFill({ texture: bitmapTexture }) - // .drawRect(0, 0, bitmapTexture.width, bitmapTexture.height) - // .endFill(); - // } - // } - // } + const limitMin = Math.min(this._extraItemCount, this._extraItemOffsets.length); + const limitMax = Math.max(this._extraItemCount, this._extraItemOffsets.length); + const offsetIndexes = Randomizer.getArray(this._extraItemCount, limitMax); - // if(!this._cachedBitmapData) this._cachedBitmapData = bitmap.clone(); + let i = 0; - // const limitMin = Math.min(this._extraItemCount, this._extraItemOffsets.length); - // const limitMax = Math.max(this._extraItemCount, this._extraItemOffsets.length); - // const offsetIndexes = Randomizer.getArray(this._extraItemCount, limitMax); + while(i < limitMin) + { + const offset = this._extraItemOffsets[offsetIndexes[i]]; + const item = this._extraItemAssets[(i % this._extraItemAssets.length)]; - // let i = 0; + if(offset && item) + { + const assetTexture = item.texture; - // while (i < limitMin) - // { - // const offset = this._extraItemOffsets[offsetIndexes[i]]; - // const item = this._extraItemAssets[(i % this._extraItemAssets.length)]; + if(assetTexture) + { + const offsetFinal = new Point((offset.x + item.offsetX), (offset.y + item.offsetY)); + const flipMatrix = new Matrix(); - // if(offset && item) - // { - // const assetTexture = item.texture; + let x = 1; + let y = 1; + let translateX = 0; + let translateY = 0; - // if(assetTexture) - // { - // const offsetFinal = new Point((offset.x + item.offsetX), (offset.y + item.offsetY)); - // const flipMatrix = new Matrix(); + if(item.flipH) + { + x = -1; + translateX = assetTexture.width; + } - // let x = 1; - // let y = 1; - // let translateX = 0; - // let translateY = 0; + if(item.flipV) + { + y = -1; + translateY = assetTexture.height; + } - // if(item.flipH) - // { - // x = -1; - // translateX = assetTexture.width; - // } + let offsetX = (offsetFinal.x + translateX); + offsetX = ((offsetX >> 1) << 1); - // if(item.flipV) - // { - // y = -1; - // translateY = assetTexture.height; - // } + flipMatrix.scale(x, y); + flipMatrix.translate(offsetX, (offsetFinal.y + translateY)); - // let offsetX = (offsetFinal.x + translateX); - // offsetX = ((offsetX >> 1) << 1); + const sprite = new NitroSprite(assetTexture); - // flipMatrix.scale(x, y); - // flipMatrix.translate(offsetX, (offsetFinal.y + translateY)); + sprite.transform.setFromMatrix(flipMatrix); - // this._cachedBitmapData - // .beginTextureFill({ texture: assetTexture, matrix: flipMatrix }) - // .drawRect(flipMatrix.tx, flipMatrix.ty, assetTexture.width, assetTexture.height) - // .endFill(); - // } - // } + sprite.x = flipMatrix.tx; + sprite.y = flipMatrix.ty; - // i++; - // } + this._cachedSprite.addChild(sprite); + } + } - // return this._cachedBitmapData; - // } + i++; + } + + return this._cachedSprite; + } return bitmap; } @@ -239,8 +220,8 @@ export class PlaneMaterialCell return null; } - public getAssetName(k:IVector3D): string + public getAssetName(normal:IVector3D): string { - return (this._texture == null) ? null : this._texture.getAssetName(k); + return (this._texture == null) ? null : this._texture.getAssetName(normal); } } diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellColumn.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellColumn.ts index 0d6ad65a..508ba008 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellColumn.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellColumn.ts @@ -1,4 +1,5 @@ import { Graphics } from '@pixi/graphics'; +import { NitroRenderTexture } from '../../../../../../../core'; import { IVector3D } from '../../../../../../../room/utils/IVector3D'; import { Vector3d } from '../../../../../../../room/utils/Vector3d'; import { PlaneMaterialCell } from './PlaneMaterialCell'; @@ -15,6 +16,7 @@ export class PlaneMaterialCellColumn private _cells: PlaneMaterialCell[]; private _repeatMode: number; private _width: number; + private _cachedTexture: NitroRenderTexture; private _cachedBitmapData: Graphics; private _cachedBitmapNormal: Vector3d; private _cachedBitmapDataOffsetX: number; @@ -22,11 +24,11 @@ export class PlaneMaterialCellColumn private _isCached: boolean; private _isStatic: boolean; - constructor(k: number, _arg_2: PlaneMaterialCell[], _arg_3: number = 1) + constructor(width: number, cells: PlaneMaterialCell[], repeatMode: number = 1) { this._cells = []; - this._repeatMode = _arg_3; - this._width = (k < 1) ? 1 : k; + this._repeatMode = repeatMode; + this._width = (width < 1) ? 1 : width; this._cachedBitmapData = null; this._cachedBitmapNormal = null; this._cachedBitmapDataOffsetX = 0; @@ -34,13 +36,13 @@ export class PlaneMaterialCellColumn this._isCached = false; this._isStatic = true; - if(_arg_2 && _arg_2.length) + if(cells && cells.length) { let cellIndex = 0; - while(cellIndex < _arg_2.length) + while(cellIndex < cells.length) { - const cell = _arg_2[cellIndex]; + const cell = cells[cellIndex]; if(cell) { @@ -192,19 +194,19 @@ export class PlaneMaterialCellColumn this.renderRepeatNone(normal); break; case PlaneMaterialCellColumn.REPEAT_MODE_BORDERS: - console.log('tru2'); + console.log('REPEAT_MODE_BORDERS'); // this.renderRepeatBorders(normal); break; case PlaneMaterialCellColumn.REPEAT_MODE_CENTER: - console.log('tru3'); + console.log('REPEAT_MODE_CENTER'); // this.renderRepeatCenter(normal); break; case PlaneMaterialCellColumn.REPEAT_MODE_FIRST: - console.log('tru4'); + console.log('REPEAT_MODE_FIRST'); // this.renderRepeatFirst(normal); break; case PlaneMaterialCellColumn.REPEAT_MODE_LAST: - console.log('tru5'); + console.log('REPEAT_MODE_LAST'); // this.renderRepeatLast(normal); break; default: @@ -215,18 +217,18 @@ export class PlaneMaterialCellColumn return this._cachedBitmapData; } - private getCellsHeight(k: PlaneMaterialCell[], _arg_2: IVector3D): number + private getCellsHeight(cells: PlaneMaterialCell[], normal: IVector3D): number { - if(!k || !k.length) return 0; + if(!cells || !cells.length) return 0; let height = 0; let cellIterator = 0; - while(cellIterator < k.length) + while(cellIterator < cells.length) { - const cell = k[cellIterator]; + const cell = cells[cellIterator]; - if(cell) height += cell.getHeight(_arg_2); + if(cell) height += cell.getHeight(normal); cellIterator++; } @@ -234,57 +236,57 @@ export class PlaneMaterialCellColumn return height; } - private renderCells(k: PlaneMaterialCell[], _arg_2: number, _arg_3: boolean, _arg_4: IVector3D, _arg_5: number = 0, _arg_6: number = 0): number + private renderCells(cells: PlaneMaterialCell[], index: number, flag: boolean, normal: IVector3D, offsetX: number = 0, offsetY: number = 0): number { - if(((!k || !k.length) || !this._cachedBitmapData)) return _arg_2; + if(((!cells || !cells.length) || !this._cachedBitmapData)) return index; let cellIndex = 0; - while(cellIndex < k.length) + while(cellIndex < cells.length) { let cell: PlaneMaterialCell = null; - if(_arg_3) + if(flag) { - cell = k[cellIndex]; + cell = cells[cellIndex]; } else { - cell = k[((k.length - 1) - cellIndex)]; + cell = cells[((cells.length - 1) - cellIndex)]; } if(cell) { - const graphic = cell.render(_arg_4, _arg_5, _arg_6); + const graphic = cell.render(normal, offsetX, offsetY); if(graphic) { - if(!_arg_3) _arg_2 -= graphic.height; + if(!flag) index -= graphic.height; - graphic.y = _arg_2; + graphic.y = index; this._cachedBitmapData.addChild(graphic); - if(_arg_3) _arg_2 = (_arg_2 + graphic.height); + if(flag) index = (index + graphic.height); - if(((_arg_3) && (_arg_2 >= this._cachedBitmapData.height)) || ((!(_arg_3)) && (_arg_2 <= 0))) return _arg_2; + if(((flag) && (index >= this._cachedBitmapData.height)) || ((!(flag)) && (index <= 0))) return index; } } cellIndex++; } - return _arg_2; + return index; } - private renderRepeatNone(k: IVector3D): void + private renderRepeatNone(normal: IVector3D): void { if(!this._cells.length || !this._cachedBitmapData) return; - this.renderCells(this._cells, 0, true, k); + this.renderCells(this._cells, 0, true, normal); } - private renderRepeatAll(k: IVector3D, _arg_2: number, _arg_3: number): void + private renderRepeatAll(normal: IVector3D, offsetX: number, offsetY: number): void { if(!this._cells.length || !this._cachedBitmapData) return; @@ -292,7 +294,7 @@ export class PlaneMaterialCellColumn while(index < this._cachedBitmapData.height) { - index = this.renderCells(this._cells, index, true, k, _arg_2, _arg_3); + index = this.renderCells(this._cells, index, true, normal, offsetX, offsetY); if(!index) return; } diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellMatrix.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellMatrix.ts index 0d38300f..1305456b 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellMatrix.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellMatrix.ts @@ -36,34 +36,34 @@ export class PlaneMaterialCellMatrix private _normalMinY: number = -1; private _normalMaxY: number = 1; - constructor(k: number, _arg_2: number=1, _arg_3: number=1, _arg_4: number=-1, _arg_5: number=1, _arg_6: number=-1, _arg_7: number=1) + constructor(totalColumns: number, repeatMode: number=1, align: number=1, normalMinX: number=-1, normalMaxX: number=1, normalMinY: number=-1, normalMaxY: number=1) { this._columns = []; - if(k < 1) + if(totalColumns < 1) { - k = 1; + totalColumns = 1; } let _local_8 = 0; - while(_local_8 < k) + while(_local_8 < totalColumns) { this._columns.push(null); _local_8++; } - this._repeatMode = _arg_2; - this._align = _arg_3; - this._normalMinX = _arg_4; - this._normalMaxX = _arg_5; - this._normalMinY = _arg_6; - this._normalMaxY = _arg_7; + this._repeatMode = repeatMode; + this._align = align; + this._normalMinX = normalMinX; + this._normalMaxX = normalMaxX; + this._normalMinY = normalMinY; + this._normalMaxY = normalMaxY; if(this._repeatMode == PlaneMaterialCellMatrix.REPEAT_MODE_RANDOM) { this._isStatic = false; } } - private static nextRandomColumnIndex(k: number): number + private static nextRandomColumnIndex(totalColumns: number): number { - return ((Randomizer.getValues(1, 0, (k * 17631))[0]) % k); + return ((Randomizer.getValues(1, 0, (totalColumns * 17631))[0]) % totalColumns); } public get normalMinX(): number @@ -139,16 +139,16 @@ export class PlaneMaterialCellMatrix this._isCached = false; } - public createColumn(k: number, _arg_2: number, _arg_3: PlaneMaterialCell[], _arg_4: number=1): boolean + public createColumn(index: number, width: number, cells: PlaneMaterialCell[], repeatMode: number=1): boolean { - if((k < 0) || (k >= this._columns.length)) return false; + if((index < 0) || (index >= this._columns.length)) return false; - const newColumn = new PlaneMaterialCellColumn(_arg_2, _arg_3, _arg_4); - const oldColumn = this._columns[k]; + const newColumn = new PlaneMaterialCellColumn(width, cells, repeatMode); + const oldColumn = this._columns[index]; if(oldColumn) oldColumn.dispose(); - this._columns[k] = newColumn; + this._columns[index] = newColumn; if(newColumn && !newColumn.isStatic) this._isStatic = false; @@ -313,11 +313,11 @@ export class PlaneMaterialCellMatrix return this._cachedBitmapData; } - private copyCachedBitmapOnCanvas(k: Graphics, _arg_2: number, _arg_3: number, _arg_4: boolean): void + private copyCachedBitmapOnCanvas(canvas: Graphics, height: number, offsetY: number, topAlign: boolean): void { - if(!k || !this._cachedBitmapData || (k === this._cachedBitmapData)) return; + if(!canvas || !this._cachedBitmapData || (canvas === this._cachedBitmapData)) return; - if(!_arg_4) _arg_3 = ((k.height - _arg_2) - _arg_3); + if(!topAlign) offsetY = ((canvas.height - height) - offsetY); let _local_5: Rectangle; @@ -334,20 +334,20 @@ export class PlaneMaterialCellMatrix if(texture) { - k + canvas .beginTextureFill({ texture }) - .drawRect(0, _arg_3, _local_5.width, _local_5.height) + .drawRect(0, offsetY, _local_5.width, _local_5.height) .endFill(); } } - private getColumnsWidth(k: Graphics[]): number + private getColumnsWidth(columns: Graphics[]): number { - if(!k || !k.length) return 0; + if(!columns || !columns.length) return 0; let width = 0; - for(const graphic of k) + for(const graphic of columns) { if(!graphic) continue; @@ -357,79 +357,63 @@ export class PlaneMaterialCellMatrix return width; } - private renderColumns(k: Graphics, _arg_2: Graphics[], _arg_3: number, _arg_4: boolean): Point + private renderColumns(canvas: Graphics, columns: Graphics[], x: number, flag: boolean): Point { - if(!k || !_arg_2 || !_arg_2.length) return new Point(_arg_3, 0); + if(!canvas || !columns || !columns.length) return new Point(x, 0); let height = 0; - let _local_6: Graphics = null; - let _local_7 = 0; + let i = 0; - while(_local_7 < _arg_2.length) + while(i < columns.length) { - if(_arg_4) - { - _local_6 = _arg_2[_local_7]; - } - else - { - _local_6 = _arg_2[((_arg_2.length - 1) - _local_7)]; - } - if(_local_6 != null) - { - if(!_arg_4) - { - _arg_3 = (_arg_3 - _local_6.width); - } - let _local_8 = 0; - if(this._align == PlaneMaterialCellMatrix.ALIGN_BOTTOM) - { - _local_8 = (k.height - _local_6.height); - } + const column = flag ? columns[i] : columns[((columns.length - 1) - i)]; - let texture = RoomVisualization.getTextureCache(_local_6); + if(column) + { + if(!flag) x = (x - column.width); + + let y = 0; + + if(this._align == PlaneMaterialCellMatrix.ALIGN_BOTTOM) y = (canvas.height - column.height); + + let texture = RoomVisualization.getTextureCache(column); if(!texture) { - texture = TextureUtils.generateTexture(_local_6, new Rectangle(0, 0, _local_6.width, _local_6.height)); + texture = TextureUtils.generateTexture(column, new Rectangle(0, 0, column.width, column.height)); - RoomVisualization.addTextureCache(_local_6, texture); + RoomVisualization.addTextureCache(column, texture); } - k.beginTextureFill({ texture }); - k.drawRect(_arg_3, _local_8, texture.width, texture.height); - k.endFill(); + canvas.beginTextureFill({ texture }); + canvas.drawRect(x, y, texture.width, texture.height); + canvas.endFill(); - if(_local_6.height > height) - { - height = _local_6.height; - } - if(_arg_4) - { - _arg_3 = (_arg_3 + _local_6.width); - } - if((((_arg_4) && (_arg_3 >= k.width)) || ((!(_arg_4)) && (_arg_3 <= 0)))) - { - return new Point(_arg_3, height); - } + if(column.height > height) height = column.height; + + if(flag) x = (x + column.width); + + if((flag && (x >= canvas.width)) || (!flag && (x <= 0))) return new Point(x, height); } - _local_7++; + + i++; } - return new Point(_arg_3, height); + + return new Point(x, height); } - private renderRepeatAll(k: Graphics, _arg_2: Graphics[]): number + private renderRepeatAll(canvas: Graphics, columns: Graphics[]): number { - if(!k || !_arg_2 || !_arg_2.length) return 0; + if(!canvas || !columns || !columns.length) return 0; - const totalWidth: number = this.getColumnsWidth(_arg_2); + const totalWidth: number = this.getColumnsWidth(columns); let x = 0; let y = 0; - while(x < k.width) + while(x < canvas.width) { - const point = this.renderColumns(k, _arg_2, x, true); + const point = this.renderColumns(canvas, columns, x, true); x = point.x; @@ -695,7 +679,7 @@ export class PlaneMaterialCellMatrix // return _local_3; // } - public getColumns(k: number): PlaneMaterialCellColumn[] + public getColumns(width: number): PlaneMaterialCellColumn[] { if(this._repeatMode === PlaneMaterialCellMatrix.REPEAT_MODE_RANDOM) { @@ -703,7 +687,7 @@ export class PlaneMaterialCellMatrix let columnIndex = 0; - while(columnIndex < k) + while(columnIndex < width) { const column = this._columns[PlaneMaterialCellMatrix.nextRandomColumnIndex(this._columns.length)]; diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneRasterizer.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneRasterizer.ts index a1efb007..dd77a660 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneRasterizer.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneRasterizer.ts @@ -152,30 +152,30 @@ export class PlaneRasterizer implements IPlaneRasterizer this._textures.clear(); } - protected getTexture(k: string): PlaneTexture + protected getTexture(textureId: string): PlaneTexture { - return this._textures.get(k); + return this._textures.get(textureId); } - protected getMaterial(k: string): PlaneMaterial + protected getMaterial(materialId: string): PlaneMaterial { - return this._materials.get(k); + return this._materials.get(materialId); } - protected getPlane(k: string): Plane + protected getPlane(planeId: string): Plane { - return this._planes.get(k); + return this._planes.get(planeId); } - protected addPlane(k: string, _arg_2: Plane): boolean + protected addPlane(id: string, plane: Plane): boolean { - if(!_arg_2) return false; + if(!plane) return false; - const existing = this._planes.get(k); + const existing = this._planes.get(id); if(!existing) { - this._planes.set(k, _arg_2); + this._planes.set(id, plane); return true; } @@ -183,11 +183,11 @@ export class PlaneRasterizer implements IPlaneRasterizer return false; } - public initializeAssetCollection(k: IGraphicAssetCollection): void + public initializeAssetCollection(collection: IGraphicAssetCollection): void { if(!this._data) return; - this._assetCollection = k; + this._assetCollection = collection; this.initializeAll(); } @@ -212,13 +212,13 @@ export class PlaneRasterizer implements IPlaneRasterizer { } - private parseTextures(k: any, _arg_2: IGraphicAssetCollection): void + private parseTextures(textures: any, collection: IGraphicAssetCollection): void { - if(!k || !_arg_2) return; + if(!textures || !collection) return; - if(k.length) + if(textures.length) { - for(const texture of k) + for(const texture of textures) { if(!texture) continue; @@ -246,7 +246,7 @@ export class PlaneRasterizer implements IPlaneRasterizer if(bitmap.normalMinY !== undefined) normalMinY = bitmap.normalMinY; if(bitmap.normalMaxY !== undefined) normalMaxY = bitmap.normalMaxY; - const asset = _arg_2.getAsset(assetName); + const asset = collection.getAsset(assetName); if(asset) { @@ -273,11 +273,11 @@ export class PlaneRasterizer implements IPlaneRasterizer } } - private parsePlaneMaterials(k: any): void + private parsePlaneMaterials(materials: any): void { - if(!k || !k.length) return; + if(!materials || !materials.length) return; - for(const material of k) + for(const material of materials) { if(!material) continue; @@ -354,17 +354,17 @@ export class PlaneRasterizer implements IPlaneRasterizer } } - private parsePlaneMaterialCellColumn(k: { repeatMode: string, width: number }, _arg_2: PlaneMaterialCellMatrix, _arg_3: number): void + private parsePlaneMaterialCellColumn(column: { repeatMode: string, width: number }, cellMatrix: PlaneMaterialCellMatrix, index: number): void { - if(!k || !_arg_2) return; + if(!column || !cellMatrix) return; let repeatMode = PlaneMaterialCellColumn.REPEAT_MODE_ALL; - const width = k.width; + const width = column.width; - const cells = this.parsePlaneMaterialCells(k); + const cells = this.parsePlaneMaterialCells(column); - switch(k.repeatMode) + switch(column.repeatMode) { case 'borders': repeatMode = PlaneMaterialCellColumn.REPEAT_MODE_BORDERS; @@ -386,20 +386,20 @@ export class PlaneRasterizer implements IPlaneRasterizer break; } - _arg_2.createColumn(_arg_3, width, cells, repeatMode); + cellMatrix.createColumn(index, width, cells, repeatMode); } - private parsePlaneMaterialCells(k: any): PlaneMaterialCell[] + private parsePlaneMaterialCells(column: any): PlaneMaterialCell[] { - if(!k || !k.cells || !k.cells.length) return null; + if(!column || !column.cells || !column.cells.length) return null; const cells: PlaneMaterialCell[] = []; let index = 0; - while(index < k.cells.length) + while(index < column.cells.length) { - const cell = k.cells[index]; + const cell = column.cells[index]; if(cell) { @@ -509,34 +509,34 @@ export class PlaneRasterizer implements IPlaneRasterizer return offsets; } - protected getGeometry(k: number, _arg_2: number, _arg_3: number): IRoomGeometry + protected getGeometry(size: number, horizontalAngle: number, verticalAngle: number): IRoomGeometry { - _arg_2 = Math.abs(_arg_2); - if(_arg_2 > 90) _arg_2 = 90; + horizontalAngle = Math.abs(horizontalAngle); + if(horizontalAngle > 90) horizontalAngle = 90; - _arg_3 = Math.abs(_arg_3); - if(_arg_3 > 90) _arg_3 = 90; + verticalAngle = Math.abs(verticalAngle); + if(verticalAngle > 90) verticalAngle = 90; - const identifier = `${ k }_${ Math.round(_arg_2) }_${ Math.round(_arg_3) }`; + const identifier = `${ size }_${ Math.round(horizontalAngle) }_${ Math.round(verticalAngle) }`; let geometry = this._geometries.get(identifier); if(geometry) return geometry; - geometry = new RoomGeometry(k, new Vector3d(_arg_2, _arg_3), new Vector3d(-10, 0, 0)); + geometry = new RoomGeometry(size, new Vector3d(horizontalAngle, verticalAngle), new Vector3d(-10, 0, 0)); this._geometries.set(identifier, geometry); return geometry; } - protected parseVisualizations(k: Plane, _arg_2: any): void + protected parseVisualizations(plane: Plane, visualizations: any): void { - if(!k || !_arg_2) return; + if(!plane || !visualizations) return; - if(_arg_2 && _arg_2.length) + if(visualizations && visualizations.length) { - for(const visualization of _arg_2) + for(const visualization of visualizations) { if(!visualization) continue; @@ -550,7 +550,7 @@ export class PlaneRasterizer implements IPlaneRasterizer const layers = visualization.layers; - const planeVisualization = k.createPlaneVisualization(size, ((layers && layers.length) || 0), this.getGeometry(size, horizontalAngle, verticalAngle)); + const planeVisualization = plane.createPlaneVisualization(size, ((layers && layers.length) || 0), this.getGeometry(size, horizontalAngle, verticalAngle)); if(planeVisualization && (layers && layers.length)) { @@ -590,19 +590,19 @@ export class PlaneRasterizer implements IPlaneRasterizer } } - public render(k: Graphics, _arg_2: string, _arg_3: number, _arg_4: number, _arg_5: number, _arg_6: IVector3D, _arg_7: boolean, _arg_8: number =0, _arg_9: number = 0, _arg_10: number = 0, _arg_11: number = 0, _arg_12: number = 0): PlaneBitmapData + public render(canvas: Graphics, id: string, width: number, height: number, size: number, normal: IVector3D, useTexture: boolean, offsetX: number = 0, offsetY: number = 0, maxX: number = 0, maxY: number = 0, timeSinceStartMs: number = 0): PlaneBitmapData { return null; } - public getTextureIdentifier(k: number, _arg_2: IVector3D): string + public getTextureIdentifier(k: number, normal: IVector3D): string { return k.toString(); } - public getLayers(k: string): PlaneVisualizationLayer[] + public getLayers(id: string): PlaneVisualizationLayer[] { - let planes = this.getPlane(k); + let planes = this.getPlane(id); if(!planes) planes = this.getPlane(PlaneRasterizer.DEFAULT); diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneTexture.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneTexture.ts index 8328bb0e..e0d07273 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneTexture.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneTexture.ts @@ -29,9 +29,9 @@ export class PlaneTexture } } - public addBitmap(k: Texture, _arg_2: number = -1, _arg_3: number = 1, _arg_4: number = -1, _arg_5: number = 1, _arg_6: string = null): void + public addBitmap(texture: Texture, normalMinX: number = -1, normalMaxX: number = 1, normalMinY: number = -1, normalMaxY: number = 1, assetName: string = null): void { - this._bitmaps.push(new PlaneTextureBitmap(k, _arg_2, _arg_3, _arg_4, _arg_5, _arg_6)); + this._bitmaps.push(new PlaneTextureBitmap(texture, normalMinX, normalMaxX, normalMinY, normalMaxY, assetName)); } public getBitmap(k: IVector3D): Texture diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneTextureBitmap.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneTextureBitmap.ts index 65b73f5a..adcd06a3 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneTextureBitmap.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneTextureBitmap.ts @@ -12,14 +12,14 @@ export class PlaneTextureBitmap private _normalMaxY: number; private _assetName: string; - constructor(k: Texture, _arg_2: number = -1, _arg_3: number = 1, _arg_4: number = -1, _arg_5: number = 1, _arg_6: string = null) + constructor(texture: Texture, normalMinX: number = -1, normalMaxX: number = 1, normalMinY: number = -1, normalMaxY: number = 1, assetName: string = null) { - this._normalMinX = _arg_2; - this._normalMaxX = _arg_3; - this._normalMinY = _arg_4; - this._normalMaxY = _arg_5; - this._assetName = _arg_6; - this._bitmap = k; + this._normalMinX = normalMinX; + this._normalMaxX = normalMaxX; + this._normalMinY = normalMinY; + this._normalMaxY = normalMaxY; + this._assetName = assetName; + this._bitmap = texture; } public get bitmap(): Texture diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneVisualization.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneVisualization.ts index 191e03ac..68c2f28a 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneVisualization.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneVisualization.ts @@ -1,10 +1,8 @@ import { Graphics } from '@pixi/graphics'; -import { Rectangle } from '@pixi/math'; import { IDisposable } from '../../../../../../../core/common/disposable/IDisposable'; import { IGraphicAssetCollection } from '../../../../../../../room/object/visualization/utils/IGraphicAssetCollection'; import { IRoomGeometry } from '../../../../../../../room/utils/IRoomGeometry'; import { IVector3D } from '../../../../../../../room/utils/IVector3D'; -import { TextureUtils } from '../../../../../../../room/utils/TextureUtils'; import { Vector3d } from '../../../../../../../room/utils/Vector3d'; import { PlaneVisualizationAnimationLayer } from '../animated/PlaneVisualizationAnimationLayer'; import { PlaneMaterial } from './PlaneMaterial'; @@ -19,20 +17,20 @@ export class PlaneVisualization private _isCached: boolean; private _hasAnimationLayers: boolean; - constructor(k: number, _arg_2: number, _arg_3: IRoomGeometry) + constructor(size: number, totalLayers: number, geometry: IRoomGeometry) { this._layers = []; - this._geometry = _arg_3; + this._geometry = geometry; this._cachedBitmapData = null; this._cachedBitmapNormal = new Vector3d(); this._isCached = false; this._hasAnimationLayers = false; - if(_arg_2 < 0) _arg_2 = 0; + if(totalLayers < 0) totalLayers = 0; let index = 0; - while(index < _arg_2) + while(index < totalLayers) { this._layers.push(null); @@ -107,32 +105,32 @@ export class PlaneVisualization this._isCached = false; } - public setLayer(k: number, _arg_2: PlaneMaterial, _arg_3: number, _arg_4: number, _arg_5: number = 0): boolean + public setLayer(layerId: number, material: PlaneMaterial, color: number, align: number, offset: number = 0): boolean { - if((k < 0) || (k > this._layers.length)) return false; + if((layerId < 0) || (layerId > this._layers.length)) return false; - let layer = this._layers[k]; + let layer = this._layers[layerId]; if(layer) layer.dispose(); - layer = new PlaneVisualizationLayer(_arg_2, _arg_3, _arg_4, _arg_5); + layer = new PlaneVisualizationLayer(material, color, align, offset); - this._layers[k] = layer; + this._layers[layerId] = layer; return true; } - public setAnimationLayer(k: number, _arg_2: any, _arg_3: IGraphicAssetCollection): boolean + public setAnimationLayer(layerId: number, animationItems: any, collection: IGraphicAssetCollection): boolean { - if((k < 0) || (k > this._layers.length)) return false; + if((layerId < 0) || (layerId > this._layers.length)) return false; - let layer = this._layers[k] as IDisposable; + let layer = this._layers[layerId] as IDisposable; if(layer) layer.dispose(); - layer = new PlaneVisualizationAnimationLayer(_arg_2, _arg_3); + layer = new PlaneVisualizationAnimationLayer(animationItems, collection); - this._layers[k] = layer; + this._layers[layerId] = layer; this._hasAnimationLayers = true; return true; @@ -159,17 +157,20 @@ export class PlaneVisualization { if(canvas) { - const texture = TextureUtils.generateTexture(this._cachedBitmapData, new Rectangle(0, 0, width, height)); + canvas.addChild(this._cachedBitmapData); - if(texture) - { - canvas - .beginTextureFill({ texture }) - .drawRect(0, 0, texture.width, texture.height) - .endFill(); + return canvas; + // const texture = TextureUtils.generateTexture(this._cachedBitmapData, new Rectangle(0, 0, width, height)); - return canvas; - } + // if(texture) + // { + // canvas + // .beginTextureFill({ texture }) + // .drawRect(0, 0, texture.width, texture.height) + // .endFill(); + + // return canvas; + // } } return this._cachedBitmapData; @@ -187,12 +188,10 @@ export class PlaneVisualization if(!this._cachedBitmapData) { - const graphic = new Graphics() + this._cachedBitmapData = new Graphics() .beginFill(0xFFFFFF) .drawRect(0, 0, width, height) .endFill(); - - this._cachedBitmapData = graphic; } else { @@ -226,12 +225,13 @@ export class PlaneVisualization if(canvas && (canvas !== this._cachedBitmapData)) { - const texture = TextureUtils.generateTexture(canvas, new Rectangle(0, 0, canvas.width, canvas.height)); + this._cachedBitmapData.addChild(canvas.clone()); + // const texture = TextureUtils.generateTexture(canvas, new Rectangle(0, 0, canvas.width, canvas.height)); - this._cachedBitmapData - .beginTextureFill({ texture }) - .drawRect(0, 0, canvas.width, canvas.height) - .endFill(); + // this._cachedBitmapData + // .beginTextureFill({ texture }) + // .drawRect(0, 0, canvas.width, canvas.height) + // .endFill(); return canvas; } diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneVisualizationLayer.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneVisualizationLayer.ts index c3ba98e5..9e93c2ba 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneVisualizationLayer.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneVisualizationLayer.ts @@ -19,12 +19,12 @@ export class PlaneVisualizationLayer private _bitmapData: Graphics; private _isDisposed: boolean; - constructor(k: PlaneMaterial, _arg_2: number, _arg_3: number, _arg_4: number = 0) + constructor(material: PlaneMaterial, color: number, align: number, offset: number = 0) { - this._material = k; - this._offset = _arg_4; - this._align = _arg_3; - this._color = _arg_2; + this._material = material; + this._offset = offset; + this._align = align; + this._color = color; this._bitmapData = null; this._isDisposed = false; } diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/WallPlane.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/WallPlane.ts index 6aa5d226..bf8b77a8 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/WallPlane.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/WallPlane.ts @@ -9,22 +9,22 @@ export class WallPlane extends Plane public static HORIZONTAL_ANGLE_DEFAULT: number = 45; public static VERTICAL_ANGLE_DEFAULT: number = 30; - public render(k: Graphics, _arg_2: number, _arg_3: number, size: number, _arg_5: IVector3D, _arg_6: boolean): Graphics + public render(canvas: Graphics, width: number, height: number, size: number, normal: IVector3D, useTexture: boolean): Graphics { const visualization = this.getPlaneVisualization(size); if(!visualization || !visualization.geometry) return null; const _local_8 = visualization.geometry.getScreenPoint(new Vector3d(0, 0, 0)); - const _local_9 = visualization.geometry.getScreenPoint(new Vector3d(0, 0, (_arg_3 / visualization.geometry.scale))); - const _local_10 = visualization.geometry.getScreenPoint(new Vector3d(0, (_arg_2 / visualization.geometry.scale), 0)); + const _local_9 = visualization.geometry.getScreenPoint(new Vector3d(0, 0, (height / visualization.geometry.scale))); + const _local_10 = visualization.geometry.getScreenPoint(new Vector3d(0, (width / visualization.geometry.scale), 0)); if(_local_8 && _local_9 && _local_10) { - _arg_2 = Math.round(Math.abs((_local_8.x - _local_10.x))); - _arg_3 = Math.round(Math.abs((_local_8.y - _local_9.y))); + width = Math.round(Math.abs((_local_8.x - _local_10.x))); + height = Math.round(Math.abs((_local_8.y - _local_9.y))); } - return visualization.render(k, _arg_2, _arg_3, _arg_5, _arg_6); + return visualization.render(canvas, width, height, normal, useTexture); } } diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/WallRasterizer.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/WallRasterizer.ts index a63f7550..7956cfa2 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/WallRasterizer.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/WallRasterizer.ts @@ -64,13 +64,13 @@ export class WallRasterizer extends PlaneRasterizer return new PlaneBitmapData(graphic, -1); } - public getTextureIdentifier(k: number, _arg_2: IVector3D): string + public getTextureIdentifier(k: number, normal: IVector3D): string { - if(_arg_2) + if(normal) { - return `${ k }_${ _arg_2.x }_${ _arg_2.y }_${ _arg_2.z }`; + return `${ k }_${ normal.x }_${ normal.y }_${ normal.z }`; } - return super.getTextureIdentifier(k, _arg_2); + return super.getTextureIdentifier(k, normal); } } diff --git a/src/nitro/room/preview/RoomPreviewer.ts b/src/nitro/room/preview/RoomPreviewer.ts index 68cdb8c0..1dbefffa 100644 --- a/src/nitro/room/preview/RoomPreviewer.ts +++ b/src/nitro/room/preview/RoomPreviewer.ts @@ -8,8 +8,8 @@ import { IRoomRenderingCanvas } from '../../../room/renderer/IRoomRenderingCanva import { IVector3D } from '../../../room/utils/IVector3D'; import { RoomId } from '../../../room/utils/RoomId'; import { Vector3d } from '../../../room/utils/Vector3d'; -import { RoomDoorParser } from '../../communication/messages/parser/room/mapping/RoomDoorParser'; -import { RoomModelParser } from '../../communication/messages/parser/room/mapping/RoomModelParser'; +import { FloorHeightMapMessageParser } from '../../communication/messages/parser/room/mapping/FloorHeightMapMessageParser'; +import { RoomEntryTileMessageParser } from '../../communication/messages/parser/room/mapping/RoomEntryTileMessageParser'; import { Nitro } from '../../Nitro'; import { RoomEngineEvent } from '../events/RoomEngineEvent'; import { RoomEngineObjectEvent } from '../events/RoomEngineObjectEvent'; @@ -155,12 +155,13 @@ export class RoomPreviewer public updatePreviewModel(model: string, wallHeight: number, scale: boolean = true): void { - const parser = new RoomModelParser(); + const parser = new FloorHeightMapMessageParser(); parser.flush(); parser.parseModel(model, wallHeight, scale); - const wallGeometry = ( this._roomEngine as IRoomCreator).getLegacyWallGeometry(this._previewRoomId); + //@ts-ignore + const wallGeometry = (this._roomEngine as IRoomCreator).getLegacyWallGeometry(this._previewRoomId); if(!wallGeometry) return; @@ -171,7 +172,7 @@ export class RoomPreviewer this._planeParser.initializeTileMap(width, height); - const entryTile: RoomDoorParser = null; + const entryTile: RoomEntryTileMessageParser = null; let doorX = -1; let doorY = -1; diff --git a/src/nitro/room/utils/SpriteDataCollector.ts b/src/nitro/room/utils/SpriteDataCollector.ts index e2e88c1a..859ffe2f 100644 --- a/src/nitro/room/utils/SpriteDataCollector.ts +++ b/src/nitro/room/utils/SpriteDataCollector.ts @@ -254,7 +254,7 @@ export class SpriteDataCollector // } // } - // var _local_8:String = _arg_4.configuration.getProperty('image.library.url'); + // var _local_8: string = _arg_4.configuration.getProperty('image.library.url'); // _local_6 = _local_6.replace('%image.library.url%', _local_8); // if (_local_6.indexOf('%group.badge.url%') != -1) // { diff --git a/src/nitro/session/BadgeImageManager.ts b/src/nitro/session/BadgeImageManager.ts deleted file mode 100644 index 89d112b6..00000000 --- a/src/nitro/session/BadgeImageManager.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { Resource, Texture } from '@pixi/core'; -import { IAssetManager } from '../../core/asset/IAssetManager'; -import { IEventDispatcher } from '../../core/events/IEventDispatcher'; -import { Nitro } from '../Nitro'; -import { BadgeInfo } from './BadgeInfo'; -import { BadgeImageReadyEvent } from './events/BadgeImageReadyEvent'; - -export class BadgeImageManager -{ - public static GROUP_BADGE: string = 'group_badge'; - public static NORMAL_BADGE: string = 'normal_badge'; - - private _assets: IAssetManager; - private _events: IEventDispatcher; - private _requestedBadges: Map; - - constructor(assetManager: IAssetManager, eventDispatcher: IEventDispatcher) - { - this._assets = assetManager; - this._events = eventDispatcher; - this._requestedBadges = new Map(); - } - - public dispose(): void - { - this._assets = null; - } - - public getBadgeImage(badgeName: string, type: string = BadgeImageManager.NORMAL_BADGE, load: boolean = true): Texture - { - let badge = this.getBadgeTexture(badgeName, type); - - if(!badge && load) badge = this.getBadgePlaceholder(); - - return badge; - } - - public getBadgeInfo(k: string): BadgeInfo - { - const badge = this.getBadgeTexture(k); - - return (badge) ? new BadgeInfo(badge, false) : new BadgeInfo(this.getBadgePlaceholder(), true); - } - - public loadBadgeImage(badgeName: string, type: string = BadgeImageManager.NORMAL_BADGE): string - { - if(this._assets.getTexture(this.getBadgeUrl(badgeName, type))) return badgeName; - - this.getBadgeTexture(badgeName, type); - - return null; - } - - private getBadgeTexture(badgeName: string, type: string = BadgeImageManager.NORMAL_BADGE): Texture - { - const url = this.getBadgeUrl(badgeName, type); - - const existing = this._assets.getTexture(url); - - if(existing) return existing.clone(); - - if(this._requestedBadges.get(badgeName)) return null; - - if(url) - { - this._requestedBadges.set(badgeName, true); - - this._assets.downloadAsset(url, (flag: boolean) => - { - if(flag) - { - const texture = this._assets.getTexture(url); - - if(texture && this._events) this._events.dispatchEvent(new BadgeImageReadyEvent(badgeName, texture.clone())); - } - }); - } - - return null; - } - - private getBadgePlaceholder(): Texture - { - const url = (Nitro.instance.getConfiguration('images.url') + '/loading_icon.png'); - const existing = this._assets.getTexture(url); - - if(!existing) return null; - - return existing.clone(); - } - - public getBadgeUrl(badge: string, type: string = BadgeImageManager.NORMAL_BADGE): string - { - let url = null; - - switch(type) - { - case BadgeImageManager.NORMAL_BADGE: - url = (Nitro.instance.getConfiguration('badge.asset.url')).replace('%badgename%', badge); - break; - case BadgeImageManager.GROUP_BADGE: - url = (Nitro.instance.getConfiguration('badge.asset.group.url')).replace('%badgedata%', badge); - break; - } - - return url; - } -} diff --git a/src/nitro/session/GroupInformationManager.ts b/src/nitro/session/GroupInformationManager.ts new file mode 100644 index 00000000..a989551a --- /dev/null +++ b/src/nitro/session/GroupInformationManager.ts @@ -0,0 +1,72 @@ +import { IDisposable } from '../../core/common/disposable/IDisposable'; +import { IMessageEvent } from '../../core/communication/messages/IMessageEvent'; +import { GroupBadgesEvent } from '../communication/messages/incoming/group/GroupBadgesEvent'; +import { GroupBadgesComposer } from '../communication/messages/outgoing/group/GroupBadgesComposer'; +import { SessionDataManager } from './SessionDataManager'; + +export class GroupInformationManager implements IDisposable +{ + private _sessionDataManager: SessionDataManager; + private _groupBadges: Map; + + private _messages: IMessageEvent[]; + + constructor(sessionDataManager: SessionDataManager) + { + this._sessionDataManager = sessionDataManager; + this._groupBadges = new Map(); + } + + public init(): void + { + if(this._sessionDataManager && this._sessionDataManager.communication) + { + this._messages = [ + new GroupBadgesEvent(this.onGroupBadgesEvent.bind(this)) + ]; + + for(const message of this._messages) this._sessionDataManager.communication.registerMessageEvent(message); + } + } + + public dispose(): void + { + if(this.disposed) return; + + if(this._messages && this._messages.length) + { + for(const message of this._messages) this._sessionDataManager.communication.removeMessageEvent(message); + + this._messages = null; + } + + this._groupBadges = null; + this._sessionDataManager = null; + } + + public requestGroupBadges(): void + { + this._sessionDataManager.send(new GroupBadgesComposer()); + } + + private onGroupBadgesEvent(event: GroupBadgesEvent): void + { + if(!event) return; + + const parser = event.getParser(); + + if(!parser) return; + + this._groupBadges = parser.badges; + } + + public getGroupBadge(groupId: number): string + { + return this._groupBadges.get(groupId); + } + + public get disposed(): boolean + { + return !!this._sessionDataManager; + } +} diff --git a/src/nitro/session/IRoomSession.ts b/src/nitro/session/IRoomSession.ts index 682a11b8..8b3ee921 100644 --- a/src/nitro/session/IRoomSession.ts +++ b/src/nitro/session/IRoomSession.ts @@ -28,7 +28,10 @@ export interface IRoomSession extends IDisposable sendBanMessage(userId: number, type: string): void; sendGiveRightsMessage(userId: number): void; sendTakeRightsMessage(userId: number): void; - updateMoodlightData(_Str_25037: number, _Str_24446: number, color: number, brightness: number, apply: boolean): void; + sendPollStartMessage(pollId:number):void; + sendPollRejectMessage(pollId:number):void; + sendPollAnswerMessage(pollId:number, questionId:number, answers:string[]):void; + updateMoodlightData(id: number, effectId: number, color: number, brightness: number, apply: boolean): void; toggleMoodlightState(): void; pickupPet(id: number): void; pickupBot(id: number): void; diff --git a/src/nitro/session/ISessionDataManager.ts b/src/nitro/session/ISessionDataManager.ts index 51a598c3..22e5000a 100644 --- a/src/nitro/session/ISessionDataManager.ts +++ b/src/nitro/session/ISessionDataManager.ts @@ -3,6 +3,7 @@ import { INitroManager } from '../../core/common/INitroManager'; import { INitroCommunicationManager } from '../communication/INitroCommunicationManager'; import { IFurnitureData } from './furniture/IFurnitureData'; import { IFurnitureDataListener } from './furniture/IFurnitureDataListener'; +import { GroupInformationManager } from './GroupInformationManager'; import { IgnoredUsersManager } from './IgnoredUsersManager'; import { IProductData } from './product/IProductData'; @@ -29,6 +30,7 @@ export interface ISessionDataManager extends INitroManager ignoreUser(name: string): void; unignoreUser(name: string): void; isUserIgnored(name: string): boolean; + getGroupBadge(groupId: number): string; communication: INitroCommunicationManager; userId: number; userName: string; @@ -37,6 +39,7 @@ export interface ISessionDataManager extends INitroManager isGodMode: boolean; realName: string; ignoredUsersManager: IgnoredUsersManager; + groupInformationManager: GroupInformationManager; respectsReceived: number; respectsLeft: number; respectsPetLeft: number; diff --git a/src/nitro/session/RoomSession.ts b/src/nitro/session/RoomSession.ts index 3858d63e..751eaeaf 100644 --- a/src/nitro/session/RoomSession.ts +++ b/src/nitro/session/RoomSession.ts @@ -1,6 +1,6 @@ import { Disposable } from '../../core/common/disposable/Disposable'; import { IConnection } from '../../core/communication/connections/IConnection'; -import { FurnitureMultiStateComposer, PetMountComposer, RemovePetSaddleComposer, TogglePetBreedingComposer, TogglePetRidingComposer, UsePetProductComposer } from '../communication'; +import { FurnitureMultiStateComposer, PetMountComposer, PollAnswerComposer, PollRejectComposer, PollStartComposer, RemovePetSaddleComposer, TogglePetBreedingComposer, TogglePetRidingComposer, UsePetProductComposer } from '../communication'; import { RoomDoorbellAccessComposer } from '../communication/messages/outgoing/room/access/RoomDoorbellAccessComposer'; import { RoomEnterComposer } from '../communication/messages/outgoing/room/access/RoomEnterComposer'; import { RoomAmbassadorAlertComposer } from '../communication/messages/outgoing/room/action/RoomAmbassadorAlertComposer'; @@ -225,11 +225,27 @@ export class RoomSession extends Disposable implements IRoomSession this._connection.send(new RoomTakeRightsComposer(userId)); } - public updateMoodlightData(id: number, _Str_24446: number, color: number, brightness: number, apply: boolean): void + public sendPollStartMessage(pollId:number):void { - const local6 = '000000' + color.toString(16).toUpperCase(); - const local7 = '#' + local6.substring((local6.length - 6)); - this.connection.send(new MoodlightSettingsSaveComposer(id, _Str_24446, local7, brightness, apply)); + this._connection.send(new PollStartComposer(pollId)); + } + + public sendPollRejectMessage(pollId:number):void + { + this._connection.send(new PollRejectComposer(pollId)); + } + + public sendPollAnswerMessage(pollId:number, questionId:number, answers:string[]):void + { + this._connection.send(new PollAnswerComposer(pollId, questionId, answers)); + } + + public updateMoodlightData(id: number, effectId: number, color: number, brightness: number, apply: boolean): void + { + let colorString = '000000' + color.toString(16).toUpperCase(); + colorString = '#' + colorString.substring((colorString.length - 6)); + + this.connection.send(new MoodlightSettingsSaveComposer(id, effectId, colorString, brightness, apply)); } public toggleMoodlightState(): void diff --git a/src/nitro/session/RoomSessionManager.ts b/src/nitro/session/RoomSessionManager.ts index d1e54169..6b2817c7 100644 --- a/src/nitro/session/RoomSessionManager.ts +++ b/src/nitro/session/RoomSessionManager.ts @@ -5,6 +5,7 @@ import { IRoomEngine } from '../room/IRoomEngine'; import { RoomSessionEvent } from './events/RoomSessionEvent'; import { BaseHandler } from './handler/BaseHandler'; import { GenericErrorHandler } from './handler/GenericErrorHandler'; +import { PollHandler } from './handler/PollHandler'; import { RoomChatHandler } from './handler/RoomChatHandler'; import { RoomDataHandler } from './handler/RoomDataHandler'; import { RoomDimmerPresetsHandler } from './handler/RoomDimmerPresetsHandler'; @@ -12,6 +13,7 @@ import { RoomPermissionsHandler } from './handler/RoomPermissionsHandler'; import { RoomPresentHandler } from './handler/RoomPresentHandler'; import { RoomSessionHandler } from './handler/RoomSessionHandler'; import { RoomUsersHandler } from './handler/RoomUsersHandler'; +import { WordQuizHandler } from './handler/WordQuizHandler'; import { IRoomHandlerListener } from './IRoomHandlerListener'; import { IRoomSession } from './IRoomSession'; import { IRoomSessionManager } from './IRoomSessionManager'; @@ -77,6 +79,8 @@ export class RoomSessionManager extends NitroManager implements IRoomSessionMana new RoomUsersHandler(connection, this), new RoomPresentHandler(connection, this), new GenericErrorHandler(connection, this), + new WordQuizHandler(connection, this), + new PollHandler(connection, this), ); } diff --git a/src/nitro/session/SessionDataManager.ts b/src/nitro/session/SessionDataManager.ts index 7dbc69ab..912cb8fb 100644 --- a/src/nitro/session/SessionDataManager.ts +++ b/src/nitro/session/SessionDataManager.ts @@ -2,13 +2,12 @@ import { Resource, Texture } from '@pixi/core'; import { NitroManager } from '../../core/common/NitroManager'; import { IMessageComposer } from '../../core/communication/messages/IMessageComposer'; import { NitroEvent } from '../../core/events/NitroEvent'; -import { MysteryBoxKeysEvent } from '../communication'; +import { FigureUpdateEvent, MysteryBoxKeysEvent } from '../communication'; import { INitroCommunicationManager } from '../communication/INitroCommunicationManager'; import { AvailabilityStatusMessageEvent } from '../communication/messages/incoming/availability/AvailabilityStatusMessageEvent'; import { ChangeUserNameResultMessageEvent } from '../communication/messages/incoming/avatar/ChangeUserNameResultMessageEvent'; -import { RoomModelNameEvent } from '../communication/messages/incoming/room/mapping/RoomModelNameEvent'; +import { RoomReadyMessageEvent } from '../communication/messages/incoming/room/mapping/RoomReadyMessageEvent'; import { UserPermissionsEvent } from '../communication/messages/incoming/user/access/UserPermissionsEvent'; -import { UserFigureEvent } from '../communication/messages/incoming/user/data/UserFigureEvent'; import { UserInfoEvent } from '../communication/messages/incoming/user/data/UserInfoEvent'; import { UserNameChangeMessageEvent } from '../communication/messages/incoming/user/data/UserNameChangeMessageEvent'; import { InClientLinkEvent } from '../communication/messages/incoming/user/InClientLinkEvent'; @@ -19,7 +18,7 @@ import { UserRespectComposer } from '../communication/messages/outgoing/user/Use import { NitroSettingsEvent } from '../events/NitroSettingsEvent'; import { Nitro } from '../Nitro'; import { HabboWebTools } from '../utils/HabboWebTools'; -import { BadgeImageManager } from './BadgeImageManager'; +import { BadgeImageManager } from './badge/BadgeImageManager'; import { SecurityLevel } from './enum/SecurityLevel'; import { MysteryBoxKeysUpdateEvent } from './events'; import { SessionDataPreferencesEvent } from './events/SessionDataPreferencesEvent'; @@ -27,6 +26,7 @@ import { UserNameUpdateEvent } from './events/UserNameUpdateEvent'; import { FurnitureDataLoader } from './furniture/FurnitureDataLoader'; import { IFurnitureData } from './furniture/IFurnitureData'; import { IFurnitureDataListener } from './furniture/IFurnitureDataListener'; +import { GroupInformationManager } from './GroupInformationManager'; import { IgnoredUsersManager } from './IgnoredUsersManager'; import { ISessionDataManager } from './ISessionDataManager'; import { IProductData } from './product/IProductData'; @@ -48,6 +48,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana private _canChangeName: boolean; private _ignoredUsersManager: IgnoredUsersManager; + private _groupInformationManager: GroupInformationManager; private _clubLevel: number; private _securityLevel: number; @@ -83,6 +84,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana this.resetUserInfo(); this._ignoredUsersManager = new IgnoredUsersManager(this); + this._groupInformationManager = new GroupInformationManager(this); this._clubLevel = 0; this._securityLevel = 0; @@ -112,6 +114,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana this.onProductDataReadyEvent = this.onProductDataReadyEvent.bind(this); this.onNitroSettingsEvent = this.onNitroSettingsEvent.bind(this); } + groupInformationManager: GroupInformationManager; protected onInit(): void { @@ -120,14 +123,15 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana this.loadBadgeImageManager(); (this._ignoredUsersManager && this._ignoredUsersManager.init()); + (this._groupInformationManager && this._groupInformationManager.init()); - this._communication.registerMessageEvent(new UserFigureEvent(this.onUserFigureEvent.bind(this))); + this._communication.registerMessageEvent(new FigureUpdateEvent(this.onUserFigureEvent.bind(this))); this._communication.registerMessageEvent(new UserInfoEvent(this.onUserInfoEvent.bind(this))); this._communication.registerMessageEvent(new UserPermissionsEvent(this.onUserPermissionsEvent.bind(this))); this._communication.registerMessageEvent(new AvailabilityStatusMessageEvent(this.onAvailabilityStatusMessageEvent.bind(this))); this._communication.registerMessageEvent(new ChangeUserNameResultMessageEvent(this.onChangeNameUpdateEvent.bind(this))); this._communication.registerMessageEvent(new UserNameChangeMessageEvent(this.onUserNameChangeMessageEvent.bind(this))); - this._communication.registerMessageEvent(new RoomModelNameEvent(this.onRoomModelNameEvent.bind(this))); + this._communication.registerMessageEvent(new RoomReadyMessageEvent(this.onRoomModelNameEvent.bind(this))); this._communication.registerMessageEvent(new InClientLinkEvent(this.onInClientLinkEvent.bind(this))); this._communication.registerMessageEvent(new MysteryBoxKeysEvent(this.onMysteryBoxKeysEvent.bind(this))); @@ -145,6 +149,13 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana this._ignoredUsersManager = null; } + if(this._groupInformationManager) + { + this._groupInformationManager.dispose(); + + this._groupInformationManager = null; + } + Nitro.instance.events.removeEventListener(NitroSettingsEvent.SETTINGS_UPDATED, this.onNitroSettingsEvent); super.onDispose(); @@ -186,7 +197,8 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana { if(this._badgeImageManager) return; - this._badgeImageManager = new BadgeImageManager(Nitro.instance.core.asset, this.events); + this._badgeImageManager = new BadgeImageManager(Nitro.instance.core.asset, this); + this._badgeImageManager.init(); } public hasProductData(listener: IProductDataListener): boolean @@ -237,7 +249,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana this._pendingFurnitureListeners.splice(index, 1); } - private onUserFigureEvent(event: UserFigureEvent): void + private onUserFigureEvent(event: FigureUpdateEvent): void { if(!event || !event.connection) return; @@ -323,7 +335,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana this.events.dispatchEvent(new UserNameUpdateEvent(this._name)); } - private onRoomModelNameEvent(event: RoomModelNameEvent): void + private onRoomModelNameEvent(event: RoomReadyMessageEvent): void { if(!event) return; @@ -542,6 +554,11 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana return (this._ignoredUsersManager && this._ignoredUsersManager.isIgnored(name)); } + public getGroupBadge(groupId: number): string + { + return (this._groupInformationManager && this._groupInformationManager.getGroupBadge(groupId)); + } + public send(composer: IMessageComposer): void { this._communication.connection.send(composer); diff --git a/src/nitro/session/badge/BadgeImageManager.ts b/src/nitro/session/badge/BadgeImageManager.ts new file mode 100644 index 00000000..4d9b09c9 --- /dev/null +++ b/src/nitro/session/badge/BadgeImageManager.ts @@ -0,0 +1,284 @@ +import { Resource, Texture } from '@pixi/core'; +import { IAssetManager } from '../../../core/asset/IAssetManager'; +import { IMessageEvent } from '../../../core/communication/messages/IMessageEvent'; +import { NitroSprite } from '../../../core/utils/proxy/NitroSprite'; +import { GroupBadgePartsEvent } from '../../communication/messages/incoming/group/GroupBadgePartsEvent'; +import { Nitro } from '../../Nitro'; +import { BadgeImageReadyEvent } from '../events/BadgeImageReadyEvent'; +import { IDisposable } from './../../../core/common/disposable/IDisposable'; +import { TextureUtils } from './../../../room/utils/TextureUtils'; +import { SessionDataManager } from './../SessionDataManager'; +import { BadgeInfo } from './BadgeInfo'; +import { GroupBadge } from './GroupBadge'; +import { GroupBadgePart } from './GroupBadgePart'; + +export class BadgeImageManager implements IDisposable +{ + public static GROUP_BADGE: string = 'group_badge'; + public static NORMAL_BADGE: string = 'normal_badge'; + + private _assets: IAssetManager; + private _sessionDataManager: SessionDataManager; + private _messages: IMessageEvent[]; + + private _groupBases: Map; + private _groupSymbols: Map; + private _groupPartColors: Map; + + private _requestedBadges: Map; + private _groupBadgesQueue: Map; + + private _readyToGenerateGroupBadges: boolean; + + constructor(assetManager: IAssetManager, sessionDataManager: SessionDataManager) + { + this._assets = assetManager; + this._sessionDataManager = sessionDataManager; + + this._groupBases = new Map(); + this._groupSymbols = new Map(); + this._groupPartColors = new Map(); + + this._requestedBadges = new Map(); + this._groupBadgesQueue = new Map(); + + this._readyToGenerateGroupBadges = false; + } + + public init(): void + { + if(this._sessionDataManager && this._sessionDataManager.communication) + { + this._messages = [ + new GroupBadgePartsEvent(this.onGroupBadgePartsEvent.bind(this)) + ]; + + for(const message of this._messages) this._sessionDataManager.communication.registerMessageEvent(message); + + //this._sessionDataManager.send(new GroupBadgePartsComposer()); + } + } + + public dispose(): void + { + if(this._messages && this._messages.length) + { + for(const message of this._messages) this._sessionDataManager.communication.removeMessageEvent(message); + + this._messages = null; + } + + this._sessionDataManager = null; + } + + public getBadgeImage(badgeName: string, type: string = BadgeImageManager.NORMAL_BADGE, load: boolean = true): Texture + { + let badge = this.getBadgeTexture(badgeName, type); + + if(!badge && load) badge = this.getBadgePlaceholder(); + + return badge; + } + + public getBadgeInfo(k: string): BadgeInfo + { + const badge = this.getBadgeTexture(k); + + return (badge) ? new BadgeInfo(badge, false) : new BadgeInfo(this.getBadgePlaceholder(), true); + } + + public loadBadgeImage(badgeName: string, type: string = BadgeImageManager.NORMAL_BADGE): string + { + if(this._assets.getTexture(this.getBadgeUrl(badgeName, type))) return badgeName; + + this.getBadgeTexture(badgeName, type); + + return null; + } + + private getBadgeTexture(badgeName: string, type: string = BadgeImageManager.NORMAL_BADGE): Texture + { + const url = this.getBadgeUrl(badgeName, type); + + const existing = this._assets.getTexture(url); + + if(existing) return existing.clone(); + + if(this._requestedBadges.get(badgeName)) return null; + + if(url) + { + this._requestedBadges.set(badgeName, true); + + if(type === BadgeImageManager.NORMAL_BADGE) + { + this._assets.downloadAsset(url, (flag: boolean) => + { + if(flag) + { + this._requestedBadges.delete(badgeName); + + const texture = this._assets.getTexture(url); + + if(texture && this._sessionDataManager) this._sessionDataManager.events.dispatchEvent(new BadgeImageReadyEvent(badgeName, texture.clone())); + } + }); + } + else + { + if(!this._readyToGenerateGroupBadges) + { + if(!this._groupBadgesQueue.get(badgeName)) this._groupBadgesQueue.set(badgeName, true); + } + else + { + this.loadGroupBadge(badgeName); + } + } + } + + return null; + } + + private getBadgePlaceholder(): Texture + { + const url = (Nitro.instance.getConfiguration('images.url') + '/loading_icon.png'); + const existing = this._assets.getTexture(url); + + if(!existing) return null; + + return existing.clone(); + } + + public getBadgeUrl(badge: string, type: string = BadgeImageManager.NORMAL_BADGE): string + { + let url = null; + + switch(type) + { + case BadgeImageManager.NORMAL_BADGE: + url = (Nitro.instance.getConfiguration('badge.asset.url')).replace('%badgename%', badge); + break; + case BadgeImageManager.GROUP_BADGE: + //url = (Nitro.instance.getConfiguration('badge.asset.group.url')).replace('%badgedata%', badge); + url = badge; + break; + } + + return url; + } + + private loadGroupBadge(badgeCode: string): void + { + const groupBadge = new GroupBadge(badgeCode); + const imagePath = Nitro.instance.getConfiguration('badge.asset.grouparts.url'); + + const urlsToLoad: string[] = []; + + const partMatches = [...badgeCode.matchAll(/[b|s][0-9]{5,6}/g)]; + + for(const partMatch of partMatches) + { + const partCode = partMatch[0]; + const shortMethod = (partCode.length === 6); + + const partType = partCode[0]; + const partId = parseInt(partCode.slice(1, shortMethod ? 3 : 4)); + const partColor = parseInt(partCode.slice(shortMethod ? 3 : 4, shortMethod ? 5 : 6)); + const partPosition = parseInt(partCode.slice(shortMethod ? 5 : 6, shortMethod ? 6 : 7)); + + const part = new GroupBadgePart(partType, partId, partColor, partPosition); + groupBadge.parts.push(part); + + const isBase = (partType === 'b'); + + const requiredAssets = isBase ? this._groupBases.get(partId) : this._groupSymbols.get(partId); + + if(!requiredAssets) continue; + + for(const requiredAsset of requiredAssets) + { + if(requiredAsset.length > 0) + { + const url = imagePath.replace('%part%', requiredAsset); + part.urls.push(url); + + if(!this._assets.getAsset(requiredAsset)) urlsToLoad.push(url); + } + } + } + + if(urlsToLoad.length === 0) return this.renderGroupBadge(groupBadge); + + this._assets.downloadAssets(urlsToLoad, (flag: boolean) => + { + this.renderGroupBadge(groupBadge); + }); + } + + private renderGroupBadge(groupBadge: GroupBadge): void + { + for(const part of groupBadge.parts) + { + let isFirst = true; + for(const partUrl of part.urls) + { + const texture = this._assets.getTexture(partUrl); + + if(!texture) continue; //Generate with what we got + + const pos = part.calculatePosition(texture); + + const sprite = new NitroSprite(texture); + sprite.x = pos.x; + sprite.y = pos.y; + + if(isFirst) sprite.tint = parseInt(this._groupPartColors.get(part.color), 16); + + isFirst = false; + + groupBadge.container.addChild(sprite); + } + } + + this._requestedBadges.delete(groupBadge.code); + this._groupBadgesQueue.delete(groupBadge.code); + + const texture = TextureUtils.generateTexture(groupBadge.container); + this._assets.setTexture(groupBadge.code, texture); + + if(this._sessionDataManager) this._sessionDataManager.events.dispatchEvent(new BadgeImageReadyEvent(groupBadge.code, texture)); + } + + private onGroupBadgePartsEvent(event: GroupBadgePartsEvent): void + { + if(!event) return; + + const data = event.getParser(); + + if(!data) return; + + data.bases.forEach( (names, id) => + { + this._groupBases.set(id, names.map( val => val.replace('.png', '').replace('.gif', ''))); + }); + + data.symbols.forEach( (names, id) => + { + this._groupSymbols.set(id, names.map( val => val.replace('.png', '').replace('.gif', ''))); + }); + + this._groupPartColors = data.partColors; + this._readyToGenerateGroupBadges = true; + + this._groupBadgesQueue.forEach((_, badgeCode) => + { + this.loadGroupBadge(badgeCode); + }); + } + + public get disposed(): boolean + { + return !!this._sessionDataManager; + } +} diff --git a/src/nitro/session/BadgeInfo.ts b/src/nitro/session/badge/BadgeInfo.ts similarity index 100% rename from src/nitro/session/BadgeInfo.ts rename to src/nitro/session/badge/BadgeInfo.ts diff --git a/src/nitro/session/badge/GroupBadge.ts b/src/nitro/session/badge/GroupBadge.ts new file mode 100644 index 00000000..b9064693 --- /dev/null +++ b/src/nitro/session/badge/GroupBadge.ts @@ -0,0 +1,31 @@ +import { NitroContainer } from '../../..'; +import { GroupBadgePart } from './GroupBadgePart'; + +export class GroupBadge +{ + private _code: string; + private _parts: GroupBadgePart[]; + private _container: NitroContainer; + + constructor(code: string) + { + this._code = code; + this._parts = []; + this._container = new NitroContainer(); + } + + public get code(): string + { + return this._code; + } + + public get parts(): GroupBadgePart[] + { + return this._parts; + } + + public get container(): NitroContainer + { + return this._container; + } +} diff --git a/src/nitro/session/badge/GroupBadgePart.ts b/src/nitro/session/badge/GroupBadgePart.ts new file mode 100644 index 00000000..4b545d90 --- /dev/null +++ b/src/nitro/session/badge/GroupBadgePart.ts @@ -0,0 +1,69 @@ +import { NitroPoint, NitroTexture } from '../../..'; + +export class GroupBadgePart +{ + public static BASE: string = 'b'; + public static SYMBOL: string = 's'; + public static SYMBOL_ALT: string = 't'; + + public static BASE_PART: number = 0; + public static LAYER_PART: number = 1; + public static IMAGE_WIDTH: number = 39; + public static IMAGE_HEIGHT: number = 39; + public static CELL_WIDTH: number = 13; + public static CELL_HEIGHT: number = 13; + + public type: string; + public key: number; + public color: number; + public position: number; + public urls: string[]; + + constructor(type: string, key?: number, color?: number, position?: number) + { + this.type = type; + this.key = key ? key : 0; + this.color = color ? color : 0; + this.position = position ? position : 4; + this.urls = []; + } + + public get code(): string + { + if(this.key === 0) return null; + + return GroupBadgePart.getCode(this.type, this.key, this.color, this.position); + } + + public static getCode(type: string, key: number, color: number, position: number): string + { + return (type === GroupBadgePart.BASE ? type : key >= 100 ? GroupBadgePart.SYMBOL_ALT : GroupBadgePart.SYMBOL) + (key < 10 ? '0' : '') + (type === GroupBadgePart.BASE ? key : key >= 100 ? key - 100 : key) + (color < 10 ? '0' : '') + color + position; + } + + public calculatePosition(asset: NitroTexture) : NitroPoint + { + const gridPos = this.calculateGridPos(this.position); + + let x: number = (((GroupBadgePart.CELL_WIDTH * gridPos.x) + (GroupBadgePart.CELL_WIDTH / 2)) - (asset.width / 2)); + let y: number = (((GroupBadgePart.CELL_HEIGHT * gridPos.y) + (GroupBadgePart.CELL_HEIGHT / 2)) - (asset.height / 2)); + + if(x < 0) x = 0; + + if((x + asset.width) > GroupBadgePart.IMAGE_WIDTH) x = (GroupBadgePart.IMAGE_WIDTH - asset.width); + + if(y < 0) y = 0; + + if((y + asset.height) > GroupBadgePart.IMAGE_HEIGHT) y = (GroupBadgePart.IMAGE_HEIGHT - asset.height); + + return new NitroPoint(Math.floor(x), Math.floor(y)); + } + + private calculateGridPos(gridVal: number): NitroPoint + { + const point = new NitroPoint(); + point.x = Math.floor((gridVal % 3)); + point.y = Math.floor((gridVal / 3)); + + return point; + } +} diff --git a/src/nitro/session/badge/index.ts b/src/nitro/session/badge/index.ts new file mode 100644 index 00000000..dd81f9cf --- /dev/null +++ b/src/nitro/session/badge/index.ts @@ -0,0 +1,4 @@ +export * from './BadgeImageManager'; +export * from './BadgeInfo'; +export * from './GroupBadge'; +export * from './GroupBadgePart'; diff --git a/src/nitro/session/events/RoomSessionDimmerPresetsEvent.ts b/src/nitro/session/events/RoomSessionDimmerPresetsEvent.ts index dc6ccf9f..a17c83f3 100644 --- a/src/nitro/session/events/RoomSessionDimmerPresetsEvent.ts +++ b/src/nitro/session/events/RoomSessionDimmerPresetsEvent.ts @@ -9,13 +9,25 @@ export class RoomSessionDimmerPresetsEvent extends RoomSessionEvent private _selectedPresetId: number = 0; private _presets: RoomSessionDimmerPresetsEventPresetItem[]; - constructor(k: string, _arg_2: IRoomSession) + constructor(type: string, session: IRoomSession) { - super(k, _arg_2); + super(type, session); this._presets = []; } + public storePreset(id: number, type: number, color: number, brightness: number): void + { + this._presets[(id - 1)] = new RoomSessionDimmerPresetsEventPresetItem(id, type, color, brightness); + } + + public getPreset(id: number): RoomSessionDimmerPresetsEventPresetItem + { + if((id < 0) || (id >= this._presets.length)) return null; + + return this._presets[id]; + } + public get presetCount(): number { return this._presets.length; @@ -26,23 +38,8 @@ export class RoomSessionDimmerPresetsEvent extends RoomSessionEvent return this._selectedPresetId; } - public set selectedPresetId(k: number) + public set selectedPresetId(id: number) { - this._selectedPresetId = k; - } - - public storePreset(k: number, _arg_2: number, _arg_3: number, _arg_4: number): void - { - const _local_5:RoomSessionDimmerPresetsEventPresetItem = new RoomSessionDimmerPresetsEventPresetItem(k, _arg_2, _arg_3, _arg_4); - this._presets[(k - 1)] = _local_5; - } - - public getPreset(k: number):RoomSessionDimmerPresetsEventPresetItem - { - if(((k < 0) || (k >= this._presets.length))) - { - return null; - } - return this._presets[k]; + this._selectedPresetId = id; } } diff --git a/src/nitro/session/events/RoomSessionDimmerPresetsEventPresetItem.ts b/src/nitro/session/events/RoomSessionDimmerPresetsEventPresetItem.ts index 8bccc4c3..9a05be0c 100644 --- a/src/nitro/session/events/RoomSessionDimmerPresetsEventPresetItem.ts +++ b/src/nitro/session/events/RoomSessionDimmerPresetsEventPresetItem.ts @@ -3,14 +3,14 @@ private _id: number; private _type: number; private _color: number; - private _light: number; + private _brightness: number; - constructor(k: number, _arg_2: number, _arg_3: number, _arg_4: number) + constructor(id: number, type: number, color: number, brightness: number) { - this._id = k; - this._type = _arg_2; - this._color = _arg_3; - this._light = _arg_4; + this._id = id; + this._type = type; + this._color = color; + this._brightness = brightness; } public get id(): number @@ -28,8 +28,8 @@ return this._color; } - public get light(): number + public get brightness(): number { - return this._light; + return this._brightness; } } diff --git a/src/nitro/session/events/RoomSessionPollEvent.ts b/src/nitro/session/events/RoomSessionPollEvent.ts index 5f9dff0d..2dd84d36 100644 --- a/src/nitro/session/events/RoomSessionPollEvent.ts +++ b/src/nitro/session/events/RoomSessionPollEvent.ts @@ -1,4 +1,5 @@ -import { IRoomSession } from '../IRoomSession'; +import { PollQuestion } from '../../communication/messages/parser/poll/PollQuestion'; +import { IRoomSession } from '../IRoomSession'; import { RoomSessionEvent } from './RoomSessionEvent'; @@ -14,7 +15,7 @@ export class RoomSessionPollEvent extends RoomSessionEvent private _numQuestions: number = 0; private _startMessage: string = ''; private _endMessage: string = ''; - private _questionArray: string[] = null; + private _questionArray: PollQuestion[] = null; private _npsPoll: boolean = false; constructor(k: string, _arg_2: IRoomSession, _arg_3: number) @@ -79,12 +80,12 @@ export class RoomSessionPollEvent extends RoomSessionEvent this._endMessage = k; } - public get questionArray(): string[] + public get questionArray(): PollQuestion[] { return this._questionArray; } - public set questionArray(k: string[]) + public set questionArray(k: PollQuestion[]) { this._questionArray = k; } diff --git a/src/nitro/session/events/RoomSessionWordQuizEvent.ts b/src/nitro/session/events/RoomSessionWordQuizEvent.ts index b287188e..9498cb1b 100644 --- a/src/nitro/session/events/RoomSessionWordQuizEvent.ts +++ b/src/nitro/session/events/RoomSessionWordQuizEvent.ts @@ -1,4 +1,5 @@ -import { IRoomSession } from '../IRoomSession'; +import { IQuestion } from '../../communication/messages/parser/poll/QuestionParser'; +import { IRoomSession } from '../IRoomSession'; import { RoomSessionEvent } from './RoomSessionEvent'; export class RoomSessionWordQuizEvent extends RoomSessionEvent @@ -12,7 +13,7 @@ export class RoomSessionWordQuizEvent extends RoomSessionEvent private _pollId: number = -1; private _questionId: number = -1; private _duration: number = -1; - private _question: string[] = null; + private _question: IQuestion = null; private _userId: number = -1; private _value: string; private _answerCounts: Map; @@ -69,12 +70,12 @@ export class RoomSessionWordQuizEvent extends RoomSessionEvent this._duration = k; } - public get question(): string[] + public get question(): IQuestion { return this._question; } - public set question(k: string[]) + public set question(k: IQuestion) { this._question = k; } diff --git a/src/nitro/session/handler/PollHandler.ts b/src/nitro/session/handler/PollHandler.ts new file mode 100644 index 00000000..bc83b052 --- /dev/null +++ b/src/nitro/session/handler/PollHandler.ts @@ -0,0 +1,81 @@ +import { IConnection } from '../../../core/communication/connections/IConnection'; +import { PollContentsEvent } from '../../communication/messages/incoming/poll/PollContentsEvent'; +import { PollErrorEvent } from '../../communication/messages/incoming/poll/PollErrorEvent'; +import { PollOfferEvent } from '../../communication/messages/incoming/poll/PollOfferEvent'; +import { RoomSessionPollEvent } from '../events/RoomSessionPollEvent'; +import { IRoomHandlerListener } from '../IRoomHandlerListener'; +import { BaseHandler } from './BaseHandler'; + +export class PollHandler extends BaseHandler +{ + constructor(connection: IConnection, listener: IRoomHandlerListener) + { + super(connection, listener); + + connection.addMessageEvent(new PollContentsEvent(this.onPollContentsEvent.bind(this))); + connection.addMessageEvent(new PollOfferEvent(this.onPollOfferEvent.bind(this))); + connection.addMessageEvent(new PollErrorEvent(this.onPollErrorEvent.bind(this))); + } + + private onPollContentsEvent(event: PollContentsEvent): void + { + if(!this.listener) return; + + const session = this.listener.getSession(this.roomId); + + if(!session) return; + + const parser = event.getParser(); + + if(!parser) return; + + const pollEvent = new RoomSessionPollEvent(RoomSessionPollEvent.CONTENT, session, parser.id); + + pollEvent.startMessage = parser.startMessage; + pollEvent.endMessage = parser.endMessage; + pollEvent.numQuestions = parser.numQuestions; + pollEvent.questionArray = parser.questionArray; + pollEvent.npsPoll = parser.npsPoll; + + this.listener.events.dispatchEvent(pollEvent); + } + + private onPollOfferEvent(event: PollOfferEvent): void + { + if(!this.listener) return; + + const session = this.listener.getSession(this.roomId); + + if(!session) return; + + const parser = event.getParser(); + + if(!parser) return; + + const pollEvent = new RoomSessionPollEvent(RoomSessionPollEvent.OFFER, session, parser.id); + + pollEvent.summary = parser.headline; + pollEvent.summary = parser.summary; + + this.listener.events.dispatchEvent(pollEvent); + } + + private onPollErrorEvent(event: PollErrorEvent): void + { + if(!this.listener) return; + + const session = this.listener.getSession(this.roomId); + + if(!session) return; + + const parser = event.getParser(); + + if(!parser) return; + + const pollEvent = new RoomSessionPollEvent(RoomSessionPollEvent.ERROR, session, -1); + pollEvent.headline = '???'; + pollEvent.summary = '???'; + + this.listener.events.dispatchEvent(pollEvent); + } +} diff --git a/src/nitro/session/handler/RoomChatHandler.ts b/src/nitro/session/handler/RoomChatHandler.ts index 14e428a7..a491f728 100644 --- a/src/nitro/session/handler/RoomChatHandler.ts +++ b/src/nitro/session/handler/RoomChatHandler.ts @@ -1,11 +1,11 @@ import { IConnection } from '../../../core/communication/connections/IConnection'; -import { RespectReceivedEvent } from '../../communication/messages/incoming/notifications/RespectReceivedEvent'; import { FloodControlEvent } from '../../communication/messages/incoming/room/unit/chat/FloodControlEvent'; import { RemainingMuteEvent } from '../../communication/messages/incoming/room/unit/chat/RemainingMuteEvent'; import { RoomUnitChatEvent } from '../../communication/messages/incoming/room/unit/chat/RoomUnitChatEvent'; import { RoomUnitChatShoutEvent } from '../../communication/messages/incoming/room/unit/chat/RoomUnitChatShoutEvent'; import { RoomUnitChatWhisperEvent } from '../../communication/messages/incoming/room/unit/chat/RoomUnitChatWhisperEvent'; import { RoomUnitHandItemReceivedEvent } from '../../communication/messages/incoming/room/unit/RoomUnitHandItemReceivedEvent'; +import { RespectReceivedEvent } from '../../communication/messages/incoming/user/RespectReceivedEvent'; import { SystemChatStyleEnum } from '../../ui/widget/enums/SystemChatStyleEnum'; import { RoomSessionChatEvent } from '../events/RoomSessionChatEvent'; import { IRoomHandlerListener } from '../IRoomHandlerListener'; diff --git a/src/nitro/session/handler/RoomDataHandler.ts b/src/nitro/session/handler/RoomDataHandler.ts index d96e6be8..66773f0d 100644 --- a/src/nitro/session/handler/RoomDataHandler.ts +++ b/src/nitro/session/handler/RoomDataHandler.ts @@ -1,5 +1,5 @@ import { IConnection } from '../../../core/communication/connections/IConnection'; -import { RoomInfoEvent } from '../../communication/messages/incoming/room/data/RoomInfoEvent'; +import { GetGuestRoomResultEvent } from '../../communication/messages/incoming/room/data/GetGuestRoomResultEvent'; import { RoomSessionEvent } from '../events/RoomSessionEvent'; import { RoomSessionPropertyUpdateEvent } from '../events/RoomSessionPropertyUpdateEvent'; import { IRoomHandlerListener } from '../IRoomHandlerListener'; @@ -11,12 +11,12 @@ export class RoomDataHandler extends BaseHandler { super(connection, listener); - connection.addMessageEvent(new RoomInfoEvent(this.onRoomInfoEvent.bind(this))); + connection.addMessageEvent(new GetGuestRoomResultEvent(this.onGetGuestRoomResultEvent.bind(this))); } - private onRoomInfoEvent(event: RoomInfoEvent): void + private onGetGuestRoomResultEvent(event: GetGuestRoomResultEvent): void { - if(!(event instanceof RoomInfoEvent)) return; + if(!(event instanceof GetGuestRoomResultEvent)) return; const parser = event.getParser(); @@ -39,4 +39,4 @@ export class RoomDataHandler extends BaseHandler this.listener.events.dispatchEvent(new RoomSessionPropertyUpdateEvent(RoomSessionPropertyUpdateEvent.RSDUE_ALLOW_PETS, roomSession)); this.listener.events.dispatchEvent(new RoomSessionEvent(RoomSessionEvent.ROOM_DATA, roomSession)); } -} \ No newline at end of file +} diff --git a/src/nitro/session/handler/RoomDimmerPresetsHandler.ts b/src/nitro/session/handler/RoomDimmerPresetsHandler.ts index 3a087bdf..a89e6896 100644 --- a/src/nitro/session/handler/RoomDimmerPresetsHandler.ts +++ b/src/nitro/session/handler/RoomDimmerPresetsHandler.ts @@ -13,11 +13,11 @@ export class RoomDimmerPresetsHandler extends BaseHandler connection.addMessageEvent(new RoomDimmerPresetsEvent(this.onRoomDimmerPresets.bind(this))); } - private onRoomDimmerPresets(k: RoomDimmerPresetsEvent): void + private onRoomDimmerPresets(event: RoomDimmerPresetsEvent): void { - if(!k) return; + if(!event) return; - const parser = k.getParser(); + const parser = event.getParser(); if(!parser) return; @@ -25,9 +25,9 @@ export class RoomDimmerPresetsHandler extends BaseHandler if(!session) return; - const event = new RoomSessionDimmerPresetsEvent(RoomSessionDimmerPresetsEvent.ROOM_DIMMER_PRESETS, session); + const presetEvent = new RoomSessionDimmerPresetsEvent(RoomSessionDimmerPresetsEvent.ROOM_DIMMER_PRESETS, session); - event.selectedPresetId = parser.selectedPresetId; + presetEvent.selectedPresetId = parser.selectedPresetId; let i = 0; @@ -35,14 +35,11 @@ export class RoomDimmerPresetsHandler extends BaseHandler { const preset = parser.getPreset(i); - if(preset) - { - event.storePreset(preset.id, preset.type, preset.color, preset.intensity); - } + if(preset) presetEvent.storePreset(preset.id, preset.type, preset.color, preset.brightness); i++; } - this.listener && this.listener.events.dispatchEvent(event); + this.listener && this.listener.events.dispatchEvent(presetEvent); } } diff --git a/src/nitro/session/handler/RoomSessionHandler.ts b/src/nitro/session/handler/RoomSessionHandler.ts index d837cf19..e5198523 100644 --- a/src/nitro/session/handler/RoomSessionHandler.ts +++ b/src/nitro/session/handler/RoomSessionHandler.ts @@ -3,7 +3,8 @@ import { DesktopViewEvent } from '../../communication/messages/incoming/desktop/ import { RoomDoorbellAcceptedEvent } from '../../communication/messages/incoming/room/access/doorbell/RoomDoorbellAcceptedEvent'; import { RoomDoorbellRejectedEvent } from '../../communication/messages/incoming/room/access/doorbell/RoomDoorbellRejectedEvent'; import { RoomEnterEvent } from '../../communication/messages/incoming/room/access/RoomEnterEvent'; -import { RoomModelNameEvent } from '../../communication/messages/incoming/room/mapping/RoomModelNameEvent'; +import { RoomReadyMessageEvent } from '../../communication/messages/incoming/room/mapping/RoomReadyMessageEvent'; +import { GoToFlatMessageComposer } from '../../communication/messages/outgoing/room/session/GoToFlatMessageComposer'; import { RoomSessionDoorbellEvent } from '../events/RoomSessionDoorbellEvent'; import { IRoomHandlerListener } from '../IRoomHandlerListener'; import { BaseHandler } from './BaseHandler'; @@ -19,7 +20,7 @@ export class RoomSessionHandler extends BaseHandler super(connection, listener); connection.addMessageEvent(new RoomEnterEvent(this.onRoomEnterEvent.bind(this))); - connection.addMessageEvent(new RoomModelNameEvent(this.onRoomModelNameEvent.bind(this))); + connection.addMessageEvent(new RoomReadyMessageEvent(this.onRoomReadyMessageEvent.bind(this))); connection.addMessageEvent(new DesktopViewEvent(this.onDesktopViewEvent.bind(this))); connection.addMessageEvent(new RoomDoorbellAcceptedEvent(this.onRoomDoorbellAcceptedEvent.bind(this))); connection.addMessageEvent(new RoomDoorbellRejectedEvent(this.onRoomDoorbellRejectedEvent.bind(this))); @@ -32,9 +33,9 @@ export class RoomSessionHandler extends BaseHandler if(this.listener) this.listener.sessionUpdate(this.roomId, RoomSessionHandler.RS_CONNECTED); } - private onRoomModelNameEvent(event: RoomModelNameEvent): void + private onRoomReadyMessageEvent(event: RoomReadyMessageEvent): void { - if(!(event instanceof RoomModelNameEvent)) return; + if(!(event instanceof RoomReadyMessageEvent)) return; const fromRoomId = this.roomId; const toRoomId = event.getParser().roomId; @@ -65,7 +66,7 @@ export class RoomSessionHandler extends BaseHandler if(!username || !username.length) { - //this.connection.send(); + this.connection.send(new GoToFlatMessageComposer(this.roomId)); } else { @@ -106,4 +107,4 @@ export class RoomSessionHandler extends BaseHandler } } } -} \ No newline at end of file +} diff --git a/src/nitro/session/handler/WordQuizHandler.ts b/src/nitro/session/handler/WordQuizHandler.ts new file mode 100644 index 00000000..57a1544e --- /dev/null +++ b/src/nitro/session/handler/WordQuizHandler.ts @@ -0,0 +1,82 @@ +import { IConnection } from '../../../core/communication/connections/IConnection'; +import { QuestionAnsweredEvent } from '../../communication/messages/incoming/poll/QuestionAnsweredEvent'; +import { QuestionEvent } from '../../communication/messages/incoming/poll/QuestionEvent'; +import { QuestionFinishedEvent } from '../../communication/messages/incoming/poll/QuestionFinishedEvent'; +import { RoomSessionWordQuizEvent } from '../events/RoomSessionWordQuizEvent'; +import { IRoomHandlerListener } from '../IRoomHandlerListener'; +import { BaseHandler } from './BaseHandler'; + +export class WordQuizHandler extends BaseHandler +{ + constructor(connection: IConnection, listener: IRoomHandlerListener) + { + super(connection, listener); + + connection.addMessageEvent(new QuestionEvent(this.onQuestionEvent.bind(this))); + connection.addMessageEvent(new QuestionAnsweredEvent(this.onQuestionAnsweredEvent.bind(this))); + connection.addMessageEvent(new QuestionFinishedEvent(this.onQuestionFinishedEvent.bind(this))); + } + + private onQuestionEvent(event: QuestionEvent): void + { + if(!this.listener) return; + + const session = this.listener.getSession(this.roomId); + + if(!session) return; + + const parser = event.getParser(); + + if(!parser) return; + + const quizEvent = new RoomSessionWordQuizEvent(RoomSessionWordQuizEvent.QUESTION, session, parser.pollId); + + quizEvent.question = parser.question; + quizEvent.duration = parser.duration; + quizEvent.pollType = parser.pollType; + quizEvent.questionId = parser.questionId; + quizEvent.pollId = parser.pollId; + + this.listener.events.dispatchEvent(quizEvent); + } + + private onQuestionAnsweredEvent(event: QuestionAnsweredEvent): void + { + if(!this.listener) return; + + const session = this.listener.getSession(this.roomId); + + if(!session) return; + + const parser = event.getParser(); + + if(!parser) return; + + const quizEvent = new RoomSessionWordQuizEvent(RoomSessionWordQuizEvent.ANSWERED, session, parser.userId); + + quizEvent.value = parser.value; + quizEvent.userId = parser.userId; + quizEvent.answerCounts = parser.answerCounts; + + this.listener.events.dispatchEvent(quizEvent); + } + + private onQuestionFinishedEvent(event: QuestionFinishedEvent): void + { + if(!this.listener) return; + + const session = this.listener.getSession(this.roomId); + + if(!session) return; + + const parser = event.getParser(); + + if(!parser) return; + + const quizEvent = new RoomSessionWordQuizEvent(RoomSessionWordQuizEvent.FINISHED, session); + quizEvent.questionId = parser.questionId; + quizEvent.answerCounts = parser.answerCounts; + + this.listener.events.dispatchEvent(quizEvent); + } +} diff --git a/src/nitro/session/index.ts b/src/nitro/session/index.ts index e04ba2f2..670d2cce 100644 --- a/src/nitro/session/index.ts +++ b/src/nitro/session/index.ts @@ -1,5 +1,4 @@ -export * from './BadgeImageManager'; -export * from './BadgeInfo'; +export * from './badge'; export * from './enum'; export * from './events'; export * from './furniture'; diff --git a/src/nitro/sound/SoundManager.ts b/src/nitro/sound/SoundManager.ts index fead605d..d0107eb9 100644 --- a/src/nitro/sound/SoundManager.ts +++ b/src/nitro/sound/SoundManager.ts @@ -56,9 +56,9 @@ export class SoundManager extends NitroManager const volumeFurniUpdated = castedEvent.volumeFurni !== this._volumeFurni; - this._volumeSystem = castedEvent.volumeSystem; - this._volumeFurni = castedEvent.volumeFurni; - this._volumeTrax = castedEvent.volumeTrax; + this._volumeSystem = (castedEvent.volumeSystem / 100); + this._volumeFurni = (castedEvent.volumeFurni / 100); + this._volumeTrax = (castedEvent.volumeTrax / 100); if(volumeFurniUpdated) this.updateFurniSamplesVolume(this._volumeFurni); return; diff --git a/src/nitro/ui/MouseEventType.ts b/src/nitro/ui/MouseEventType.ts index f7b0892e..c2bf6114 100644 --- a/src/nitro/ui/MouseEventType.ts +++ b/src/nitro/ui/MouseEventType.ts @@ -8,4 +8,5 @@ export class MouseEventType public static MOUSE_UP: string = 'mouseup'; public static ROLL_OVER: string = 'mouseover'; public static ROLL_OUT: string = 'mouseout'; + public static RIGHT_CLICK: string = 'contextmenu'; } diff --git a/src/room/floorplan/index.ts b/src/room/floorplan/index.ts deleted file mode 100644 index f4352cef..00000000 --- a/src/room/floorplan/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './pixi-tilemap'; diff --git a/src/room/floorplan/pixi-tilemap/CanvasTileRenderer.ts b/src/room/floorplan/pixi-tilemap/CanvasTileRenderer.ts deleted file mode 100644 index 8d490134..00000000 --- a/src/room/floorplan/pixi-tilemap/CanvasTileRenderer.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { CanvasRenderer } from '@pixi/canvas-renderer'; -import { IRendererPlugin } from '@pixi/core'; - -export class CanvasTileRenderer implements IRendererPlugin -{ - renderer: CanvasRenderer; - tileAnim = [0, 0]; - dontUseTransform = false; - - constructor(renderer: CanvasRenderer, options: any = null) - { - this.renderer = renderer; - this.tileAnim = [0, 0]; - } - - public destroy(): void - { - - } -} - -CanvasRenderer.registerPlugin('tilemap', CanvasTileRenderer); diff --git a/src/room/floorplan/pixi-tilemap/CompositeRectTileLayer.ts b/src/room/floorplan/pixi-tilemap/CompositeRectTileLayer.ts deleted file mode 100644 index 60cab12c..00000000 --- a/src/room/floorplan/pixi-tilemap/CompositeRectTileLayer.ts +++ /dev/null @@ -1,287 +0,0 @@ -import { Renderer, Resource, Texture } from '@pixi/core'; -import { Container } from '@pixi/display'; -import { Matrix } from '@pixi/math'; -import { Constant } from './Constant'; -import { RectTileLayer } from './RectTileLayer'; - -export class CompositeRectTileLayer extends Container -{ - constructor(zIndex?: number, bitmaps?: Texture[], texPerChild?: number, alpha?: number) - { - super(); - // eslint-disable-next-line prefer-spread,prefer-rest-params - this.initialize.apply(this, arguments); - } - - z: number; - modificationMarker = 0; - shadowColor = new Float32Array([0.0, 0.0, 0.0, 0.5]); - _globalMat: Matrix = null; - _lastLayer: RectTileLayer = null; - - texPerChild: number; - - initialize(zIndex?: number, bitmaps?: Array, texPerChild?: number, alpha?: number) - { - if(texPerChild as any === true) - { - //old format, ignore it! - texPerChild = 0; - } - this.z = this.zIndex = zIndex; - this.alpha = alpha ?? 1.0; - this.texPerChild = texPerChild || Constant.boundCountPerBuffer * Constant.maxTextures; - if(bitmaps) - { - this.setBitmaps(bitmaps); - } - } - - setBitmaps(bitmaps: Array) - { - for(let i=0;i 5.2.1, it does not exist there.'); - } - } - const texPerChild = this.texPerChild; - const len1 = this.children.length; - const len2 = Math.ceil(bitmaps.length / texPerChild); - let i: number; - for(i = 0; i < len1; i++) - { - (this.children[i] as RectTileLayer).textures = bitmaps.slice(i * texPerChild, (i + 1) * texPerChild); - } - for(i = len1; i < len2; i++) - { - const layer = new RectTileLayer(this.zIndex, bitmaps.slice(i * texPerChild, (i + 1) * texPerChild)); - layer.compositeParent = true; - layer.offsetX = Constant.boundSize; - layer.offsetY = Constant.boundSize; - this.addChild(layer); - } - } - - clear() - { - for(let i = 0; i < this.children.length; i++) - { - (this.children[i] as RectTileLayer).clear(); - } - this.modificationMarker = 0; - } - - addRect(textureIndex: number, u: number, v: number, x: number, y: number, tileWidth: number, tileHeight: number, animX?: number, animY?: number, rotate?: number, animWidth?: number, animHeight?: number, alpha?: number): this - { - const childIndex: number = textureIndex / this.texPerChild >> 0; - const textureId: number = textureIndex % this.texPerChild; - - if(this.children[childIndex] && (this.children[childIndex] as RectTileLayer).textures) - { - this._lastLayer = (this.children[childIndex] as RectTileLayer); - const tileAlpha = this.worldAlpha * (alpha ?? 1.0); - this._lastLayer.addRect(textureId, u, v, x, y, tileWidth, tileHeight, animX, animY, rotate, animWidth, animHeight, tileAlpha); - } - else - { - this._lastLayer = null; - } - - return this; - } - - tileRotate(rotate: number): this - { - if(this._lastLayer) - { - this._lastLayer.tileRotate(rotate); - } - return this; - } - - tileAnimX(offset: number, count: number): this - { - if(this._lastLayer) - { - this._lastLayer.tileAnimX(offset, count); - } - return this; - } - - tileAnimY(offset: number, count: number): this - { - if(this._lastLayer) - { - this._lastLayer.tileAnimY(offset, count); - } - return this; - } - - addFrame(texture_: Texture | string | number, x: number, y: number, animX?: number, animY?: number, animWidth?: number, animHeight?: number, alpha?: number, yaxis?: number, xaxis?: number): this - { - let texture: Texture; - let layer: RectTileLayer = null; - let ind = 0; - const children = this.children; - - this._lastLayer = null; - if(typeof texture_ === 'number') - { - const childIndex = texture_ / this.texPerChild >> 0; - layer = children[childIndex] as RectTileLayer; - - if(!layer) - { - layer = children[0] as RectTileLayer; - if(!layer) - { - return this; - } - ind = 0; - } - else - { - ind = texture_ % this.texPerChild; - } - - texture = layer.textures[ind]; - } - else - { - if(typeof texture_ === 'string') - { - texture = Texture.from(texture_); - } - else - { - texture = texture_ as Texture; - } - - for(let i = 0; i < children.length; i++) - { - const child = children[i] as RectTileLayer; - const tex = child.textures; - for(let j = 0; j < tex.length; j++) - { - if(tex[j].baseTexture === texture.baseTexture) - { - layer = child; - ind = j; - break; - } - } - if(layer) - { - break; - } - } - - if(!layer) - { - for(let i = 0; i < children.length; i++) - { - const child = children[i] as RectTileLayer; - if(child.textures.length < this.texPerChild) - { - layer = child; - ind = child.textures.length; - child.textures.push(texture); - break; - } - } - if(!layer) - { - layer = new RectTileLayer(this.zIndex, texture); - layer.compositeParent = true; - layer.offsetX = Constant.boundSize; - layer.offsetY = Constant.boundSize; - this.addChild(layer); - ind = 0; - } - } - } - - this._lastLayer = layer; - const tileAlpha = this.worldAlpha * (alpha?? 1.0); - layer.addRect(ind, texture.frame.x, texture.frame.y, x, y, texture.orig.width, texture.orig.height, animX, animY, texture.rotate, animWidth, animHeight, tileAlpha, yaxis, xaxis); - return this; - } - - // renderCanvas(renderer: CanvasRenderer) - // { - // if(!this.visible || this.worldAlpha <= 0 || !this.renderable) - // { - // return; - // } - // const plugin = renderer.plugins.tilemap; - // if(!plugin.dontUseTransform) - // { - // const wt = this.worldTransform; - // renderer.context.setTransform( - // wt.a, - // wt.b, - // wt.c, - // wt.d, - // wt.tx * renderer.resolution, - // wt.ty * renderer.resolution - // ); - // } - // const layers = this.children; - // for(let i = 0; i < layers.length; i++) - // { - // (layers[i] as RectTileLayer).renderCanvasCore(renderer); - // } - // } - - render(renderer: Renderer) - { - if(!this.visible || this.worldAlpha <= 0 || !this.renderable) - { - return; - } - const plugin = (renderer.plugins as any)['tilemap']; - const shader = plugin.getShader(); - renderer.batch.setObjectRenderer(plugin); - //TODO: dont create new array, please - this._globalMat = shader.uniforms.projTransMatrix; - renderer.globalUniforms.uniforms.projectionMatrix.copyTo(this._globalMat).append(this.worldTransform); - shader.uniforms.shadowColor = this.shadowColor; - shader.uniforms.animationFrame = plugin.tileAnim; - renderer.shader.bind(shader, false); - const layers = this.children; - for(let i = 0; i < layers.length; i++) - { - (layers[i] as RectTileLayer).renderWebGLCore(renderer, plugin); - } - } - - isModified(anim: boolean) - { - const layers = this.children; - if(this.modificationMarker !== layers.length) - { - return true; - } - for(let i = 0; i < layers.length; i++) - { - if((layers[i] as RectTileLayer).isModified(anim)) - { - return true; - } - } - return false; - } - - clearModify() - { - const layers = this.children; - this.modificationMarker = layers.length; - for(let i = 0; i < layers.length; i++) - { - (layers[i] as RectTileLayer).clearModify(); - } - } -} diff --git a/src/room/floorplan/pixi-tilemap/Constant.ts b/src/room/floorplan/pixi-tilemap/Constant.ts deleted file mode 100644 index 103b2199..00000000 --- a/src/room/floorplan/pixi-tilemap/Constant.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { SCALE_MODES } from '@pixi/constants'; - -export const Constant = { - maxTextures: 16, - bufferSize: 2048, - boundSize: 1024, - boundCountPerBuffer: 1, - use32bitIndex: false, - SCALE_MODE: SCALE_MODES.LINEAR, - DO_CLEAR: true -}; diff --git a/src/room/floorplan/pixi-tilemap/MultiTextureResource.ts b/src/room/floorplan/pixi-tilemap/MultiTextureResource.ts deleted file mode 100644 index 1b14b354..00000000 --- a/src/room/floorplan/pixi-tilemap/MultiTextureResource.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { BaseTexture, GLTexture, IAutoDetectOptions, Renderer, Resource, Texture } from '@pixi/core'; -import { Sprite } from '@pixi/sprite'; -import { NitroSprite } from '../../../core'; - -export interface IMultiTextureOptions { - boundCountPerBuffer: number; - boundSize: number; - bufferSize: number; - DO_CLEAR?: boolean; -} - -export class MultiTextureResource extends Resource -{ - constructor(options: IMultiTextureOptions) - { - super(options.bufferSize, options.bufferSize); - - const bounds = this.boundSprites; - const dirties = this.dirties; - this.boundSize = options.boundSize; - for(let j = 0; j < options.boundCountPerBuffer; j++) - { - const spr = new NitroSprite(); - spr.position.x = options.boundSize * (j & 1); - spr.position.y = options.boundSize * (j >> 1); - bounds.push(spr); - dirties.push(0); - } - this.DO_CLEAR = !!options.DO_CLEAR; - } - - DO_CLEAR = false; - boundSize: number = 0; - _clearBuffer: Uint8Array = null; - - bind(baseTexture: BaseTexture) - { - if(this.baseTex) - { - throw new Error('Only one baseTexture is allowed for this resource!'); - } - this.baseTex = baseTexture; - super.bind(baseTexture); - } - - baseTex: BaseTexture = null; - boundSprites: Array = []; - dirties: Array = []; - - setTexture(ind: number, texture: Texture) - { - const spr = this.boundSprites[ind]; - if(spr.texture.baseTexture === texture.baseTexture) - { - return; - } - spr.texture = texture; - this.baseTex.update(); - this.dirties[ind] = (this.baseTex as any).dirtyId; - } - - // required ??? - public upload(renderer: Renderer, baseTexture: BaseTexture, glTexture: GLTexture): boolean - { - return false; - } - -} diff --git a/src/room/floorplan/pixi-tilemap/RectTileLayer.ts b/src/room/floorplan/pixi-tilemap/RectTileLayer.ts deleted file mode 100644 index 55819bc8..00000000 --- a/src/room/floorplan/pixi-tilemap/RectTileLayer.ts +++ /dev/null @@ -1,494 +0,0 @@ -import { DRAW_MODES } from '@pixi/constants'; -import { Renderer, Resource, Texture } from '@pixi/core'; -import { Bounds, Container } from '@pixi/display'; -import { groupD8, Matrix, Rectangle } from '@pixi/math'; -import { Constant } from './Constant'; -import { RectTileGeom } from './RectTileShader'; -import { TileRenderer } from './TileRenderer'; - -enum PointStruct { - U = 0, - V, - X, - Y, - TileWidth, - TileHeight, - Rotate, - AnimX, - AnimY, - TextureIndex, - AnimCountX, - AnimCountY, - Alpha, - YAxis, - XAxis -} -export const POINT_STRUCT_SIZE_TWO = (Object.keys(PointStruct).length / 2); -//export const POINT_STRUCT_SIZE = 12; -export class RectTileLayer extends Container -{ - constructor(zIndex: number, texture: Texture | Texture[]) - { - super(); - this.initialize(zIndex, texture); - } - - //zIndex = 0; - modificationMarker = 0; - _$_localBounds = new Bounds(); - shadowColor = new Float32Array([0.0, 0.0, 0.0, 0.5]); - _globalMat: Matrix = null; - - pointsBuf: Array = []; - hasAnim = false; - textures: Array; - - offsetX = 0; - offsetY = 0; - compositeParent = false; - - initialize(zIndex: number, textures: Texture | Array) - { - if(!textures) - { - textures = []; - } - else if(!(textures instanceof Array) && (textures as Texture).baseTexture) - { - textures = [textures as Texture]; - } - this.textures = textures as Array; - this.zIndex = zIndex; - // this.visible = false; - } - - clear() - { - this.pointsBuf.length = 0; - this.modificationMarker = 0; - this._$_localBounds.clear(); - this.hasAnim = false; - } - - addFrame(texture_: Texture | string | number, x: number, y: number, animX: number, animY: number) - { - let texture: Texture; - let textureIndex = 0; - - if(typeof texture_ === 'number') - { - textureIndex = texture_; - texture = this.textures[textureIndex]; - } - else - { - if(typeof texture_ === 'string') - { - texture = Texture.from(texture_); - } - else - { - texture = texture_ as Texture; - } - - let found = false; - const textureList = this.textures; - for(let i = 0; i < textureList.length; i++) - { - if(textureList[i].baseTexture === texture.baseTexture) - { - textureIndex = i; - found = true; - break; - } - } - - if(!found) - { - // textureIndex = this.textures.length; - // this.textures.push(texture); - return false; - } - } - - this.addRect(textureIndex, texture.frame.x, texture.frame.y, x, y, texture.orig.width, texture.orig.height, animX, animY, texture.rotate); - return true; - } - - addRect(textureIndex: number, u: number, v: number, x: number, y: number, tileWidth: number, tileHeight: number, - animX: number = 0, animY: number = 0, rotate: number = 0, animCountX: number = 1024, animCountY: number = 1024, alpha: number = 1, yaxis?: number, xaxis?: number): this - { - const pb = this.pointsBuf; - this.hasAnim = this.hasAnim || animX > 0 || animY > 0; - pb.push(u); - pb.push(v); - pb.push(x); - pb.push(y); - pb.push(tileWidth); - pb.push(tileHeight); - pb.push(rotate); - pb.push(animX | 0); - pb.push(animY | 0); - pb.push(textureIndex); - pb.push(animCountX); - pb.push(animCountY); - pb.push(alpha); - pb.push(yaxis); - pb.push(xaxis); - - this._$_localBounds.addFramePad(x, y, x+tileWidth, y+tileHeight, 0, 0); - - return this; - } - - tileRotate(rotate: number) - { - const pb = this.pointsBuf; - pb[pb.length - (POINT_STRUCT_SIZE_TWO - PointStruct.TextureIndex)] = rotate; - } - - tileAnimX(offset: number, count: number) - { - const pb = this.pointsBuf; - - pb[pb.length - (POINT_STRUCT_SIZE_TWO - PointStruct.AnimX)] = offset; - pb[pb.length - (POINT_STRUCT_SIZE_TWO - PointStruct.AnimCountX)] = count; - } - - tileAnimY(offset: number, count: number) - { - const pb = this.pointsBuf; - - pb[pb.length - (POINT_STRUCT_SIZE_TWO - PointStruct.AnimY)] = offset; - pb[pb.length - (POINT_STRUCT_SIZE_TWO - PointStruct.AnimCountY)] = count; - } - - tileAlpha(alpha: number) - { - const pb = this.pointsBuf; - pb[pb.length - (POINT_STRUCT_SIZE_TWO - PointStruct.Alpha)] = alpha; - } - - // renderCanvas(renderer: any) - // { - // const plugin = renderer.plugins.tilemap; - // if(!plugin.dontUseTransform) - // { - // const wt = this.worldTransform; - // renderer.context.setTransform( - // wt.a, - // wt.b, - // wt.c, - // wt.d, - // wt.tx * renderer.resolution, - // wt.ty * renderer.resolution - // ); - // } - // this.renderCanvasCore(renderer); - // } - - renderCanvasCore(renderer: any) - { - if(this.textures.length === 0) return; - const points = this.pointsBuf; - renderer.context.fillStyle = '#000000'; - for(let i = 0, n = points.length; i < n; i += POINT_STRUCT_SIZE_TWO) - { - let x1 = points[i + PointStruct.U], y1 = points[i + PointStruct.V]; - const x2 = points[i + PointStruct.X], y2 = points[i + PointStruct.Y]; - const w = points[i + PointStruct.TileWidth]; - const h = points[i + PointStruct.TileHeight]; - const rotate = points[i + PointStruct.Rotate]; - x1 += points[i + PointStruct.AnimX] * renderer.plugins.tilemap.tileAnim[0]; - y1 += points[i + PointStruct.AnimY] * renderer.plugins.tilemap.tileAnim[1]; - const textureIndex = points[i + PointStruct.TextureIndex]; - const alpha = points[i + PointStruct.Alpha]; - // canvas does not work with rotate yet - if(textureIndex >= 0) - { - renderer.context.globalAlpha = alpha; - renderer.context.drawImage((this.textures[textureIndex].baseTexture as any).getDrawableSource(), x1, y1, w, h, x2, y2, w, h); - } - else - { - renderer.context.globalAlpha = 0.5; - renderer.context.fillRect(x2, y2, w, h); - renderer.context.globalAlpha = 1; - } - renderer.context.globalAlpha = 1; - } - } - - vbId = 0; - vb: RectTileGeom = null; - vbBuffer: ArrayBuffer = null; - vbArray: Float32Array = null; - vbInts: Uint32Array = null; - - destroyVb() - { - if(this.vb) - { - this.vb.destroy(); - this.vb = null; - } - } - - render(renderer: Renderer) - { - const plugin = (renderer.plugins as any)['tilemap']; - const shader = plugin.getShader(); - renderer.batch.setObjectRenderer(plugin); - this._globalMat = shader.uniforms.projTransMatrix; - renderer.globalUniforms.uniforms.projectionMatrix.copyTo(this._globalMat).append(this.worldTransform); - shader.uniforms.shadowColor = this.shadowColor; - shader.uniforms.animationFrame = plugin.tileAnim; - this.renderWebGLCore(renderer, plugin); - } - - renderWebGLCore(renderer: Renderer, plugin: TileRenderer) - { - const points = this.pointsBuf; - if(points.length === 0) return; - const rectsCount = points.length / POINT_STRUCT_SIZE_TWO; - - const shader = plugin.getShader(); - const textures = this.textures; - if(textures.length === 0) return; - - plugin.bindTextures(renderer, shader, textures); - renderer.shader.bind(shader, false); - - //lost context! recover! - let vb = this.vb; - if(!vb) - { - vb = plugin.createVb(); - this.vb = vb; - this.vbId = (vb as any).id; - this.vbBuffer = null; - this.modificationMarker = 0; - } - - plugin.checkIndexBuffer(rectsCount, vb); - const boundCountPerBuffer = Constant.boundCountPerBuffer; - - const vertexBuf = vb.getBuffer('aVertexPosition'); - //if layer was changed, re-upload vertices - const vertices = rectsCount * vb.vertPerQuad; - if(vertices === 0) return; - if(this.modificationMarker !== vertices) - { - this.modificationMarker = vertices; - const vs = vb.stride * vertices; - if(!this.vbBuffer || this.vbBuffer.byteLength < vs) - { - //!@#$ happens, need resize - let bk = vb.stride; - while(bk < vs) - { - bk *= 2; - } - this.vbBuffer = new ArrayBuffer(bk); - this.vbArray = new Float32Array(this.vbBuffer); - this.vbInts = new Uint32Array(this.vbBuffer); - vertexBuf.update(this.vbBuffer); - } - - const arr = this.vbArray, ints = this.vbInts; - //upload vertices! - let sz = 0; - //let tint = 0xffffffff; - let textureId = 0; - let shiftU: number = this.offsetX; - let shiftV: number = this.offsetY; - - //let tint = 0xffffffff; - const tint = -1; - - - for(let i = 0; i < points.length; i += POINT_STRUCT_SIZE_TWO) - { - const eps = 0.5; - if(this.compositeParent) - { - const textureIndex = points[i + PointStruct.TextureIndex]; - if(boundCountPerBuffer > 1) - { - //TODO: what if its more than 4? - textureId = (textureIndex >> 2); - shiftU = this.offsetX * (textureIndex & 1); - shiftV = this.offsetY * ((textureIndex >> 1) & 1); - } - else - { - textureId = textureIndex; - shiftU = 0; - shiftV = 0; - } - } - const x = points[i + PointStruct.X], y = points[i + PointStruct.Y]; - const w = points[i + PointStruct.TileWidth], h = points[i + PointStruct.TileHeight]; - const u = points[i + PointStruct.U] + shiftU, v = points[i + PointStruct.V] + shiftV; - let rotate = points[i + PointStruct.Rotate]; - - const animX = points[i + PointStruct.AnimX], animY = points[i + PointStruct.AnimY]; - const animWidth = points[i + PointStruct.AnimCountX] || 1024, animHeight = points[i + PointStruct.AnimCountY] || 1024; - const animXEncoded = animX + (animWidth * 2048); - const animYEncoded = animY + (animHeight * 2048); - const alpha = points[i + PointStruct.Alpha]; - - let u0: number, v0: number, u1: number, v1: number, u2: number, v2: number, u3: number, v3: number; - if(rotate === 0) - { - u0 = u; - v0 = v; - u1 = u + w; - v1 = v; - u2 = u + w; - v2 = v + h; - u3 = u; - v3 = v + h; - } - else - { - let w2 = w / 2; - let h2 = h / 2; - if(rotate % 4 !== 0) - { - w2 = h / 2; - h2 = w / 2; - } - const cX = u + w2; - const cY = v + h2; - - rotate = groupD8.add(rotate, groupD8.NW); - u0 = cX + (w2 * groupD8.uX(rotate)); - v0 = cY + (h2 * groupD8.uY(rotate)); - - rotate = groupD8.add(rotate, 2); // rotate 90 degrees clockwise - u1 = cX + (w2 * groupD8.uX(rotate)); - v1 = cY + (h2 * groupD8.uY(rotate)); - - rotate = groupD8.add(rotate, 2); - u2 = cX + (w2 * groupD8.uX(rotate)); - v2 = cY + (h2 * groupD8.uY(rotate)); - - rotate = groupD8.add(rotate, 2); - u3 = cX + (w2 * groupD8.uX(rotate)); - v3 = cY + (h2 * groupD8.uY(rotate)); - } - - const test= true; - arr[sz++] = x; - arr[sz++] = y; - arr[sz++] = u0; - arr[sz++] = v0; - arr[sz++] = u + eps; - arr[sz++] = v + eps; - arr[sz++] = u + w - eps; - arr[sz++] = v + h - eps; - arr[sz++] = animXEncoded; - arr[sz++] = animYEncoded; - arr[sz++] = textureId; - - if(test) - { - arr[sz++] = alpha; - } - arr[sz++] = x + w; - arr[sz++] = y; - arr[sz++] = u1; - arr[sz++] = v1; - arr[sz++] = u + eps; - arr[sz++] = v + eps; - arr[sz++] = u + w - eps; - arr[sz++] = v + h - eps; - arr[sz++] = animXEncoded; - arr[sz++] = animYEncoded; - arr[sz++] = textureId; - if(test) - { - arr[sz++] = alpha; - } - - - arr[sz++] = x + w; - arr[sz++] = y + h; - arr[sz++] = u2; - arr[sz++] = v2; - arr[sz++] = u + eps; - arr[sz++] = v + eps; - arr[sz++] = u + w - eps; - arr[sz++] = v + h - eps; - arr[sz++] = animXEncoded; - arr[sz++] = animYEncoded; - arr[sz++] = textureId; - if(test) - { - arr[sz++] = alpha; - } - - arr[sz++] = x; - arr[sz++] = y + h; - arr[sz++] = u3; - arr[sz++] = v3; - arr[sz++] = u + eps; - arr[sz++] = v + eps; - arr[sz++] = u + w - eps; - arr[sz++] = v + h - eps; - arr[sz++] = animXEncoded; - arr[sz++] = animYEncoded; - arr[sz++] = textureId; - if(test) - { - arr[sz++] = alpha; - } - } - - vertexBuf.update(arr); - } - - (renderer.geometry as any).bind(vb, shader); - renderer.geometry.draw(DRAW_MODES.TRIANGLES, rectsCount * 6, 0); - } - - isModified(anim: boolean) - { - if(this.modificationMarker !== this.pointsBuf.length || - anim && this.hasAnim) - { - return true; - } - return false; - } - - clearModify() - { - this.modificationMarker = this.pointsBuf.length; - } - - protected _calculateBounds(): void - { - const { minX, minY, maxX, maxY } = this._$_localBounds; - - this._bounds.addFrame(this.transform, minX, minY, maxX, maxY); - } - - public getLocalBounds(rect?: Rectangle): Rectangle - { - // we can do a fast local bounds if the sprite has no children! - if(this.children.length === 0) - { - return this._$_localBounds.getRectangle(rect); - } - - return super.getLocalBounds.call(this, rect); - } - - destroy(options?: any) - { - super.destroy(options); - this.destroyVb(); - } -} diff --git a/src/room/floorplan/pixi-tilemap/RectTileShader.ts b/src/room/floorplan/pixi-tilemap/RectTileShader.ts deleted file mode 100644 index 9ee325a9..00000000 --- a/src/room/floorplan/pixi-tilemap/RectTileShader.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { Buffer, Geometry, Program, Shader } from '@pixi/core'; -import { Matrix } from '@pixi/math'; -import * as shaderGenerator from './shaderGenerator'; - -const rectShaderFrag = ` -varying vec2 vTextureCoord; -varying vec4 vFrame; -varying float vTextureId; -varying float vAlpha; -uniform vec4 shadowColor; -uniform sampler2D uSamplers[%count%]; -uniform vec2 uSamplerSize[%count%]; - -void main(void){ - - - vec2 textureCoord = clamp(vTextureCoord, vFrame.xy, vFrame.zw); - float textureId = floor(vTextureId + 0.5); - - vec4 color; - vec3 tint = vec3(1, 0.8, 0.5); // reddish - %forloop% - gl_FragColor = (color * vAlpha) + (gl_FragColor * (1.0 - vAlpha)); -} -`; - -const rectShaderVert = ` -attribute vec2 aVertexPosition; -attribute vec2 aTextureCoord; -attribute vec4 aFrame; -attribute vec2 aAnim; -attribute float aTextureId; -attribute float aAlpha; - -uniform mat3 projTransMatrix; -uniform vec2 animationFrame; - -varying vec2 vTextureCoord; -varying float vTextureId; -varying vec4 vFrame; -varying float vAlpha; - -void main(void){ - gl_Position = vec4((projTransMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); - vec2 animCount = floor((aAnim + 0.5) / 2048.0); - vec2 animFrameOffset = aAnim - animCount * 2048.0; - vec2 animOffset = animFrameOffset * floor(mod(animationFrame + 0.5, animCount)); - - vTextureCoord = aTextureCoord + animOffset; - vFrame = aFrame + vec4(animOffset, animOffset); - vTextureId = aTextureId; - vAlpha = aAlpha; -} -`; - -export abstract class TilemapShader extends Shader -{ - maxTextures = 0; - - constructor(maxTextures: number, shaderVert: string, shaderFrag: string) - { - super( - new Program( - shaderVert, - shaderFrag), - { - animationFrame: new Float32Array(2), - uSamplers: [], - uSamplerSize: [], - projTransMatrix: new Matrix() - } - ); - this.maxTextures = maxTextures; - shaderGenerator.fillSamplers(this, this.maxTextures); - } -} - -export class RectTileShader extends TilemapShader -{ - constructor(maxTextures: number) - { - super( - maxTextures, - rectShaderVert, - shaderGenerator.generateFragmentSrc(maxTextures, rectShaderFrag) - ); - shaderGenerator.fillSamplers(this, this.maxTextures); - } -} - -export class RectTileGeom extends Geometry -{ - vertSize = 12; - vertPerQuad = 4; - stride = this.vertSize * 4; - lastTimeAccess = 0; - buf: Buffer; - - constructor() - { - super(); - const buf = this.buf = new Buffer(new Float32Array(2), true, false); - this.addAttribute('aVertexPosition', buf, 0, false, 0, this.stride, 0) - .addAttribute('aTextureCoord', buf, 0, false, 0, this.stride, 2 * 4) - .addAttribute('aFrame', buf, 0, false, 0, this.stride, 4 * 4) - .addAttribute('aAnim', buf, 0, false, 0, this.stride, 8 * 4) - .addAttribute('aTextureId', buf, 0, false, 0, this.stride, 10 * 4) - .addAttribute('aTextureId', buf, 0, false, 0, this.stride, 10 * 4) - .addAttribute('aAlpha', buf, 0, false, 0, this.stride, 11 * 4); - } -} diff --git a/src/room/floorplan/pixi-tilemap/TileRenderer.ts b/src/room/floorplan/pixi-tilemap/TileRenderer.ts deleted file mode 100644 index d4e0e6f8..00000000 --- a/src/room/floorplan/pixi-tilemap/TileRenderer.ts +++ /dev/null @@ -1,166 +0,0 @@ -import { WRAP_MODES } from '@pixi/constants'; -import { Buffer, ObjectRenderer, Renderer, Resource, Texture } from '@pixi/core'; -import { createIndicesForQuads } from '@pixi/utils'; -import { Constant } from './Constant'; -import { MultiTextureResource } from './MultiTextureResource'; -import type { TilemapShader } from './RectTileShader'; -import { RectTileGeom, RectTileShader } from './RectTileShader'; - -/** - * Renderer for rectangle tiles. - */ -export class TileRenderer extends ObjectRenderer -{ - renderer: Renderer; - gl: WebGLRenderingContext; - sn: number = -1; - indexBuffer: Buffer = null; - ibLen: number = 0; - tileAnim = [0, 0]; - texLoc: Array = []; - - rectShader: RectTileShader; - texResources: Array = []; - - constructor(renderer: Renderer) - { - super(renderer); - this.rectShader = new RectTileShader(Constant.maxTextures); - this.indexBuffer = new Buffer(undefined, true, true); - this.checkIndexBuffer(2000); - this.initBounds(); - } - - initBounds() - { - if(Constant.boundCountPerBuffer <= 1) - { - return; - } - - const maxTextures = Constant.maxTextures; - for(let i = 0; i < maxTextures; i++) - { - const resource = new MultiTextureResource(Constant); - // @ts-ignore - const baseTex = new BaseTexture(resource); - baseTex.scaleMode = Constant.SCALE_MODE; - baseTex.wrapMode = WRAP_MODES.CLAMP; - this.texResources.push(resource); - } - } - - bindTexturesWithoutRT(renderer: Renderer, shader: TilemapShader, textures: Texture[]) - { - const samplerSize: Array = (shader as any).uniforms.uSamplerSize; - this.texLoc.length = 0; - for(let i = 0; i < textures.length; i++) - { - const texture = textures[i]; - if(!texture || !texture.valid) - { - return; - } - renderer.texture.bind(textures[i], i); - //TODO: add resolution here - samplerSize[i * 2] = 1.0 / textures[i].baseTexture.width; - samplerSize[i * 2 + 1] = 1.0 / textures[i].baseTexture.height; - } - (shader as any).uniforms.uSamplerSize = samplerSize; - } - - bindTextures(renderer: Renderer, shader: TilemapShader, textures: Array) - { - const len = textures.length; - const maxTextures = Constant.maxTextures; - if(len > Constant.boundCountPerBuffer * maxTextures) - { - return; - } - if(Constant.boundCountPerBuffer <= 1) - { - this.bindTexturesWithoutRT(renderer, shader, textures); - return; - } - - let i = 0; - for(; i < len; i++) - { - const texture = textures[i]; - if(!texture || !texture.valid) continue; - const multi = this.texResources[i >> 2]; - multi.setTexture(i & 3, texture); - } - - const gltsUsed = (i + 3) >> 2; - for(i = 0; i < gltsUsed; i++) - { - //remove "i, true" after resolving a bug - renderer.texture.bind(this.texResources[i].baseTex, i); - } - } - - start() - { - //sorry, nothing - } - - createVb() - { - const geom = new RectTileGeom(); - geom.addIndex(this.indexBuffer); - geom.lastTimeAccess = Date.now(); - return geom; - } - - checkIndexBuffer(size: number, vb: RectTileGeom = null) - { - const totalIndices = size * 6; - - if(totalIndices <= this.ibLen) - { - return; - } - - let len = totalIndices; - while(len < totalIndices) - { - len <<= 1; - } - - this.ibLen = totalIndices; - this.indexBuffer.update(createIndicesForQuads(size, Constant.use32bitIndex ? new Uint32Array(size * 6) : undefined)); - - // TODO: create new index buffer instead? - // if (vb) { - // const curIndex = vb.getIndex(); - // if (curIndex !== this.indexBuffer && (curIndex.data as any).length < totalIndices) { - // this.swapIndex(vb, this.indexBuffer); - // } - // } - } - - // swapIndex(geom: PIXI.Geometry, indexBuf: PIXI.Buffer) { - // let buffers = (geom as any).buffers; - // const oldIndex = geom.getIndex(); - // let ind = buffers.indexOf(oldIndex); - // if (ind >= 0) { - // buffers.splice(ind, 1); - // } - // geom.addIndex(indexBuf); - // } - - getShader(): TilemapShader - { - return this.rectShader; - } - - destroy() - { - super.destroy(); - // this.rectShader.destroy(); - this.rectShader = null; - } -} - -Renderer.registerPlugin('tilemap', TileRenderer as any); diff --git a/src/room/floorplan/pixi-tilemap/index.ts b/src/room/floorplan/pixi-tilemap/index.ts deleted file mode 100644 index 38e72430..00000000 --- a/src/room/floorplan/pixi-tilemap/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from './CanvasTileRenderer'; -export * from './CompositeRectTileLayer'; -export * from './Constant'; -export * from './MultiTextureResource'; -export * from './RectTileLayer'; -export * from './RectTileShader'; -export * from './shaderGenerator'; -export * from './TileRenderer'; diff --git a/src/room/floorplan/pixi-tilemap/shaderGenerator.ts b/src/room/floorplan/pixi-tilemap/shaderGenerator.ts deleted file mode 100644 index c7fe15ef..00000000 --- a/src/room/floorplan/pixi-tilemap/shaderGenerator.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Constant } from './Constant'; -import type { TilemapShader } from './RectTileShader'; - -export function fillSamplers(shader: TilemapShader, maxTextures: number) -{ - const sampleValues: Array = []; - for(let i = 0; i < maxTextures; i++) - { - sampleValues[i] = i; - } - shader.uniforms.uSamplers = sampleValues; - - const samplerSize: Array = []; - for(let i = 0; i < maxTextures; i++) - { - samplerSize.push(1.0 / Constant.bufferSize); - samplerSize.push(1.0 / Constant.bufferSize); - } - shader.uniforms.uSamplerSize = samplerSize; -} - -export function generateFragmentSrc(maxTextures: number, fragmentSrc: string) -{ - return fragmentSrc.replace(/%count%/gi, maxTextures + '') - .replace(/%forloop%/gi, generateSampleSrc(maxTextures)); -} - -export function generateSampleSrc(maxTextures: number) -{ - let src = ''; - - src += '\n'; - src += '\n'; - - src += 'if(vTextureId <= -1.0) {'; - src += '\n\tcolor = shadowColor;'; - src += '\n}'; - - for(let i = 0; i < maxTextures; i++) - { - src += '\nelse '; - - if(i < maxTextures-1) - { - src += 'if(textureId == ' + i + '.0)'; - } - - src += '\n{'; - src += '\n\tcolor = texture2D(uSamplers['+i+'], textureCoord * uSamplerSize['+i+']);'; - src += '\n}'; - } - - src += '\n'; - src += '\n'; - - return src; -} diff --git a/src/room/index.ts b/src/room/index.ts index 563d1355..b5b45eac 100644 --- a/src/room/index.ts +++ b/src/room/index.ts @@ -1,6 +1,5 @@ export * from './data'; export * from './events'; -export * from './floorplan'; export * from './IRoomInstance'; export * from './IRoomInstanceContainer'; export * from './IRoomManager'; diff --git a/src/room/object/RoomObjectModel.ts b/src/room/object/RoomObjectModel.ts index dadba40e..d2fc0b27 100644 --- a/src/room/object/RoomObjectModel.ts +++ b/src/room/object/RoomObjectModel.ts @@ -27,6 +27,11 @@ export class RoomObjectModel implements IRoomObjectModel public setValue(key: string, value: T): void { + if(this._map.has(key)) + { + if(this._map.get(key) === value) return; + } + this._map.set(key, (value as T)); this._updateCounter++; @@ -45,4 +50,4 @@ export class RoomObjectModel implements IRoomObjectModel { return this._updateCounter; } -} \ No newline at end of file +} diff --git a/src/room/renderer/IRoomRenderingCanvas.ts b/src/room/renderer/IRoomRenderingCanvas.ts index 1fc8d71f..8914a199 100644 --- a/src/room/renderer/IRoomRenderingCanvas.ts +++ b/src/room/renderer/IRoomRenderingCanvas.ts @@ -18,7 +18,7 @@ export interface IRoomRenderingCanvas skipSpriteVisibilityChecking(): void; resumeSpriteVisibilityChecking(): void; getPlaneSortableSprites(): SortableSprite[]; - handleMouseEvent(k: number, _arg_2: number, _arg_3: string, _arg_4: boolean, _arg_5: boolean, _arg_6: boolean, _arg_7: boolean): boolean; + handleMouseEvent(x: number, y: number, type: string, altKey: boolean, ctrlKey: boolean, shiftKey: boolean, buttonDown: boolean): boolean; getSortableSpriteList(): RoomObjectSpriteData[]; getDisplayAsTexture(): RenderTexture; id: number; diff --git a/src/room/renderer/RoomSpriteCanvas.ts b/src/room/renderer/RoomSpriteCanvas.ts index a6ce8297..d54f3075 100644 --- a/src/room/renderer/RoomSpriteCanvas.ts +++ b/src/room/renderer/RoomSpriteCanvas.ts @@ -948,13 +948,13 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas return didHitSprite; } - protected createMouseEvent(x: number, y: number, _arg_3: number, _arg_4: number, type: string, _arg_6: string, _arg_7: boolean, _arg_8: boolean, _arg_9: boolean, _arg_10: boolean): RoomSpriteMouseEvent + protected createMouseEvent(x: number, y: number, localX: number, localY: number, type: string, tag: string, altKey: boolean, ctrlKey: boolean, shiftKey: boolean, buttonDown: boolean): RoomSpriteMouseEvent { const screenX: number = (x - (this._width / 2)); const screenY: number = (y - (this._height / 2)); const canvasName = `canvas_${ this._id }`; - return new RoomSpriteMouseEvent(type, ((canvasName + '_') + this._eventId), canvasName, _arg_6, screenX, screenY, _arg_3, _arg_4, _arg_8, _arg_7, _arg_9, _arg_10); + return new RoomSpriteMouseEvent(type, ((canvasName + '_') + this._eventId), canvasName, tag, screenX, screenY, localX, localY, ctrlKey, altKey, shiftKey, buttonDown); } protected bufferMouseEvent(k: RoomSpriteMouseEvent, _arg_2: string): void diff --git a/src/room/renderer/cache/RoomObjectCacheItem.ts b/src/room/renderer/cache/RoomObjectCacheItem.ts index 9b2dfffe..7e334889 100644 --- a/src/room/renderer/cache/RoomObjectCacheItem.ts +++ b/src/room/renderer/cache/RoomObjectCacheItem.ts @@ -45,7 +45,7 @@ export class RoomObjectCacheItem return this._objectId; } - public set objectId(k:number) + public set objectId(k: number) { this._objectId = k; } diff --git a/src/room/renderer/cache/RoomObjectLocationCacheItem.ts b/src/room/renderer/cache/RoomObjectLocationCacheItem.ts index d773ff2a..d58e1d2f 100644 --- a/src/room/renderer/cache/RoomObjectLocationCacheItem.ts +++ b/src/room/renderer/cache/RoomObjectLocationCacheItem.ts @@ -95,4 +95,4 @@ export class RoomObjectLocationCacheItem { return this._locationChanged; } -} \ No newline at end of file +} diff --git a/src/room/utils/ColorConverter.ts b/src/room/utils/ColorConverter.ts index 2c86a4dd..88c80b68 100644 --- a/src/room/utils/ColorConverter.ts +++ b/src/room/utils/ColorConverter.ts @@ -14,11 +14,26 @@ export class ColorConverter return out; } + public static hex2rgba(hex: number, out: Array | Float32Array = []): Array | Float32Array + { + out[0] = ((hex >> 16) & 0xFF) / 255; + out[1] = ((hex >> 8) & 0xFF) / 255; + out[2] = (hex & 0xFF) / 255; + out[3] = (hex & 0xFF); + + return out; + } + public static rgb2hex(rgb: number[] | Float32Array): number { return (((rgb[0] * 255) << 16) + ((rgb[1] * 255) << 8) + (rgb[2] * 255 | 0)); } + public static rgba2hex(rgb: number[] | Float32Array): number + { + return (((rgb[0] * 255) << 16) + ((rgb[1] * 255) << 8) + (rgb[2] * 255 | 0) + (rgb[3] | 0)); + } + public static rgbStringToHex(rgb: string): string { const extracted = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); diff --git a/src/room/utils/Rasterizer.ts b/src/room/utils/Rasterizer.ts index d11f945f..544542c0 100644 --- a/src/room/utils/Rasterizer.ts +++ b/src/room/utils/Rasterizer.ts @@ -7,14 +7,14 @@ export class Rasterizer { // public static line(k:BitmapData, _arg_2: Point, _arg_3: Point, _arg_4: number): void // { - // var _local_5:int; - // var _local_6:int; - // var _local_7:int; - // var _local_8:int; - // var _local_9:int; - // var _local_10:int; - // var _local_11:int = _arg_2.x; - // var _local_12:int = _arg_2.y; + // var _local_5: number; + // var _local_6: number; + // var _local_7: number; + // var _local_8: number; + // var _local_9: number; + // var _local_10: number; + // var _local_11: number = _arg_2.x; + // var _local_12: number = _arg_2.y; // _local_5 = (_arg_3.x - _arg_2.x); // _local_6 = (_arg_3.y - _arg_2.y); // _local_8 = ((_local_5 > 0) ? 1 : -1); diff --git a/src/room/utils/Vector3d.ts b/src/room/utils/Vector3d.ts index ee46c94a..2f0937dd 100644 --- a/src/room/utils/Vector3d.ts +++ b/src/room/utils/Vector3d.ts @@ -121,6 +121,8 @@ export class Vector3d implements IVector3D public divide(amount: number): void { + if(!amount) return; + this._x /= amount; this._y /= amount; this._z /= amount; @@ -184,4 +186,4 @@ export class Vector3d implements IVector3D { return `[Vector3d: ${ this._x }, ${ this._y }, ${ this._z }]`; } -} \ No newline at end of file +}