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
20689467
Commit
20689467
authored
Mar 19, 2023
by
Chunchi Che
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
86e4e7f3
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
56 additions
and
47 deletions
+56
-47
src/reducers/duel/commonSlice.ts
src/reducers/duel/commonSlice.ts
+52
-44
src/reducers/duel/generic.ts
src/reducers/duel/generic.ts
+4
-3
No files found.
src/reducers/duel/commonSlice.ts
View file @
20689467
...
...
@@ -6,6 +6,9 @@ import {
updateCardData
,
}
from
"
./generic
"
;
import
{
judgeSelf
}
from
"
./util
"
;
type
MsgUpdateData
=
ReturnType
<
typeof
ygopro
.
StocGameMessage
.
MsgUpdateData
.
prototype
.
toObject
>
;
export
const
clearAllIdleInteractivitiesImpl
:
DuelReducer
<
number
>
=
(
state
,
...
...
@@ -59,60 +62,65 @@ export const clearAllPlaceInteractivitiesImpl: DuelReducer<number> = (
states
.
forEach
((
item
)
=>
clearPlaceInteractivities
(
item
));
};
export
const
updateFieldDataImpl
:
DuelReducer
<
ygopro
.
StocGameMessage
.
MsgUpdateData
>
=
(
state
,
action
)
=>
{
export
const
updateFieldDataImpl
:
DuelReducer
<
MsgUpdateData
>
=
(
state
,
action
)
=>
{
const
player
=
action
.
payload
.
player
;
const
zone
=
action
.
payload
.
zone
;
const
actions
=
action
.
payload
.
actions
;
switch
(
zone
)
{
case
ygopro
.
CardZone
.
HAND
:
{
const
hand
=
judgeSelf
(
player
,
state
)
?
state
.
meHands
:
state
.
opHands
;
updateCardData
(
hand
,
actions
);
if
(
player
&&
zone
&&
actions
)
{
switch
(
zone
)
{
case
ygopro
.
CardZone
.
HAND
:
{
const
hand
=
judgeSelf
(
player
,
state
)
?
state
.
meHands
:
state
.
opHands
;
updateCardData
(
hand
,
actions
);
break
;
}
case
ygopro
.
CardZone
.
EXTRA
:
{
const
extra
=
judgeSelf
(
player
,
state
)
?
state
.
meExtraDeck
:
state
.
opExtraDeck
;
updateCardData
(
extra
,
actions
);
break
;
}
case
ygopro
.
CardZone
.
EXTRA
:
{
const
extra
=
judgeSelf
(
player
,
state
)
?
state
.
meExtraDeck
:
state
.
opExtraDeck
;
updateCardData
(
extra
,
actions
);
break
;
}
case
ygopro
.
CardZone
.
MZONE
:
{
const
monster
=
judgeSelf
(
player
,
state
)
?
state
.
meMonsters
:
state
.
opMonsters
;
updateCardData
(
monster
,
actions
);
break
;
}
case
ygopro
.
CardZone
.
MZONE
:
{
const
monster
=
judgeSelf
(
player
,
state
)
?
state
.
meMonsters
:
state
.
opMonsters
;
updateCardData
(
monster
,
actions
);
break
;
}
case
ygopro
.
CardZone
.
SZONE
:
{
const
magics
=
judgeSelf
(
player
,
state
)
?
state
.
meMagics
:
state
.
opMagics
;
updateCardData
(
magics
,
actions
);
break
;
}
case
ygopro
.
CardZone
.
SZONE
:
{
const
magics
=
judgeSelf
(
player
,
state
)
?
state
.
meMagics
:
state
.
opMagics
;
updateCardData
(
magics
,
actions
);
break
;
}
case
ygopro
.
CardZone
.
GRAVE
:
{
const
cemetery
=
judgeSelf
(
player
,
state
)
?
state
.
meCemetery
:
state
.
opCemetery
;
updateCardData
(
cemetery
,
actions
);
break
;
}
case
ygopro
.
CardZone
.
GRAVE
:
{
const
cemetery
=
judgeSelf
(
player
,
state
)
?
state
.
meCemetery
:
state
.
opCemetery
;
updateCardData
(
cemetery
,
actions
);
break
;
}
case
ygopro
.
CardZone
.
REMOVED
:
{
const
exclusion
=
judgeSelf
(
player
,
state
)
?
state
.
meExclusion
:
state
.
opExclusion
;
updateCardData
(
exclusion
,
actions
);
break
;
}
case
ygopro
.
CardZone
.
REMOVED
:
{
const
exclusion
=
judgeSelf
(
player
,
state
)
?
state
.
meExclusion
:
state
.
opExclusion
;
updateCardData
(
exclusion
,
actions
);
break
;
}
default
:
{
break
;
break
;
}
default
:
{
break
;
}
}
}
};
src/reducers/duel/generic.ts
View file @
20689467
...
...
@@ -8,7 +8,9 @@ import { CardMeta } from "../../api/cards";
import
{
ygopro
}
from
"
../../api/ocgcore/idl/ocgcore
"
;
import
{
fetchCard
}
from
"
../../api/cards
"
;
import
{
DuelState
}
from
"
./mod
"
;
import
UpdateDataAction
=
ygopro
.
StocGameMessage
.
MsgUpdateData
.
Action
;
type
UpdateDataAction
=
ReturnType
<
typeof
ygopro
.
StocGameMessage
.
MsgUpdateData
.
Action
.
prototype
.
toObject
>
;
export
type
DuelReducer
<
T
>
=
CaseReducer
<
DuelState
,
PayloadAction
<
T
>>
;
...
...
@@ -289,8 +291,7 @@ export function updateCardData<T extends DuelFieldState>(
state
:
T
|
undefined
,
actions
:
UpdateDataAction
[]
)
{
for
(
const
action
of
actions
)
{
const
payload
=
action
.
toObject
();
for
(
const
payload
of
actions
)
{
const
sequence
=
payload
.
location
?.
sequence
;
if
(
typeof
sequence
!==
"
undefined
"
)
{
const
target
=
state
?.
inner
.
find
((
_
,
idx
)
=>
idx
==
sequence
);
...
...
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