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
532c71e4
Commit
532c71e4
authored
May 28, 2023
by
Chunchi Che
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
todo reloadField
parent
fed01778
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1 addition
and
62 deletions
+1
-62
src/service/duel/reloadField.ts
src/service/duel/reloadField.ts
+1
-62
No files found.
src/service/duel/reloadField.ts
View file @
532c71e4
import
{
v4
as
uuidv4
}
from
"
uuid
"
;
import
{
ygopro
}
from
"
@/api
"
;
import
{
ygopro
}
from
"
@/api
"
;
import
{
cardStore
,
matStore
}
from
"
@/stores
"
;
type
MsgReloadField
=
ygopro
.
StocGameMessage
.
MsgReloadField
;
type
MsgReloadField
=
ygopro
.
StocGameMessage
.
MsgReloadField
;
type
ZoneActions
=
ygopro
.
StocGameMessage
.
MsgReloadField
.
ZoneAction
[];
export
default
(
field
:
MsgReloadField
)
=>
{
export
default
(
field
:
MsgReloadField
)
=>
{
const
_duel_rule
=
field
.
duel_rule
;
// TODO: duel_rule
// TODO: 断线重连比较复杂,先留着后面时实现
const
gamers
=
[
"
me
"
,
"
op
"
]
as
const
;
gamers
.
forEach
((
gamer
)
=>
{
matStore
.
banishedZones
[
gamer
].
length
=
0
;
matStore
.
extraDecks
[
gamer
].
length
=
0
;
matStore
.
graveyards
[
gamer
].
length
=
0
;
matStore
.
hands
[
gamer
].
length
=
0
;
matStore
.
monsters
[
gamer
].
length
=
0
;
matStore
.
magics
[
gamer
].
length
=
0
;
});
const
{
MZONE
,
SZONE
,
HAND
,
DECK
,
GRAVE
,
REMOVED
,
EXTRA
}
=
ygopro
.
CardZone
;
const
zones
=
[
MZONE
,
SZONE
,
HAND
,
DECK
,
GRAVE
,
REMOVED
,
EXTRA
]
as
const
;
field
.
actions
.
forEach
(({
player
,
zone_actions
})
=>
{
zones
.
forEach
((
zone
)
=>
{
reloadDuelField
(
zone
,
zone_actions
.
filter
((
item
)
=>
item
.
zone
===
zone
),
player
);
});
});
};
};
/** 可以理解成reload DuelFieldState */
function
reloadDuelField
(
cardZone
:
ygopro
.
CardZone
,
zoneActions
:
ZoneActions
,
controller
:
number
)
{
zoneActions
.
sort
((
a
,
b
)
=>
a
.
sequence
-
b
.
sequence
);
const
cards
=
zoneActions
.
map
((
action
)
=>
{
// FIXME: OVERLAY
return
{
uuid
:
uuidv4
(),
// 因为是重连,所以这里重新申请UUID
location
:
{
controler
:
controller
,
zone
:
action
.
zone
,
position
:
action
.
position
,
},
idleInteractivities
:
[],
counters
:
{},
focus
:
false
,
chaining
:
false
,
directAttack
:
false
,
reload
:
true
,
};
});
matStore
.
in
(
cardZone
).
of
(
controller
).
length
=
0
;
matStore
.
in
(
cardZone
)
.
of
(
controller
)
.
push
(...
cards
);
// FIXME cardStore的逻辑不是很好处理...
// 以后再写
}
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