bard-legends-framework 0.7.6 → 0.7.7
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.
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { Vector } from 'helpers-lib';
|
|
2
2
|
import { Container } from '../display-object/container';
|
|
3
|
+
export interface ScrollAreaUIOptions {
|
|
4
|
+
readonly padding: number;
|
|
5
|
+
readonly smallContentAlign: 'start' | 'center' | 'end';
|
|
6
|
+
}
|
|
3
7
|
export declare class ScrollAreaUI extends Container {
|
|
4
8
|
private maskTextureName;
|
|
5
|
-
constructor(size: Vector,
|
|
9
|
+
constructor(size: Vector, partialOptions?: Partial<ScrollAreaUIOptions>);
|
|
6
10
|
protected afterDestroy(): void;
|
|
7
11
|
private createMask;
|
|
8
12
|
}
|
|
@@ -12,12 +12,13 @@ const game_1 = require("../game");
|
|
|
12
12
|
const DEFAULT_PADDING = 15;
|
|
13
13
|
const SCROLL_SPEED = 0.65;
|
|
14
14
|
class SmoothScroller extends game_entities_1.Destroyable {
|
|
15
|
-
constructor(content, areaHeight, padding) {
|
|
15
|
+
constructor(content, areaHeight, padding, smallContentAlign) {
|
|
16
16
|
super();
|
|
17
|
+
this.content = content;
|
|
17
18
|
this.areaHeight = areaHeight;
|
|
18
19
|
this.padding = padding;
|
|
20
|
+
this.smallContentAlign = smallContentAlign;
|
|
19
21
|
this.scrollHeight = areaHeight - padding * 2;
|
|
20
|
-
this.content = content;
|
|
21
22
|
this.content.y = padding;
|
|
22
23
|
this.targetY = padding;
|
|
23
24
|
this.updateCycleSubscription = game_entities_1.UpdateCycle.afterSceneUpdateAction
|
|
@@ -38,22 +39,35 @@ class SmoothScroller extends game_entities_1.Destroyable {
|
|
|
38
39
|
let newPositionY = this.content.y + distance * utilities_1.DeltaTime.adjustMultiplier(0.72, delta);
|
|
39
40
|
this.content.y = newPositionY;
|
|
40
41
|
}
|
|
42
|
+
else {
|
|
43
|
+
if (this.smallContentAlign === 'center') {
|
|
44
|
+
this.content.y = (this.areaHeight - this.content.size.y) * 0.5;
|
|
45
|
+
}
|
|
46
|
+
else if (this.smallContentAlign === 'end') {
|
|
47
|
+
this.content.y = this.areaHeight - this.content.size.y - this.padding;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
41
50
|
}
|
|
42
51
|
}
|
|
43
52
|
class ScrollAreaUI extends container_1.Container {
|
|
44
|
-
constructor(size,
|
|
53
|
+
constructor(size, partialOptions = {}) {
|
|
45
54
|
super();
|
|
46
|
-
|
|
55
|
+
let options = {
|
|
56
|
+
padding: DEFAULT_PADDING,
|
|
57
|
+
smallContentAlign: 'start',
|
|
58
|
+
...partialOptions
|
|
59
|
+
};
|
|
60
|
+
if (options.padding < 0) {
|
|
47
61
|
throw new Error(`The padding of the scroll mask cannot be lower than '0'`);
|
|
48
62
|
}
|
|
49
|
-
else if (padding > size.y * 0.5) {
|
|
63
|
+
else if (options.padding > size.y * 0.5) {
|
|
50
64
|
throw new Error(`The padding of the scroll mask cannot be higher than half of the size of the area`);
|
|
51
65
|
}
|
|
52
66
|
// wrapper is needed to not prevent a mask to be applied to this component
|
|
53
67
|
let wrapper = new container_1.Container().displayParent(this).attach(this);
|
|
54
|
-
this.maskTextureName = this.createMask(size, padding, wrapper);
|
|
68
|
+
this.maskTextureName = this.createMask(size, options.padding, wrapper);
|
|
55
69
|
let content = new container_1.Container().displayParent(wrapper).attach(this);
|
|
56
|
-
let scroller = new SmoothScroller(content, size.y, padding).attach(this);
|
|
70
|
+
let scroller = new SmoothScroller(content, size.y, options.padding, options.smallContentAlign).attach(this);
|
|
57
71
|
let scrollArea = new mouse_wheel_listener_ui_1.MouseWheelListenerUI(size).displayParent(wrapper).attach(this);
|
|
58
72
|
scrollArea.onWheel.subscribe(delta => scroller.onWheel(delta)).attach(this);
|
|
59
73
|
this.addChildTo = content;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-area.ui.js","sourceRoot":"","sources":["../../../src/pixi/components/scroll-area.ui.ts"],"names":[],"mappings":";;;AAAA,6CAAmD;AAGnD,qDAAgD;AAChD,uEAAiE;AACjE,uDAA+D;AAC/D,2DAAwD;AACxD,+CAA4C;AAC5C,6DAA0D;AAC1D,kCAA+B;AAE/B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,MAAM,cAAe,SAAQ,2BAAW;
|
|
1
|
+
{"version":3,"file":"scroll-area.ui.js","sourceRoot":"","sources":["../../../src/pixi/components/scroll-area.ui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED