@rpgjs/client 3.3.1 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +19 -0
- package/lib/Components/AbstractComponent.d.ts +3 -2
- package/lib/Components/AbstractComponent.js +17 -28
- package/lib/Components/AbstractComponent.js.map +1 -1
- package/lib/Components/BarComponent.d.ts +2 -1
- package/lib/Components/BarComponent.js +32 -33
- package/lib/Components/BarComponent.js.map +1 -1
- package/lib/Components/Component.d.ts +3 -3
- package/lib/Components/Component.js +84 -96
- package/lib/Components/Component.js.map +1 -1
- package/lib/Components/DebugComponent.d.ts +2 -1
- package/lib/Components/DebugComponent.js +9 -10
- package/lib/Components/DebugComponent.js.map +1 -1
- package/lib/Components/ImageComponent.d.ts +2 -1
- package/lib/Components/ImageComponent.js +5 -7
- package/lib/Components/ImageComponent.js.map +1 -1
- package/lib/Components/ShapeComponent.d.ts +2 -1
- package/lib/Components/ShapeComponent.js +14 -14
- package/lib/Components/ShapeComponent.js.map +1 -1
- package/lib/Components/TextComponent.d.ts +3 -2
- package/lib/Components/TextComponent.js +10 -9
- package/lib/Components/TextComponent.js.map +1 -1
- package/lib/Components/TileComponent.d.ts +2 -1
- package/lib/Components/TileComponent.js +12 -16
- package/lib/Components/TileComponent.js.map +1 -1
- package/lib/Effects/Animation.d.ts +10 -9
- package/lib/Effects/Animation.js +36 -36
- package/lib/Effects/Animation.js.map +1 -1
- package/lib/Effects/AnimationCharacter.js +2 -5
- package/lib/Effects/AnimationCharacter.js.map +1 -1
- package/lib/Effects/Spinner.d.ts +3 -2
- package/lib/Effects/Spinner.js +2 -5
- package/lib/Effects/Spinner.js.map +1 -1
- package/lib/Effects/Timeline.d.ts +1 -1
- package/lib/Effects/Timeline.js +6 -10
- package/lib/Effects/Timeline.js.map +1 -1
- package/lib/Effects/TransitionScene.d.ts +2 -1
- package/lib/Effects/TransitionScene.js +3 -7
- package/lib/Effects/TransitionScene.js.map +1 -1
- package/lib/GameEngine.js +51 -26
- package/lib/GameEngine.js.map +1 -1
- package/lib/Interfaces/Character.js +1 -2
- package/lib/Interfaces/Scene.js +1 -2
- package/lib/KeyboardControls.d.ts +2 -1
- package/lib/KeyboardControls.js +47 -45
- package/lib/KeyboardControls.js.map +1 -1
- package/lib/Logger.js +1 -5
- package/lib/Logger.js.map +1 -1
- package/lib/Presets/AnimationSpritesheet.js +9 -13
- package/lib/Presets/AnimationSpritesheet.js.map +1 -1
- package/lib/Presets/Scene.js +2 -5
- package/lib/Presets/Scene.js.map +1 -1
- package/lib/Renderer.d.ts +5 -3
- package/lib/Renderer.js +68 -60
- package/lib/Renderer.js.map +1 -1
- package/lib/Resources.js +1 -5
- package/lib/Resources.js.map +1 -1
- package/lib/RpgClient.d.ts +3 -2
- package/lib/RpgClient.js +1 -2
- package/lib/RpgClientEngine.d.ts +2 -2
- package/lib/RpgClientEngine.js +196 -175
- package/lib/RpgClientEngine.js.map +1 -1
- package/lib/RpgGui.js +40 -41
- package/lib/RpgGui.js.map +1 -1
- package/lib/Scene/EventLayer.d.ts +4 -0
- package/lib/Scene/EventLayer.js +8 -0
- package/lib/Scene/EventLayer.js.map +1 -0
- package/lib/Scene/Map.d.ts +17 -3
- package/lib/Scene/Map.js +157 -113
- package/lib/Scene/Map.js.map +1 -1
- package/lib/Scene/Scene.d.ts +3 -3
- package/lib/Scene/Scene.js +24 -20
- package/lib/Scene/Scene.js.map +1 -1
- package/lib/Scene/SceneData.js +1 -5
- package/lib/Scene/SceneData.js.map +1 -1
- package/lib/Sound/RpgSound.js +8 -11
- package/lib/Sound/RpgSound.js.map +1 -1
- package/lib/Sound/Sound.d.ts +2 -2
- package/lib/Sound/Sound.js +1 -5
- package/lib/Sound/Sound.js.map +1 -1
- package/lib/Sound/Sounds.js +4 -8
- package/lib/Sound/Sounds.js.map +1 -1
- package/lib/Sprite/Character.d.ts +3 -2
- package/lib/Sprite/Character.js +15 -16
- package/lib/Sprite/Character.js.map +1 -1
- package/lib/Sprite/Player.js +2 -9
- package/lib/Sprite/Player.js.map +1 -1
- package/lib/Sprite/Spritesheet.d.ts +4 -4
- package/lib/Sprite/Spritesheet.js +1 -5
- package/lib/Sprite/Spritesheet.js.map +1 -1
- package/lib/Sprite/Spritesheets.js +4 -8
- package/lib/Sprite/Spritesheets.js.map +1 -1
- package/lib/Tilemap/CommonLayer.d.ts +2 -1
- package/lib/Tilemap/CommonLayer.js +7 -11
- package/lib/Tilemap/CommonLayer.js.map +1 -1
- package/lib/Tilemap/ImageLayer.js +5 -7
- package/lib/Tilemap/ImageLayer.js.map +1 -1
- package/lib/Tilemap/Tile.d.ts +5 -5
- package/lib/Tilemap/Tile.js +19 -21
- package/lib/Tilemap/Tile.js.map +1 -1
- package/lib/Tilemap/TileLayer.d.ts +0 -7
- package/lib/Tilemap/TileLayer.js +27 -29
- package/lib/Tilemap/TileLayer.js.map +1 -1
- package/lib/Tilemap/TileSet.d.ts +2 -1
- package/lib/Tilemap/TileSet.js +9 -12
- package/lib/Tilemap/TileSet.js.map +1 -1
- package/lib/Tilemap/index.d.ts +3 -11
- package/lib/Tilemap/index.js +22 -61
- package/lib/Tilemap/index.js.map +1 -1
- package/lib/clientEntryPoint.js +26 -28
- package/lib/clientEntryPoint.js.map +1 -1
- package/lib/index.js +21 -75
- package/lib/index.js.map +1 -1
- package/package.json +16 -14
- package/lib/Components/ColorComponent.d.ts +0 -9
- package/lib/Components/ColorComponent.js +0 -18
- package/lib/Components/ColorComponent.js.map +0 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright (C) 2020 by Samuel Ronce
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
|
11
|
+
all copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
THE SOFTWARE.
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { ComponentObject } from "@rpgjs/types";
|
|
2
2
|
import { RpgComponent } from "./Component";
|
|
3
3
|
import { GameEngineClient } from "../GameEngine";
|
|
4
|
-
|
|
4
|
+
import { Container, Graphics, Sprite } from "pixi.js";
|
|
5
|
+
export type CellInfo = {
|
|
5
6
|
x?: number;
|
|
6
7
|
y?: number;
|
|
7
8
|
width: number;
|
|
8
9
|
height: number;
|
|
9
10
|
};
|
|
10
|
-
export declare abstract class AbstractComponent<TypeComponent extends ComponentObject<any>, ContainerType extends
|
|
11
|
+
export declare abstract class AbstractComponent<TypeComponent extends ComponentObject<any>, ContainerType extends Container | Text | Sprite | Graphics> extends Container {
|
|
11
12
|
protected component: RpgComponent;
|
|
12
13
|
protected value: TypeComponent['value'];
|
|
13
14
|
private _onRender$;
|
|
@@ -1,25 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AbstractComponent = void 0;
|
|
7
|
-
const rxjs_1 = require("rxjs");
|
|
8
|
-
const operators_1 = require("rxjs/operators");
|
|
9
|
-
const lodash_get_1 = __importDefault(require("lodash.get"));
|
|
1
|
+
import { Subject, filter, takeUntil } from "rxjs";
|
|
2
|
+
import get from 'lodash.get';
|
|
3
|
+
import { Container } from "pixi.js";
|
|
10
4
|
const REGEXP_VAR = /{([^\}]+)}/g;
|
|
11
|
-
class AbstractComponent extends
|
|
5
|
+
export class AbstractComponent extends Container {
|
|
12
6
|
constructor(component, value) {
|
|
13
|
-
var _a;
|
|
14
7
|
super();
|
|
15
8
|
this.component = component;
|
|
16
9
|
this.value = value;
|
|
17
|
-
this._onRender$ = new
|
|
18
|
-
this._onDestroy$ = new
|
|
10
|
+
this._onRender$ = new Subject();
|
|
11
|
+
this._onDestroy$ = new Subject();
|
|
19
12
|
this.onRender$ = this._onRender$.asObservable();
|
|
20
13
|
this.game = this.component.game;
|
|
21
14
|
this.firstRender = true;
|
|
22
|
-
this.style =
|
|
15
|
+
this.style = this.value?.style;
|
|
23
16
|
this.cacheText = {};
|
|
24
17
|
}
|
|
25
18
|
getStyle() {
|
|
@@ -36,18 +29,17 @@ class AbstractComponent extends PIXI.Container {
|
|
|
36
29
|
}
|
|
37
30
|
replaceText(object, text) {
|
|
38
31
|
return text.replace(REGEXP_VAR, (match, key) => {
|
|
39
|
-
|
|
40
|
-
const value = (0, lodash_get_1.default)(object, key);
|
|
32
|
+
const value = get(object, key);
|
|
41
33
|
if (value !== undefined) {
|
|
42
34
|
this.cacheText[key] = value;
|
|
43
|
-
return value
|
|
35
|
+
return value ?? '';
|
|
44
36
|
}
|
|
45
|
-
return
|
|
37
|
+
return value ?? this.cacheText[key] ?? '';
|
|
46
38
|
});
|
|
47
39
|
}
|
|
48
40
|
getValue(object, expression) {
|
|
49
41
|
if (typeof expression === 'string') {
|
|
50
|
-
const value = (
|
|
42
|
+
const value = get(object, expression);
|
|
51
43
|
if (value !== undefined) {
|
|
52
44
|
if (this.cacheParams.indexOf(expression) === -1)
|
|
53
45
|
this.cacheParams.push(expression);
|
|
@@ -57,16 +49,14 @@ class AbstractComponent extends PIXI.Container {
|
|
|
57
49
|
return expression;
|
|
58
50
|
}
|
|
59
51
|
verifyParams() {
|
|
60
|
-
var _a;
|
|
61
52
|
const params = this.component.logic;
|
|
62
53
|
for (const param of this.cacheParams) {
|
|
63
|
-
if ((
|
|
64
|
-
throw new Error(`Param ${param} not found in object ${
|
|
54
|
+
if (get(params, param) === undefined) {
|
|
55
|
+
throw new Error(`Param ${param} not found in object ${this.component.logic?.id}`);
|
|
65
56
|
}
|
|
66
57
|
}
|
|
67
58
|
}
|
|
68
59
|
onInit(cell) {
|
|
69
|
-
var _a;
|
|
70
60
|
this.cell = cell;
|
|
71
61
|
this.verifyParams();
|
|
72
62
|
const render = (object) => {
|
|
@@ -76,14 +66,14 @@ class AbstractComponent extends PIXI.Container {
|
|
|
76
66
|
}
|
|
77
67
|
};
|
|
78
68
|
render(this.component.logic);
|
|
79
|
-
const objectId =
|
|
69
|
+
const objectId = this.component.logic?.id;
|
|
80
70
|
this.game.listenObject(objectId)
|
|
81
|
-
.pipe(
|
|
82
|
-
const params = object
|
|
71
|
+
.pipe(takeUntil(this._onDestroy$), filter(object => {
|
|
72
|
+
const params = object?.paramsChanged;
|
|
83
73
|
if (!params)
|
|
84
74
|
return false;
|
|
85
75
|
for (const param of this.cacheParams) {
|
|
86
|
-
if ((
|
|
76
|
+
if (get(params, param))
|
|
87
77
|
return true;
|
|
88
78
|
}
|
|
89
79
|
return false;
|
|
@@ -100,5 +90,4 @@ class AbstractComponent extends PIXI.Container {
|
|
|
100
90
|
this._onDestroy$.complete();
|
|
101
91
|
}
|
|
102
92
|
}
|
|
103
|
-
exports.AbstractComponent = AbstractComponent;
|
|
104
93
|
//# sourceMappingURL=AbstractComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractComponent.js","sourceRoot":"","sources":["../../src/Components/AbstractComponent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractComponent.js","sourceRoot":"","sources":["../../src/Components/AbstractComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BarComponentObject } from "@rpgjs/types";
|
|
2
2
|
import { AbstractComponent, CellInfo } from "./AbstractComponent";
|
|
3
|
-
|
|
3
|
+
import { Container } from "pixi.js";
|
|
4
|
+
export declare class BarComponent extends AbstractComponent<BarComponentObject, Container> {
|
|
4
5
|
static readonly id: string;
|
|
5
6
|
private barContainer;
|
|
6
7
|
private barFill;
|
|
@@ -1,34 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
exports.BarComponent = void 0;
|
|
7
|
-
const common_1 = require("@rpgjs/common");
|
|
8
|
-
const AbstractComponent_1 = require("./AbstractComponent");
|
|
9
|
-
const lodash_get_1 = __importDefault(require("lodash.get"));
|
|
10
|
-
const rxjs_1 = require("rxjs");
|
|
11
|
-
const operators_1 = require("rxjs/operators");
|
|
1
|
+
import { Utils, transitionColor } from "@rpgjs/common";
|
|
2
|
+
import { AbstractComponent } from "./AbstractComponent";
|
|
3
|
+
import get from 'lodash.get';
|
|
4
|
+
import { Subject, takeUntil } from "rxjs";
|
|
5
|
+
import { Graphics, Text } from "pixi.js";
|
|
12
6
|
const DEFAULT_COLOR = '#000000';
|
|
13
|
-
class BarComponent extends
|
|
7
|
+
class BarComponent extends AbstractComponent {
|
|
14
8
|
constructor() {
|
|
15
|
-
var _a;
|
|
16
9
|
super(...arguments);
|
|
17
|
-
this.barContainer = new
|
|
18
|
-
this.barFill = new
|
|
19
|
-
this.textContainer = new
|
|
20
|
-
this.barHeight =
|
|
10
|
+
this.barContainer = new Graphics();
|
|
11
|
+
this.barFill = new Graphics();
|
|
12
|
+
this.textContainer = new Text('');
|
|
13
|
+
this.barHeight = this.value.style?.height || 7;
|
|
21
14
|
this.text = this.value.text || '';
|
|
22
15
|
this.barStyle = this.getStyle();
|
|
23
16
|
this.currentValue = 0;
|
|
24
17
|
this.maxValue = 0;
|
|
25
18
|
this.nextValue = 0;
|
|
26
|
-
this.notifier = new
|
|
19
|
+
this.notifier = new Subject();
|
|
27
20
|
this.cacheParams = [];
|
|
28
21
|
}
|
|
29
22
|
get barWidth() {
|
|
30
|
-
|
|
31
|
-
return ((_a = this.barStyle) === null || _a === void 0 ? void 0 : _a.width) || ((_b = this.cell) === null || _b === void 0 ? void 0 : _b.width) || 0;
|
|
23
|
+
return this.barStyle?.width || this.cell?.width || 0;
|
|
32
24
|
}
|
|
33
25
|
onInit(cell) {
|
|
34
26
|
if (!this.value.style) {
|
|
@@ -38,10 +30,12 @@ class BarComponent extends AbstractComponent_1.AbstractComponent {
|
|
|
38
30
|
}
|
|
39
31
|
const { bgColor = DEFAULT_COLOR, borderColor = DEFAULT_COLOR, borderWidth = 1, borderRadius = 0 } = this.barStyle || {};
|
|
40
32
|
this.cell = cell;
|
|
41
|
-
|
|
33
|
+
const { value: color, alpha } = Utils.hexaToNumber(bgColor);
|
|
34
|
+
this.barContainer.beginFill(color, alpha);
|
|
42
35
|
const paramsRect = [0, 0, this.barWidth, this.barHeight];
|
|
43
36
|
if (borderWidth) {
|
|
44
|
-
|
|
37
|
+
const { value: color, alpha } = Utils.hexaToNumber(borderColor);
|
|
38
|
+
this.barContainer.lineStyle(borderWidth, color, alpha);
|
|
45
39
|
}
|
|
46
40
|
if (borderRadius) {
|
|
47
41
|
this.barContainer.drawRoundedRect(...paramsRect, borderRadius);
|
|
@@ -65,13 +59,12 @@ class BarComponent extends AbstractComponent_1.AbstractComponent {
|
|
|
65
59
|
super.onInit(cell);
|
|
66
60
|
}
|
|
67
61
|
updateRender(object, firstRender) {
|
|
68
|
-
var _a, _b, _c, _d, _e;
|
|
69
62
|
this.currentValue = this.nextValue;
|
|
70
|
-
this.nextValue = (
|
|
71
|
-
this.maxValue = (
|
|
63
|
+
this.nextValue = get(object, this.value.current) ?? this.nextValue ?? 0;
|
|
64
|
+
this.maxValue = get(object, this.value.max) ?? this.maxValue;
|
|
72
65
|
const style = this.barStyle;
|
|
73
|
-
const borderRadius =
|
|
74
|
-
const borderWidth =
|
|
66
|
+
const borderRadius = style?.borderRadius ?? 0;
|
|
67
|
+
const borderWidth = style?.borderWidth ?? 0;
|
|
75
68
|
// first render
|
|
76
69
|
if (firstRender) {
|
|
77
70
|
this.currentValue = this.nextValue;
|
|
@@ -96,10 +89,10 @@ class BarComponent extends AbstractComponent_1.AbstractComponent {
|
|
|
96
89
|
let colors = [];
|
|
97
90
|
if (style) {
|
|
98
91
|
// TODO: add transition color
|
|
99
|
-
colors =
|
|
92
|
+
colors = transitionColor(getColor(this.currentValue), getColor(this.nextValue), 1);
|
|
100
93
|
}
|
|
101
94
|
else {
|
|
102
|
-
colors =
|
|
95
|
+
colors = transitionColor(DEFAULT_COLOR, DEFAULT_COLOR, 1);
|
|
103
96
|
}
|
|
104
97
|
const render = (up = false) => {
|
|
105
98
|
let currentValue = ~~this.currentValue;
|
|
@@ -111,7 +104,8 @@ class BarComponent extends AbstractComponent_1.AbstractComponent {
|
|
|
111
104
|
const colorIndex = Math.max(Math.floor((100 - percentBetween) / (100 / (colors.length - 1))), 0);
|
|
112
105
|
let fillColor = colors[colorIndex];
|
|
113
106
|
this.barFill.clear();
|
|
114
|
-
|
|
107
|
+
const { value: color, alpha } = Utils.hexaToNumber(fillColor ?? DEFAULT_COLOR);
|
|
108
|
+
this.barFill.beginFill(color, alpha);
|
|
115
109
|
const percent = Math.max(0, (currentValue / this.maxValue));
|
|
116
110
|
const bWidth = borderWidth / 4;
|
|
117
111
|
const paramsRect = [bWidth, bWidth, percent * this.barWidth - bWidth, this.barHeight - bWidth];
|
|
@@ -123,7 +117,12 @@ class BarComponent extends AbstractComponent_1.AbstractComponent {
|
|
|
123
117
|
this.barFill.drawRect(...paramsRect);
|
|
124
118
|
}
|
|
125
119
|
}
|
|
126
|
-
this.textContainer.text = this.replaceText(
|
|
120
|
+
this.textContainer.text = this.replaceText({
|
|
121
|
+
...object,
|
|
122
|
+
$current: currentValue,
|
|
123
|
+
$percent: Math.round(percent * 100),
|
|
124
|
+
$max: this.maxValue
|
|
125
|
+
}, this.text);
|
|
127
126
|
this.barFill.endFill();
|
|
128
127
|
};
|
|
129
128
|
if (firstRender) {
|
|
@@ -132,7 +131,7 @@ class BarComponent extends AbstractComponent_1.AbstractComponent {
|
|
|
132
131
|
}
|
|
133
132
|
this.notifier.next();
|
|
134
133
|
this.game.clientEngine.tick
|
|
135
|
-
.pipe(
|
|
134
|
+
.pipe(takeUntil(this.notifier))
|
|
136
135
|
.subscribe(() => {
|
|
137
136
|
// speed of animation, calculate the difference between the current value and the next value to determine the speed
|
|
138
137
|
const speed = Math.abs(this.currentValue - this.nextValue) / 10;
|
|
@@ -163,6 +162,6 @@ class BarComponent extends AbstractComponent_1.AbstractComponent {
|
|
|
163
162
|
super.onRemove();
|
|
164
163
|
}
|
|
165
164
|
}
|
|
166
|
-
exports.BarComponent = BarComponent;
|
|
167
165
|
BarComponent.id = 'bar';
|
|
166
|
+
export { BarComponent };
|
|
168
167
|
//# sourceMappingURL=BarComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarComponent.js","sourceRoot":"","sources":["../../src/Components/BarComponent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BarComponent.js","sourceRoot":"","sources":["../../src/Components/BarComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Direction, RpgCommonPlayer, RpgShape } from "@rpgjs/common";
|
|
2
2
|
import { LayoutPositionEnum, PositionXY } from "@rpgjs/types";
|
|
3
3
|
import { Scene } from "../Scene/Scene";
|
|
4
|
+
import { Container } from "pixi.js";
|
|
4
5
|
export interface IComponent {
|
|
5
6
|
id: string;
|
|
6
7
|
value: any;
|
|
7
8
|
}
|
|
8
|
-
export declare class RpgComponent<T = any> extends
|
|
9
|
+
export declare class RpgComponent<T = any> extends Container {
|
|
9
10
|
private data;
|
|
10
11
|
private scene;
|
|
11
12
|
protected _x: number;
|
|
@@ -79,7 +80,6 @@ export declare class RpgComponent<T = any> extends PIXI.Container {
|
|
|
79
80
|
get guiDisplay(): boolean;
|
|
80
81
|
set guiDisplay(val: boolean);
|
|
81
82
|
setPosition(smooth?: boolean): void;
|
|
82
|
-
drag(): void;
|
|
83
83
|
update(obj: any, objChanged: any, time: number, deltaRatio: number): {
|
|
84
84
|
moving: boolean;
|
|
85
85
|
};
|
|
@@ -104,7 +104,7 @@ export declare class RpgComponent<T = any> extends PIXI.Container {
|
|
|
104
104
|
* @returns {PIXI.Container}
|
|
105
105
|
*
|
|
106
106
|
* */
|
|
107
|
-
getLayoutContainer(position?: LayoutPositionEnum):
|
|
107
|
+
getLayoutContainer(position?: LayoutPositionEnum): Container;
|
|
108
108
|
/**
|
|
109
109
|
* Get Current Scene. Scene is a map, battle, menu, etc.
|
|
110
110
|
* @returns {T}
|