Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
N
Neos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
love_飞影
Neos
Commits
5c373e9f
Commit
5c373e9f
authored
May 29, 2023
by
timel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: chaining animation
parent
94d5f901
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
6 deletions
+16
-6
src/service/duel/chaining.ts
src/service/duel/chaining.ts
+1
-0
src/ui/Duel/PlayMat/Card/index.tsx
src/ui/Duel/PlayMat/Card/index.tsx
+15
-6
No files found.
src/service/duel/chaining.ts
View file @
5c373e9f
...
...
@@ -23,6 +23,7 @@ export default async (chaining: ygopro.StocGameMessage.MsgChaining) => {
if
(
target
)
{
target
.
chainIndex
=
matStore
.
chains
.
length
;
eventBus
.
emit
(
Report
.
Chaining
,
target
.
uuid
);
console
.
color
(
"
blue
"
)(
`
${
target
.
meta
.
text
.
name
}
chaining`
);
}
else
{
console
.
warn
(
`<Chaining>target from
${
location
}
is null`
);
}
...
...
src/ui/Duel/PlayMat/Card/index.tsx
View file @
5c373e9f
...
...
@@ -69,23 +69,32 @@ export const Card: FC<{ idx: number }> = React.memo(({ idx }) => {
const
[
highlight
,
setHighlight
]
=
useState
(
false
);
const
[
shadowOpacity
,
setShadowOpacity
]
=
useState
(
0
);
// >>> 动画 >>>
/** 动画序列的promise,当不是undefined,就说明现在这个卡有动画 */
let
animation
:
Promise
<
void
>
|
undefined
=
undefined
;
let
animation
:
Promise
<
void
>
|
null
=
null
;
const
play
=
(
p
:
()
=>
Promise
<
void
>
)
=>
{
if
(
animation
)
{
animation
=
animation
.
then
(
p
).
then
(()
=>
{
animation
=
null
;
});
}
else
{
animation
=
p
();
}
};
eventBus
.
on
(
Report
.
Move
,
(
uuid
:
string
)
=>
{
if
(
uuid
===
state
.
uuid
)
{
const
p
=
move
(
state
.
zone
);
animation
=
animation
?
animation
.
then
(()
=>
p
)
:
p
;
play
(()
=>
move
(
state
.
zone
));
}
});
// TODO:测试和改bug
eventBus
.
on
(
Report
.
Chaining
,
(
uuid
:
string
)
=>
{
if
(
uuid
===
state
.
uuid
)
{
// const p = chaining({ card: state, api });
// animation = animation ? animation.then(() => p) : p;
play
(()
=>
chaining
({
card
:
state
,
api
}));
}
});
// <<< 动画 <<<
useEffect
(()
=>
{
setHighlight
(
!!
snap
.
idleInteractivities
.
length
);
...
...
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