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
676864b0
Commit
676864b0
authored
Jan 15, 2023
by
chechunchi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update reducers
parent
20a0a738
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
100 additions
and
1 deletion
+100
-1
src/reducers/duel/generic.ts
src/reducers/duel/generic.ts
+23
-0
src/reducers/duel/magicSlice.ts
src/reducers/duel/magicSlice.ts
+32
-0
src/reducers/duel/mod.ts
src/reducers/duel/mod.ts
+10
-0
src/reducers/duel/monstersSlice.ts
src/reducers/duel/monstersSlice.ts
+32
-0
src/service/duel/selectIdleCmd.ts
src/service/duel/selectIdleCmd.ts
+3
-1
No files found.
src/reducers/duel/generic.ts
View file @
676864b0
...
@@ -224,3 +224,26 @@ export function updateCardMeta<T extends DuelFieldState>(
...
@@ -224,3 +224,26 @@ export function updateCardMeta<T extends DuelFieldState>(
});
});
}
}
}
}
export
function
extendIdleInteractivities
<
T
extends
DuelFieldState
>
(
state
:
T
|
undefined
,
sequence
:
number
,
interactivity
:
Interactivity
<
number
>
)
{
if
(
state
)
{
const
target
=
state
.
inner
.
find
((
_
,
idx
)
=>
idx
==
sequence
);
if
(
target
)
{
target
.
idleInteractivities
.
push
(
interactivity
);
}
}
}
export
function
clearIdleInteractivities
<
T
extends
DuelFieldState
>
(
state
:
T
|
undefined
)
{
if
(
state
)
{
state
.
inner
.
forEach
((
item
)
=>
{
item
.
idleInteractivities
=
[];
});
}
}
src/reducers/duel/magicSlice.ts
View file @
676864b0
...
@@ -14,6 +14,9 @@ import {
...
@@ -14,6 +14,9 @@ import {
extendPlaceInteractivity
,
extendPlaceInteractivity
,
clearPlaceInteractivities
,
clearPlaceInteractivities
,
removeOccupant
,
removeOccupant
,
Interactivity
,
extendIdleInteractivities
,
clearIdleInteractivities
,
}
from
"
./generic
"
;
}
from
"
./generic
"
;
export
interface
MagicState
extends
DuelFieldState
{}
export
interface
MagicState
extends
DuelFieldState
{}
...
@@ -97,6 +100,35 @@ export const clearMagicPlaceInteractivitiesImpl: CaseReducer<
...
@@ -97,6 +100,35 @@ export const clearMagicPlaceInteractivitiesImpl: CaseReducer<
clearPlaceInteractivities
(
magics
);
clearPlaceInteractivities
(
magics
);
};
};
export
const
addMagicIdleInteractivitiesImpl
:
CaseReducer
<
DuelState
,
PayloadAction
<
{
controler
:
number
;
sequence
:
number
;
interactivity
:
Interactivity
<
number
>
;
}
>
>
=
(
state
,
action
)
=>
{
const
magics
=
judgeSelf
(
action
.
payload
.
controler
,
state
)
?
state
.
meMagics
:
state
.
opMagics
;
extendIdleInteractivities
(
magics
,
action
.
payload
.
sequence
,
action
.
payload
.
interactivity
);
};
export
const
clearMagicIdleInteractivitiesImpl
:
CaseReducer
<
DuelState
,
PayloadAction
<
number
>
>
=
(
state
,
action
)
=>
{
const
magics
=
judgeSelf
(
action
.
payload
,
state
)
?
state
.
meMagics
:
state
.
opMagics
;
clearIdleInteractivities
(
magics
);
};
// 增加魔法陷阱
// 增加魔法陷阱
export
const
fetchMagicMeta
=
createAsyncMetaThunk
(
"
duel/fetchMagicMeta
"
);
export
const
fetchMagicMeta
=
createAsyncMetaThunk
(
"
duel/fetchMagicMeta
"
);
...
...
src/reducers/duel/mod.ts
View file @
676864b0
...
@@ -46,6 +46,8 @@ import {
...
@@ -46,6 +46,8 @@ import {
initMonstersImpl
,
initMonstersImpl
,
addMonsterPlaceInteractivitiesImpl
,
addMonsterPlaceInteractivitiesImpl
,
clearMonsterPlaceInteractivitiesImpl
,
clearMonsterPlaceInteractivitiesImpl
,
addMonsterIdleInteractivitiesImpl
,
clearMonsterIdleInteractivitiesImpl
,
removeMonsterImpl
,
removeMonsterImpl
,
monsterCase
,
monsterCase
,
}
from
"
./monstersSlice
"
;
}
from
"
./monstersSlice
"
;
...
@@ -54,6 +56,8 @@ import {
...
@@ -54,6 +56,8 @@ import {
initMagicsImpl
,
initMagicsImpl
,
addMagicPlaceInteractivitiesImpl
,
addMagicPlaceInteractivitiesImpl
,
clearMagicPlaceInteractivitiesImpl
,
clearMagicPlaceInteractivitiesImpl
,
addMagicIdleInteractivitiesImpl
,
clearMagicIdleInteractivitiesImpl
,
removeMagicImpl
,
removeMagicImpl
,
magicCase
,
magicCase
,
}
from
"
./magicSlice
"
;
}
from
"
./magicSlice
"
;
...
@@ -142,12 +146,16 @@ const duelSlice = createSlice({
...
@@ -142,12 +146,16 @@ const duelSlice = createSlice({
initMonsters
:
initMonstersImpl
,
initMonsters
:
initMonstersImpl
,
addMonsterPlaceInteractivities
:
addMonsterPlaceInteractivitiesImpl
,
addMonsterPlaceInteractivities
:
addMonsterPlaceInteractivitiesImpl
,
clearMonsterPlaceInteractivities
:
clearMonsterPlaceInteractivitiesImpl
,
clearMonsterPlaceInteractivities
:
clearMonsterPlaceInteractivitiesImpl
,
addMonsterIdleInteractivities
:
addMonsterIdleInteractivitiesImpl
,
clearMonsterIdleInteractivities
:
clearMonsterIdleInteractivitiesImpl
,
removeMonster
:
removeMonsterImpl
,
removeMonster
:
removeMonsterImpl
,
// 魔法陷阱区相关`Reducer`
// 魔法陷阱区相关`Reducer`
initMagics
:
initMagicsImpl
,
initMagics
:
initMagicsImpl
,
addMagicPlaceInteractivities
:
addMagicPlaceInteractivitiesImpl
,
addMagicPlaceInteractivities
:
addMagicPlaceInteractivitiesImpl
,
clearMagicPlaceInteractivities
:
clearMagicPlaceInteractivitiesImpl
,
clearMagicPlaceInteractivities
:
clearMagicPlaceInteractivitiesImpl
,
addMagicIdleInteractivities
:
addMagicIdleInteractivitiesImpl
,
clearMagicIdleInteractivities
:
clearMagicIdleInteractivitiesImpl
,
removeMagic
:
removeMagicImpl
,
removeMagic
:
removeMagicImpl
,
// 墓地相关`Reducer`
// 墓地相关`Reducer`
...
@@ -212,6 +220,8 @@ export const {
...
@@ -212,6 +220,8 @@ export const {
initMonsters
,
initMonsters
,
addMonsterPlaceInteractivities
,
addMonsterPlaceInteractivities
,
clearMonsterPlaceInteractivities
,
clearMonsterPlaceInteractivities
,
addMonsterIdleInteractivities
,
clearMonsterIdleInteractivities
,
removeMonster
,
removeMonster
,
initMagics
,
initMagics
,
addMagicPlaceInteractivities
,
addMagicPlaceInteractivities
,
...
...
src/reducers/duel/monstersSlice.ts
View file @
676864b0
...
@@ -9,11 +9,14 @@ import { ygopro } from "../../api/ocgcore/idl/ocgcore";
...
@@ -9,11 +9,14 @@ import { ygopro } from "../../api/ocgcore/idl/ocgcore";
import
{
RootState
}
from
"
../../store
"
;
import
{
RootState
}
from
"
../../store
"
;
import
{
import
{
DuelFieldState
,
DuelFieldState
,
Interactivity
,
createAsyncMetaThunk
,
createAsyncMetaThunk
,
extendOccupant
,
extendOccupant
,
extendPlaceInteractivity
,
extendPlaceInteractivity
,
clearPlaceInteractivities
,
clearPlaceInteractivities
,
removeOccupant
,
removeOccupant
,
extendIdleInteractivities
,
clearIdleInteractivities
,
}
from
"
./generic
"
;
}
from
"
./generic
"
;
export
interface
MonsterState
extends
DuelFieldState
{}
export
interface
MonsterState
extends
DuelFieldState
{}
...
@@ -107,6 +110,35 @@ export const clearMonsterPlaceInteractivitiesImpl: CaseReducer<
...
@@ -107,6 +110,35 @@ export const clearMonsterPlaceInteractivitiesImpl: CaseReducer<
clearPlaceInteractivities
(
monsters
);
clearPlaceInteractivities
(
monsters
);
};
};
export
const
addMonsterIdleInteractivitiesImpl
:
CaseReducer
<
DuelState
,
PayloadAction
<
{
controler
:
number
;
sequence
:
number
;
interactivity
:
Interactivity
<
number
>
;
}
>
>
=
(
state
,
action
)
=>
{
const
monsters
=
judgeSelf
(
action
.
payload
.
controler
,
state
)
?
state
.
meMonsters
:
state
.
opMonsters
;
extendIdleInteractivities
(
monsters
,
action
.
payload
.
sequence
,
action
.
payload
.
interactivity
);
};
export
const
clearMonsterIdleInteractivitiesImpl
:
CaseReducer
<
DuelState
,
PayloadAction
<
number
>
>
=
(
state
,
action
)
=>
{
const
monsters
=
judgeSelf
(
action
.
payload
,
state
)
?
state
.
meMonsters
:
state
.
opMonsters
;
clearIdleInteractivities
(
monsters
);
};
// 增加怪兽
// 增加怪兽
export
const
fetchMonsterMeta
=
createAsyncMetaThunk
(
"
duel/fetchMonsterMeta
"
);
export
const
fetchMonsterMeta
=
createAsyncMetaThunk
(
"
duel/fetchMonsterMeta
"
);
...
...
src/service/duel/selectIdleCmd.ts
View file @
676864b0
...
@@ -65,7 +65,9 @@ export default (selectIdleCmd: MsgSelectIdleCmd, dispatch: AppDispatch) => {
...
@@ -65,7 +65,9 @@ export default (selectIdleCmd: MsgSelectIdleCmd, dispatch: AppDispatch) => {
break
;
break
;
}
}
case
ygopro
.
CardZone
.
MZONE
:
{
break
;
}
default
:
{
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