Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
zeroing-engine
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
劳工
zeroing-engine
Commits
6a30b259
Commit
6a30b259
authored
May 07, 2020
by
rockyl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复批量弹窗问题
parent
c26351a8
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
273 additions
and
179 deletions
+273
-179
engine.js
debug/engine.js
+121
-75
engine.js.map
debug/engine.js.map
+1
-1
manifest.json
manifest.json
+1
-1
StackContainer.ts
src/zeroing/game-warpper/StackContainer.ts
+143
-98
view-effects.ts
src/zeroing/game-warpper/view-effects.ts
+7
-4
No files found.
debug/engine.js
View file @
6a30b259
...
...
@@ -15178,7 +15178,7 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
});
Object
.
defineProperty
(
TextField
.
prototype
,
"shadowBlur"
,
{
get
:
function
()
{
return
this
.
_shadow
Colo
r
;
return
this
.
_shadow
Blu
r
;
},
set
:
function
(
value
)
{
if
(
this
.
_shadowBlur
!=
value
)
{
...
...
@@ -17054,7 +17054,7 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
.
to
(
outPos
,
duration
,
Ease
[
outEase
])
.
call
(
function
()
{
container
.
removeChild
(
lastView
);
injectProp
(
lastView
,
outPos
);
injectProp
(
lastView
,
{
scaleX
:
1
,
scaleY
:
1
}
);
callback
();
});
}
...
...
@@ -17069,8 +17069,6 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
y
:
view
.
y
,
scaleX
:
1
,
scaleY
:
1
};
view
.
anchorX
=
view
.
width
/
2
;
view
.
anchorY
=
view
.
height
/
2
;
outPos
.
x
-=
view
.
width
/
2
;
outPos
.
y
-=
view
.
height
/
2
;
view
.
visible
=
true
;
...
...
@@ -17078,6 +17076,8 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
Tween
.
get
(
view
,
null
,
null
,
true
)
.
to
(
inPos
,
duration
,
Ease
[
inEase
])
.
call
(
function
()
{
view
.
anchorX
=
0
;
view
.
anchorY
=
0
;
callback
();
});
}
...
...
@@ -17109,7 +17109,7 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
.
to
({
scaleX
:
0
,
scaleY
:
0
},
duration
,
Ease
[
outEase
])
.
call
(
function
()
{
container
.
removeChild
(
lastView
);
injectProp
(
view
,
{
scaleX
:
0
,
scaleY
:
0
});
injectProp
(
view
,
{
scaleX
:
1
,
scaleY
:
1
});
callback
();
});
}
...
...
@@ -17126,6 +17126,8 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
Tween
.
get
(
view
,
null
,
null
,
true
)
.
to
({
scaleX
:
1
,
scaleY
:
1
},
duration
,
Ease
[
inEase
])
.
call
(
function
()
{
view
.
anchorX
=
0
;
view
.
anchorY
=
0
;
callback
();
});
}
...
...
@@ -17135,6 +17137,7 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
}
},
};
//# sourceMappingURL=view-effects.js.map
var
StackContainer
=
(
function
(
_super
)
{
tslib_1
.
__extends
(
StackContainer
,
_super
);
...
...
@@ -17144,6 +17147,25 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
var
_this
=
_super
.
call
(
this
)
||
this
;
_this
.
_stack
=
[];
_this
.
_inserted
=
0
;
_this
.
_playing
=
false
;
_this
.
_actionQueue
=
[];
_this
.
_playNextAction
=
function
()
{
if
(
_this
.
_playing
||
_this
.
_actionQueue
.
length
===
0
)
{
return
;
}
var
actionItem
=
_this
.
_actionQueue
.
shift
();
var
args
=
[];
for
(
var
i
=
0
,
li
=
actionItem
.
args
.
length
;
i
<
li
;
i
++
)
{
var
argument
=
actionItem
.
args
[
i
];
args
.
push
(
argument
);
}
_this
.
_playing
=
true
;
_this
[
'_'
+
actionItem
.
action
].
apply
(
_this
,
args
)
.
then
(
function
()
{
_this
.
_playing
=
false
;
setTimeout
(
_this
.
_playNextAction
,
1
);
});
};
_this
.
_mutex
=
mutex
;
_this
.
_inserted
=
inserted
;
_this
.
percentWidth
=
100
;
...
...
@@ -17165,91 +17187,117 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
enumerable
:
true
,
configurable
:
true
});
StackContainer
.
prototype
.
push
=
function
(
view
,
options
,
playEffect
,
callback
)
{
StackContainer
.
prototype
.
push
=
function
(
view
,
options
,
playEffect
)
{
if
(
playEffect
===
void
0
)
{
playEffect
=
true
;
}
this
.
_actionQueue
.
push
({
action
:
'push'
,
args
:
arguments
});
this
.
_playNextAction
();
};
StackContainer
.
prototype
.
pop
=
function
(
options
,
playEffect
)
{
if
(
playEffect
===
void
0
)
{
playEffect
=
true
;
}
this
.
_actionQueue
.
push
({
action
:
'pop'
,
args
:
arguments
});
this
.
_playNextAction
();
};
StackContainer
.
prototype
.
replace
=
function
(
view
,
options
,
playEffect
)
{
if
(
playEffect
===
void
0
)
{
playEffect
=
true
;
}
this
.
_actionQueue
.
push
({
action
:
'replace'
,
args
:
arguments
});
this
.
_playNextAction
();
};
StackContainer
.
prototype
.
popAll
=
function
(
view
,
options
,
playEffect
)
{
if
(
playEffect
===
void
0
)
{
playEffect
=
true
;
}
this
.
_actionQueue
.
push
({
action
:
'popAll'
,
args
:
arguments
});
this
.
_playNextAction
();
};
StackContainer
.
prototype
.
_push
=
function
(
view
,
options
,
playEffect
)
{
var
_this
=
this
;
if
(
playEffect
===
void
0
)
{
playEffect
=
true
;
}
return
new
Promise
(
function
(
resolve
)
{
var
action
=
'push'
;
var
lastView
;
if
(
this
.
_mutex
&&
this
.
childNum
>
0
)
{
lastView
=
this
.
getChildAt
(
0
);
this
.
_stack
.
push
(
lastView
);
if
(
_this
.
_mutex
&&
_
this
.
childNum
>
0
)
{
lastView
=
_
this
.
getChildAt
(
0
);
_
this
.
_stack
.
push
(
lastView
);
}
view
.
visible
=
false
;
this
.
addChild
(
view
);
_
this
.
addChild
(
view
);
var
data
=
{
action
:
action
,
view
:
view
,
lastView
:
lastView
,
options
:
options
,
hasView
:
true
};
this
.
dispatchEvent
(
Event
.
START
,
data
);
playViewEffect
(
playEffect
?
options
?
options
.
effect
:
null
:
null
,
options
?
options
.
effectParams
:
{},
this
.
_mutex
,
lastView
,
view
,
this
,
function
()
{
_
this
.
dispatchEvent
(
Event
.
START
,
data
);
playViewEffect
(
playEffect
?
options
?
options
.
effect
:
null
:
null
,
options
?
options
.
effectParams
:
{},
_this
.
_mutex
,
lastView
,
view
,
_
this
,
function
()
{
_this
.
dispatchEvent
(
Event
.
COMPLETE
,
data
);
callback
&&
callback
();
resolve
();
});
});
};
StackContainer
.
prototype
.
pop
=
function
(
options
,
playEffect
,
callback
)
{
StackContainer
.
prototype
.
_pop
=
function
(
options
,
playEffect
)
{
var
_this
=
this
;
if
(
playEffect
===
void
0
)
{
playEffect
=
true
;
}
return
new
Promise
(
function
(
resolve
)
{
var
action
=
'pop'
;
var
len
=
this
.
childNum
;
var
len
=
_
this
.
childNum
;
if
(
len
<=
0
)
{
return
false
;
}
var
lastView
=
this
.
getChildAt
(
this
.
children
.
length
-
1
);
var
lastView
=
_this
.
getChildAt
(
_
this
.
children
.
length
-
1
);
var
view
;
if
(
this
.
_mutex
)
{
view
=
this
.
_stack
.
pop
();
if
(
_
this
.
_mutex
)
{
view
=
_
this
.
_stack
.
pop
();
view
.
visible
=
false
;
this
.
addChild
(
view
);
_
this
.
addChild
(
view
);
}
var
data
=
{
action
:
action
,
view
:
view
,
lastView
:
lastView
,
options
:
options
,
hasView
:
len
>
1
};
this
.
dispatchEvent
(
Event
.
START
,
data
);
playViewEffect
(
playEffect
?
options
?
options
.
effect
:
null
:
null
,
options
?
options
.
effectParams
:
{},
this
.
_mutex
,
lastView
,
view
,
this
,
function
()
{
_
this
.
dispatchEvent
(
Event
.
START
,
data
);
playViewEffect
(
playEffect
?
options
?
options
.
effect
:
null
:
null
,
options
?
options
.
effectParams
:
{},
_this
.
_mutex
,
lastView
,
view
,
_
this
,
function
()
{
_this
.
dispatchEvent
(
Event
.
COMPLETE
,
data
);
callback
&&
callback
();
resolve
();
});
});
return
true
;
};
StackContainer
.
prototype
.
replace
=
function
(
view
,
options
,
playEffect
,
callback
)
{
StackContainer
.
prototype
.
_replace
=
function
(
view
,
options
,
playEffect
)
{
var
_this
=
this
;
if
(
playEffect
===
void
0
)
{
playEffect
=
true
;
}
return
new
Promise
(
function
(
resolve
)
{
var
action
=
'replace'
;
var
len
=
this
.
childNum
;
var
len
=
_
this
.
childNum
;
if
(
len
<=
0
)
{
return
false
;
}
var
lastView
=
this
.
getChildAt
(
len
-
1
);
var
lastView
=
_
this
.
getChildAt
(
len
-
1
);
view
.
visible
=
false
;
this
.
addChild
(
view
);
_
this
.
addChild
(
view
);
var
data
=
{
action
:
action
,
view
:
view
,
lastView
:
lastView
,
options
:
options
,
hasView
:
len
>
1
};
this
.
dispatchEvent
(
Event
.
START
,
data
);
playViewEffect
(
playEffect
?
options
?
options
.
effect
:
null
:
null
,
options
?
options
.
effectParams
:
{},
this
.
_mutex
,
lastView
,
view
,
this
,
function
()
{
_
this
.
dispatchEvent
(
Event
.
START
,
data
);
playViewEffect
(
playEffect
?
options
?
options
.
effect
:
null
:
null
,
options
?
options
.
effectParams
:
{},
_this
.
_mutex
,
lastView
,
view
,
_
this
,
function
()
{
_this
.
dispatchEvent
(
Event
.
COMPLETE
,
data
);
callback
&&
callback
();
resolve
();
});
});
};
StackContainer
.
prototype
.
popAll
=
function
(
view
,
options
,
playEffect
,
callback
)
{
StackContainer
.
prototype
.
_popAll
=
function
(
view
,
options
,
playEffect
)
{
var
_this
=
this
;
if
(
playEffect
===
void
0
)
{
playEffect
=
true
;
}
return
new
Promise
(
function
(
resolve
)
{
var
action
=
'popAll'
;
var
lastView
=
this
.
getChildAt
(
0
);
var
len
=
this
.
childNum
;
while
(
this
.
children
.
length
>
1
)
{
this
.
removeChildAt
(
1
);
var
lastView
=
_
this
.
getChildAt
(
0
);
var
len
=
_
this
.
childNum
;
while
(
_
this
.
children
.
length
>
1
)
{
_
this
.
removeChildAt
(
1
);
}
if
(
this
.
_mutex
)
{
this
.
_stack
.
splice
(
0
);
if
(
_
this
.
_mutex
)
{
_
this
.
_stack
.
splice
(
0
);
}
if
(
view
)
{
view
.
visible
=
false
;
this
.
addChild
(
view
);
_
this
.
addChild
(
view
);
}
var
data
=
{
action
:
action
,
view
:
view
,
lastView
:
lastView
,
options
:
options
,
hasView
:
len
>
1
};
this
.
dispatchEvent
(
Event
.
START
,
data
);
playViewEffect
(
playEffect
?
options
?
options
.
effect
:
null
:
null
,
options
?
options
.
effectParams
:
{},
this
.
_mutex
,
lastView
,
view
,
this
,
function
()
{
_
this
.
dispatchEvent
(
Event
.
START
,
data
);
playViewEffect
(
playEffect
?
options
?
options
.
effect
:
null
:
null
,
options
?
options
.
effectParams
:
{},
_this
.
_mutex
,
lastView
,
view
,
_
this
,
function
()
{
_this
.
dispatchEvent
(
Event
.
COMPLETE
,
data
);
callback
&&
callback
();
resolve
();
});
});
};
return
StackContainer
;
}(
Node$1
));
//# sourceMappingURL=StackContainer.js.map
var
colorName
=
{
"aliceblue"
:
[
240
,
248
,
255
],
...
...
@@ -21002,9 +21050,7 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
switch
(
_e
.
label
)
{
case
0
:
_a
=
this
.
_config
,
assets
=
_a
.
assets
,
customs
=
_a
.
customs
;
if
(
Array
.
isArray
(
assets
))
{
return
[
2
];
}
if
(
!!
Array
.
isArray
(
assets
))
return
[
3
,
4
];
_b
=
[];
for
(
_c
in
assets
)
_b
.
push
(
_c
);
...
...
debug/engine.js.map
View file @
6a30b259
This source diff could not be displayed because it is too large. You can
view the blob
instead.
manifest.json
View file @
6a30b259
{
"id"
:
"engine"
,
"url"
:
"engine.064186f5e8dcc18d3c38e8e0526e183be57587f2.js"
}
\ No newline at end of file
{
"id"
:
"engine"
,
"url"
:
"engine.50f2306185a286c24568fc87ef21dd4070b56456.js"
}
\ No newline at end of file
src/zeroing/game-warpper/StackContainer.ts
View file @
6a30b259
...
...
@@ -15,6 +15,9 @@ export class StackContainer extends Node {
private
_stack
=
[];
private
_inserted
=
0
;
private
_playing
=
false
;
private
_actionQueue
=
[];
constructor
(
mutex
=
true
,
inserted
=
0
)
{
super
();
...
...
@@ -43,9 +46,66 @@ export class StackContainer extends Node {
* @param view
* @param options
* @param playEffect
* @param callback
*/
push
(
view
:
DisplayObject
,
options
?,
playEffect
=
true
,
callback
?)
{
push
(
view
:
DisplayObject
,
options
?,
playEffect
=
true
)
{
this
.
_actionQueue
.
push
({
action
:
'push'
,
args
:
arguments
});
this
.
_playNextAction
();
}
/**
* 撤出视图
* @param options
* @param playEffect
*/
pop
(
options
?,
playEffect
=
true
)
{
this
.
_actionQueue
.
push
({
action
:
'pop'
,
args
:
arguments
});
this
.
_playNextAction
();
}
/**
* 替换顶层视图
* @param view
* @param options
* @param playEffect
*/
replace
(
view
:
DisplayObject
,
options
?,
playEffect
=
true
)
{
this
.
_actionQueue
.
push
({
action
:
'replace'
,
args
:
arguments
});
this
.
_playNextAction
();
}
/**
* 撤出全部视图
* @param view
* @param options
* @param playEffect
*/
popAll
(
view
?:
DisplayObject
,
options
?,
playEffect
=
true
)
{
this
.
_actionQueue
.
push
({
action
:
'popAll'
,
args
:
arguments
});
this
.
_playNextAction
();
}
private
_playNextAction
=
()
=>
{
if
(
this
.
_playing
||
this
.
_actionQueue
.
length
===
0
)
{
return
;
}
let
actionItem
=
this
.
_actionQueue
.
shift
();
let
args
=
[];
for
(
let
i
=
0
,
li
=
actionItem
.
args
.
length
;
i
<
li
;
i
++
)
{
const
argument
=
actionItem
.
args
[
i
];
args
.
push
(
argument
);
}
this
.
_playing
=
true
;
this
[
'_'
+
actionItem
.
action
].
apply
(
this
,
args
)
.
then
(()
=>
{
this
.
_playing
=
false
;
setTimeout
(
this
.
_playNextAction
,
1
);
});
};
private
_push
(
view
:
DisplayObject
,
options
?,
playEffect
=
true
)
{
return
new
Promise
(
resolve
=>
{
const
action
=
'push'
;
let
lastView
;
...
...
@@ -64,18 +124,14 @@ export class StackContainer extends Node {
this
.
_mutex
,
lastView
,
view
,
this
,
()
=>
{
this
.
dispatchEvent
(
Event
.
COMPLETE
,
data
);
callback
&&
callback
();
resolve
();
}
)
})
}
/**
* 撤出视图
* @param options
* @param playEffect
* @param callback
*/
pop
(
options
?,
playEffect
=
true
,
callback
?)
{
private
_pop
(
options
?,
playEffect
=
true
)
{
return
new
Promise
(
resolve
=>
{
const
action
=
'pop'
;
let
len
=
this
.
childNum
;
...
...
@@ -98,21 +154,14 @@ export class StackContainer extends Node {
this
.
_mutex
,
lastView
,
view
,
this
,
()
=>
{
this
.
dispatchEvent
(
Event
.
COMPLETE
,
data
);
callback
&&
callback
();
resolve
();
}
);
return
true
;
)
})
}
/**
* 替换顶层视图
* @param view
* @param options
* @param playEffect
* @param callback
*/
replace
(
view
:
DisplayObject
,
options
?,
playEffect
=
true
,
callback
?)
{
private
_replace
(
view
:
DisplayObject
,
options
?,
playEffect
=
true
)
{
return
new
Promise
(
resolve
=>
{
const
action
=
'replace'
;
let
len
=
this
.
childNum
;
...
...
@@ -132,19 +181,14 @@ export class StackContainer extends Node {
this
.
_mutex
,
lastView
,
view
,
this
,
()
=>
{
this
.
dispatchEvent
(
Event
.
COMPLETE
,
data
);
callback
&&
callback
();
resolve
();
}
)
})
}
/**
* 撤出全部视图
* @param view
* @param options
* @param playEffect
* @param callback
*/
popAll
(
view
?:
DisplayObject
,
options
?,
playEffect
=
true
,
callback
?)
{
private
_popAll
(
view
?:
DisplayObject
,
options
?,
playEffect
=
true
)
{
return
new
Promise
(
resolve
=>
{
const
action
=
'popAll'
;
let
lastView
=
this
.
getChildAt
(
0
);
...
...
@@ -156,7 +200,7 @@ export class StackContainer extends Node {
this
.
_stack
.
splice
(
0
);
}
if
(
view
)
{
if
(
view
)
{
view
.
visible
=
false
;
this
.
addChild
(
view
);
}
...
...
@@ -169,8 +213,9 @@ export class StackContainer extends Node {
this
.
_mutex
,
lastView
,
view
,
this
,
()
=>
{
this
.
dispatchEvent
(
Event
.
COMPLETE
,
data
);
callback
&&
callback
();
resolve
();
}
)
})
}
}
\ No newline at end of file
src/zeroing/game-warpper/view-effects.ts
View file @
6a30b259
...
...
@@ -169,7 +169,7 @@ const effects = {
.
to
(
outPos
,
duration
,
Ease
[
outEase
])
.
call
(()
=>
{
container
.
removeChild
(
lastView
);
injectProp
(
lastView
,
outPos
);
injectProp
(
lastView
,
{
scaleX
:
1
,
scaleY
:
1
}
);
callback
();
});
...
...
@@ -185,8 +185,6 @@ const effects = {
y
:
view
.
y
,
scaleX
:
1
,
scaleY
:
1
};
view
.
anchorX
=
view
.
width
/
2
;
view
.
anchorY
=
view
.
height
/
2
;
outPos
.
x
-=
view
.
width
/
2
;
outPos
.
y
-=
view
.
height
/
2
;
...
...
@@ -195,6 +193,9 @@ const effects = {
Tween
.
get
(
view
,
null
,
null
,
true
)
.
to
(
inPos
,
duration
,
Ease
[
inEase
])
.
call
(()
=>
{
view
.
anchorX
=
0
;
view
.
anchorY
=
0
;
callback
();
});
}
else
{
...
...
@@ -226,7 +227,7 @@ const effects = {
.
to
({
scaleX
:
0
,
scaleY
:
0
},
duration
,
Ease
[
outEase
])
.
call
(()
=>
{
container
.
removeChild
(
lastView
);
injectProp
(
view
,
{
scaleX
:
0
,
scaleY
:
0
});
injectProp
(
view
,
{
scaleX
:
1
,
scaleY
:
1
});
callback
();
});
...
...
@@ -244,6 +245,8 @@ const effects = {
Tween
.
get
(
view
,
null
,
null
,
true
)
.
to
({
scaleX
:
1
,
scaleY
:
1
},
duration
,
Ease
[
inEase
])
.
call
(()
=>
{
view
.
anchorX
=
0
;
view
.
anchorY
=
0
;
callback
();
});
}
else
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment