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
de05dbe7
Commit
de05dbe7
authored
Jun 17, 2023
by
Chunchi Che
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'optimize/animation' into 'main'
Optimize/animation See merge request
mycard/Neos!224
parents
e06ef308
64588205
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
18 additions
and
10 deletions
+18
-10
src/service/duel/chaining.ts
src/service/duel/chaining.ts
+2
-2
src/service/duel/gameMsg.ts
src/service/duel/gameMsg.ts
+1
-1
src/service/duel/shuffleHand.ts
src/service/duel/shuffleHand.ts
+7
-3
src/ui/Duel/PlayMat/Card/index.tsx
src/ui/Duel/PlayMat/Card/index.tsx
+4
-2
src/ui/Duel/PlayMat/Card/springs/focus.ts
src/ui/Duel/PlayMat/Card/springs/focus.ts
+4
-2
No files found.
src/service/duel/chaining.ts
View file @
de05dbe7
...
...
@@ -30,9 +30,9 @@ export default async (chaining: ygopro.StocGameMessage.MsgChaining) => {
await
eventbus
.
call
(
Task
.
Focus
,
target
.
uuid
);
console
.
color
(
"
blue
"
)(
`
${
target
.
meta
.
text
.
name
}
chaining`
);
// 临时办法,这里延迟
5
00ms
// 临时办法,这里延迟
8
00ms
// 长期:需要实现动画序列,一个动画完成后才执行下一个动画
await
sleep
(
10
00
);
await
sleep
(
8
00
);
}
else
{
console
.
warn
(
`<Chaining>target from
${
location
}
is null`
);
}
...
...
src/service/duel/gameMsg.ts
View file @
de05dbe7
...
...
@@ -144,7 +144,7 @@ async function _handleGameMsg(pb: ygopro.YgoStocMsg) {
break
;
}
case
"
shuffle_hand
"
:
{
onMsgShuffleHand
(
msg
.
shuffle_hand
);
await
onMsgShuffleHand
(
msg
.
shuffle_hand
);
break
;
}
...
...
src/service/duel/shuffleHand.ts
View file @
de05dbe7
import
{
ygopro
}
from
"
@/api
"
;
import
{
eventbus
,
Task
}
from
"
@/infra
"
;
import
{
cardStore
}
from
"
@/stores
"
;
type
MsgShuffleHand
=
ygopro
.
StocGameMessage
.
MsgShuffleHand
;
export
default
(
shuffleHand
:
MsgShuffleHand
)
=>
{
export
default
async
(
shuffleHand
:
MsgShuffleHand
)
=>
{
const
{
hands
:
codes
,
player
:
controller
}
=
shuffleHand
;
// 本质上是要将手卡的sequence变成和codes一样的顺序
...
...
@@ -13,13 +14,16 @@ export default (shuffleHand: MsgShuffleHand) => {
hash
.
get
(
code
)?.
push
(
sequence
);
});
hands
.
forEach
((
hand
)
=>
{
for
(
const
hand
of
hands
)
{
const
sequences
=
hash
.
get
(
hand
.
code
);
if
(
sequences
!==
undefined
)
{
const
sequence
=
sequences
.
pop
();
if
(
sequence
!==
undefined
)
{
hand
.
location
.
sequence
=
sequence
;
hash
.
set
(
hand
.
code
,
sequences
);
// 触发动画
await
eventbus
.
call
(
Task
.
Move
,
hand
.
uuid
);
}
else
{
console
.
warn
(
`<ShuffleHand>sequence poped is none, controller=
${
controller
}
, code=
${
hand
.
code
}
, sequence=
${
sequence
}
`
...
...
@@ -32,5 +36,5 @@ export default (shuffleHand: MsgShuffleHand) => {
)}
, codes=
${
codes
}
`
);
}
}
);
}
};
src/ui/Duel/PlayMat/Card/index.tsx
View file @
de05dbe7
...
...
@@ -64,6 +64,7 @@ export const Card: FC<{ idx: number }> = React.memo(({ idx }) => {
}
};
// 这里后期应该去掉?
useEffect
(()
=>
{
move
(
state
.
location
.
zone
);
},
[]);
...
...
@@ -108,9 +109,10 @@ export const Card: FC<{ idx: number }> = React.memo(({ idx }) => {
);
// <<< 动画 <<<
const
idleInteractivities
=
snap
.
idleInteractivities
;
useEffect
(()
=>
{
setHighlight
(
!!
snap
.
idleInteractivities
.
length
);
},
[
snap
.
idleInteractivities
]);
setHighlight
(
!!
idleInteractivities
.
length
);
},
[
idleInteractivities
]);
return
(
<
animated
.
div
...
...
src/ui/Duel/PlayMat/Card/springs/focus.ts
View file @
de05dbe7
import
{
config
}
from
"
@react-spring/web
"
;
import
{
ygopro
}
from
"
@/api
"
;
import
{
type
CardType
,
matStore
}
from
"
@/stores
"
;
...
...
@@ -19,7 +21,7 @@ export const focus = async (props: { card: CardType; api: SpringApi }) => {
});
await
asyncStart
(
api
)({
y
:
current
.
y
,
ry
:
current
.
ry
,
rz
:
current
.
rz
});
}
else
{
await
asyncStart
(
api
)({
z
:
200
});
await
asyncStart
(
api
)({
z
:
current
.
z
});
await
asyncStart
(
api
)({
z
:
200
,
config
:
config
.
gentle
});
await
asyncStart
(
api
)({
z
:
current
.
z
,
config
:
config
.
default
});
}
};
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