@safe-engine/pixi 7.0.2 → 8.0.3
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/dist/app.d.ts +2 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +20 -17
- package/dist/components/GUIComponent.d.ts +1 -1
- package/dist/components/NodeComp.js +1 -1
- package/dist/components/RenderComponent.d.ts +1 -1
- package/dist/core/LoadingBar.js +8 -8
- package/dist/systems/RenderSystem.d.ts.map +1 -1
- package/dist/systems/RenderSystem.js +3 -2
- package/package.json +6 -5
- package/src/app.ts +20 -18
- package/src/components/NodeComp.ts +416 -416
- package/src/core/LoadingBar.ts +62 -62
- package/src/systems/RenderSystem.ts +71 -70
package/src/core/LoadingBar.ts
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { Container, Graphics, Point, Sprite, Texture } from 'pixi.js'
|
|
2
|
-
|
|
3
|
-
export enum LoadingBarMode {
|
|
4
|
-
BAR,
|
|
5
|
-
RADIAL,
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export class LoadingBar extends Graphics {
|
|
9
|
-
spriteComp: Sprite
|
|
10
|
-
mode: LoadingBarMode
|
|
11
|
-
fillCenter = new Point(0.5, 0.5)
|
|
12
|
-
constructor(mode: LoadingBarMode, spriteComp: Sprite) {
|
|
13
|
-
super()
|
|
14
|
-
this.spriteComp = spriteComp
|
|
15
|
-
this.mode = mode || LoadingBarMode.BAR
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
spriteComp.mask = this
|
|
19
|
-
spriteComp.addChild(this)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
set progress(val: number) {
|
|
23
|
-
this.clear()
|
|
24
|
-
this.
|
|
25
|
-
if (this.mode === LoadingBarMode.BAR) {
|
|
26
|
-
const spriteComp = this.spriteComp
|
|
27
|
-
this.
|
|
28
|
-
// console.log('new length', spriteComp.width)
|
|
29
|
-
this.x = -spriteComp.width * 0.5
|
|
30
|
-
this.y = -spriteComp.height * 0.5
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export class ProgressTimer extends Container {
|
|
36
|
-
graphics: Graphics
|
|
37
|
-
spriteComp: Sprite
|
|
38
|
-
mode: LoadingBarMode
|
|
39
|
-
fillCenter = new Point(0.5, 0.5)
|
|
40
|
-
constructor(mode: LoadingBarMode, spriteFrame: string) {
|
|
41
|
-
super()
|
|
42
|
-
const texture = Texture.from(spriteFrame)
|
|
43
|
-
this.spriteComp = Sprite.from(texture)
|
|
44
|
-
this.graphics = new Graphics()
|
|
45
|
-
this.mode = mode || LoadingBarMode.BAR
|
|
46
|
-
this.graphics.
|
|
47
|
-
this.graphics.
|
|
48
|
-
this.spriteComp.mask = this.graphics
|
|
49
|
-
this.addChild(this.graphics)
|
|
50
|
-
this.addChild(this.spriteComp)
|
|
51
|
-
// this.graphics.x = -this.spriteComp.width * this.fillCenter.x
|
|
52
|
-
// this.graphics.y = -this.spriteComp.height * this.fillCenter.y
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
set progress(val: number) {
|
|
56
|
-
this.graphics.clear()
|
|
57
|
-
if (this.mode === LoadingBarMode.BAR) {
|
|
58
|
-
this.graphics.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
}
|
|
1
|
+
import { Container, Graphics, Point, Sprite, Texture } from 'pixi.js'
|
|
2
|
+
|
|
3
|
+
export enum LoadingBarMode {
|
|
4
|
+
BAR,
|
|
5
|
+
RADIAL,
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export class LoadingBar extends Graphics {
|
|
9
|
+
spriteComp: Sprite
|
|
10
|
+
mode: LoadingBarMode
|
|
11
|
+
fillCenter = new Point(0.5, 0.5)
|
|
12
|
+
constructor(mode: LoadingBarMode, spriteComp: Sprite) {
|
|
13
|
+
super()
|
|
14
|
+
this.spriteComp = spriteComp
|
|
15
|
+
this.mode = mode || LoadingBarMode.BAR
|
|
16
|
+
this.fill(0xffffff)
|
|
17
|
+
this.rect(0, 0, spriteComp.width, spriteComp.height)
|
|
18
|
+
spriteComp.mask = this
|
|
19
|
+
spriteComp.addChild(this)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
set progress(val: number) {
|
|
23
|
+
this.clear()
|
|
24
|
+
this.fill(0xffffff)
|
|
25
|
+
if (this.mode === LoadingBarMode.BAR) {
|
|
26
|
+
const spriteComp = this.spriteComp
|
|
27
|
+
this.rect(0, 0, spriteComp.width * val, spriteComp.height)
|
|
28
|
+
// console.log('new length', spriteComp.width)
|
|
29
|
+
this.x = -spriteComp.width * 0.5
|
|
30
|
+
this.y = -spriteComp.height * 0.5
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export class ProgressTimer extends Container {
|
|
36
|
+
graphics: Graphics
|
|
37
|
+
spriteComp: Sprite
|
|
38
|
+
mode: LoadingBarMode
|
|
39
|
+
fillCenter = new Point(0.5, 0.5)
|
|
40
|
+
constructor(mode: LoadingBarMode, spriteFrame: string) {
|
|
41
|
+
super()
|
|
42
|
+
const texture = Texture.from(spriteFrame)
|
|
43
|
+
this.spriteComp = Sprite.from(texture)
|
|
44
|
+
this.graphics = new Graphics()
|
|
45
|
+
this.mode = mode || LoadingBarMode.BAR
|
|
46
|
+
this.graphics.fill(0xffffff)
|
|
47
|
+
this.graphics.rect(0, 0, this.spriteComp.width, this.spriteComp.height)
|
|
48
|
+
this.spriteComp.mask = this.graphics
|
|
49
|
+
this.addChild(this.graphics)
|
|
50
|
+
this.addChild(this.spriteComp)
|
|
51
|
+
// this.graphics.x = -this.spriteComp.width * this.fillCenter.x
|
|
52
|
+
// this.graphics.y = -this.spriteComp.height * this.fillCenter.y
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
set progress(val: number) {
|
|
56
|
+
this.graphics.clear()
|
|
57
|
+
if (this.mode === LoadingBarMode.BAR) {
|
|
58
|
+
this.graphics.rect(0, 0, this.spriteComp.width * val, this.spriteComp.height)
|
|
59
|
+
// console.log('new length', this.width)
|
|
60
|
+
this.graphics.fill(0xffffff)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
63
|
}
|
|
@@ -1,70 +1,71 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EventManager,
|
|
3
|
-
EventTypes,
|
|
4
|
-
System
|
|
5
|
-
} from 'entityx-ts'
|
|
6
|
-
import { Container, Graphics, Sprite } from 'pixi.js'
|
|
7
|
-
|
|
8
|
-
import { NodeComp } from '..'
|
|
9
|
-
import { GraphicsRender, MaskRender, NodeRender, SpriteRender } from '../components/RenderComponent'
|
|
10
|
-
import { LoadingBar } from '../core/LoadingBar'
|
|
11
|
-
|
|
12
|
-
export enum SpriteTypes {
|
|
13
|
-
SIMPLE,
|
|
14
|
-
SLICED,
|
|
15
|
-
TILED,
|
|
16
|
-
FILLED,
|
|
17
|
-
MESH,
|
|
18
|
-
ANIMATION,
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export class RenderSystem implements System {
|
|
22
|
-
configure(event_manager: EventManager) {
|
|
23
|
-
event_manager.subscribe(EventTypes.ComponentAdded, NodeRender, ({ entity }) => {
|
|
24
|
-
const nodeRenderComp = entity.getComponent(NodeRender)
|
|
25
|
-
const node = new Container()
|
|
26
|
-
nodeRenderComp.node = entity.assign(new NodeComp(node, entity))
|
|
27
|
-
})
|
|
28
|
-
event_manager.subscribe(EventTypes.ComponentAdded, SpriteRender, ({ entity, component }) => {
|
|
29
|
-
const { spriteFrame, type, fillType, fillRange, fillCenter } = component
|
|
30
|
-
// console.log('SpriteRender', component)
|
|
31
|
-
const node = Sprite.from(spriteFrame)
|
|
32
|
-
if (type === SpriteTypes.FILLED) {
|
|
33
|
-
// console.log('fillType', fillType)
|
|
34
|
-
const loadingBar = new LoadingBar(fillType, node)
|
|
35
|
-
if (fillRange) loadingBar.progress = fillRange
|
|
36
|
-
if (fillCenter) loadingBar.fillCenter = fillCenter
|
|
37
|
-
component.loadingBar = loadingBar
|
|
38
|
-
// node.setMidpoint(fillCenter)
|
|
39
|
-
}
|
|
40
|
-
// node.texture.rotate = 8
|
|
41
|
-
component.node = entity.assign(new NodeComp(node, entity))
|
|
42
|
-
// component.node.anchorX = 0.5
|
|
43
|
-
// component.node.anchorY = 0.5
|
|
44
|
-
})
|
|
45
|
-
event_manager.subscribe(EventTypes.ComponentAdded, MaskRender, ({ component }) => {
|
|
46
|
-
console.log('MaskRender', component);
|
|
47
|
-
// const { type, segments, inverted } = maskComp
|
|
48
|
-
// const node = new cc.ClippingNode()
|
|
49
|
-
// node.setInverted(inverted)
|
|
50
|
-
// maskComp.node = ett.assign(new NodeComp(node, ett))
|
|
51
|
-
})
|
|
52
|
-
event_manager.subscribe(EventTypes.ComponentAdded, GraphicsRender, ({ entity, component }) => {
|
|
53
|
-
const { lineWidth, strokeColor, fillColor } = component
|
|
54
|
-
const node = new Graphics()
|
|
55
|
-
node.
|
|
56
|
-
node.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
EventManager,
|
|
3
|
+
EventTypes,
|
|
4
|
+
System
|
|
5
|
+
} from 'entityx-ts'
|
|
6
|
+
import { Container, Graphics, Sprite } from 'pixi.js'
|
|
7
|
+
|
|
8
|
+
import { NodeComp } from '..'
|
|
9
|
+
import { GraphicsRender, MaskRender, NodeRender, SpriteRender } from '../components/RenderComponent'
|
|
10
|
+
import { LoadingBar } from '../core/LoadingBar'
|
|
11
|
+
|
|
12
|
+
export enum SpriteTypes {
|
|
13
|
+
SIMPLE,
|
|
14
|
+
SLICED,
|
|
15
|
+
TILED,
|
|
16
|
+
FILLED,
|
|
17
|
+
MESH,
|
|
18
|
+
ANIMATION,
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export class RenderSystem implements System {
|
|
22
|
+
configure(event_manager: EventManager) {
|
|
23
|
+
event_manager.subscribe(EventTypes.ComponentAdded, NodeRender, ({ entity }) => {
|
|
24
|
+
const nodeRenderComp = entity.getComponent(NodeRender)
|
|
25
|
+
const node = new Container()
|
|
26
|
+
nodeRenderComp.node = entity.assign(new NodeComp(node, entity))
|
|
27
|
+
})
|
|
28
|
+
event_manager.subscribe(EventTypes.ComponentAdded, SpriteRender, ({ entity, component }) => {
|
|
29
|
+
const { spriteFrame, type, fillType, fillRange, fillCenter } = component
|
|
30
|
+
// console.log('SpriteRender', component)
|
|
31
|
+
const node = Sprite.from(spriteFrame)
|
|
32
|
+
if (type === SpriteTypes.FILLED) {
|
|
33
|
+
// console.log('fillType', fillType)
|
|
34
|
+
const loadingBar = new LoadingBar(fillType, node)
|
|
35
|
+
if (fillRange) loadingBar.progress = fillRange
|
|
36
|
+
if (fillCenter) loadingBar.fillCenter = fillCenter
|
|
37
|
+
component.loadingBar = loadingBar
|
|
38
|
+
// node.setMidpoint(fillCenter)
|
|
39
|
+
}
|
|
40
|
+
// node.texture.rotate = 8
|
|
41
|
+
component.node = entity.assign(new NodeComp(node, entity))
|
|
42
|
+
// component.node.anchorX = 0.5
|
|
43
|
+
// component.node.anchorY = 0.5
|
|
44
|
+
})
|
|
45
|
+
event_manager.subscribe(EventTypes.ComponentAdded, MaskRender, ({ component }) => {
|
|
46
|
+
console.log('MaskRender', component);
|
|
47
|
+
// const { type, segments, inverted } = maskComp
|
|
48
|
+
// const node = new cc.ClippingNode()
|
|
49
|
+
// node.setInverted(inverted)
|
|
50
|
+
// maskComp.node = ett.assign(new NodeComp(node, ett))
|
|
51
|
+
})
|
|
52
|
+
event_manager.subscribe(EventTypes.ComponentAdded, GraphicsRender, ({ entity, component }) => {
|
|
53
|
+
const { lineWidth, strokeColor, fillColor } = component
|
|
54
|
+
const node = new Graphics()
|
|
55
|
+
node.fill(fillColor)
|
|
56
|
+
node.fillStyle = strokeColor
|
|
57
|
+
node.width = lineWidth
|
|
58
|
+
component.node = entity.assign(new NodeComp(node, entity))
|
|
59
|
+
// node.drawCircle(0, 0, 100)
|
|
60
|
+
})
|
|
61
|
+
event_manager.subscribe(EventTypes.ComponentRemoved, NodeComp, ({ component }) => {
|
|
62
|
+
if (component) {
|
|
63
|
+
component.instance.removeFromParent()
|
|
64
|
+
}
|
|
65
|
+
})
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// update() {
|
|
69
|
+
// throw new Error('Method not implemented.');
|
|
70
|
+
// }
|
|
71
|
+
}
|