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
9a9f9641
Commit
9a9f9641
authored
Mar 23, 2023
by
Chunchi Che
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update checkCardModalV3 slice
parent
27722e8d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
144 additions
and
2 deletions
+144
-2
src/reducers/duel/mod.ts
src/reducers/duel/mod.ts
+15
-0
src/reducers/duel/modal/checkCardModalV3Slice.ts
src/reducers/duel/modal/checkCardModalV3Slice.ts
+125
-0
src/reducers/duel/modal/mod.ts
src/reducers/duel/modal/mod.ts
+4
-2
No files found.
src/reducers/duel/mod.ts
View file @
9a9f9641
...
@@ -53,6 +53,11 @@ import {
...
@@ -53,6 +53,11 @@ import {
resetCheckCardModalV2Impl
,
resetCheckCardModalV2Impl
,
setCheckCardModalV2ResponseAbleImpl
,
setCheckCardModalV2ResponseAbleImpl
,
checkCardModalV2Case
,
checkCardModalV2Case
,
setCheckCardModalV3IsOpenImpl
,
setCheckCardModalV3MinMaxImpl
,
setCheckCardModalV3AllLevelImpl
,
setCheckCardModalV3OverFlowImpl
,
setCheckCardModalV3ResponseAbleImpl
,
}
from
"
./modal/mod
"
;
}
from
"
./modal/mod
"
;
import
{
import
{
MonsterState
,
MonsterState
,
...
@@ -260,6 +265,11 @@ const duelSlice = createSlice({
...
@@ -260,6 +265,11 @@ const duelSlice = createSlice({
setCheckCardModalV2IsOpen
:
setCheckCardModalV2IsOpenImpl
,
setCheckCardModalV2IsOpen
:
setCheckCardModalV2IsOpenImpl
,
resetCheckCardModalV2
:
resetCheckCardModalV2Impl
,
resetCheckCardModalV2
:
resetCheckCardModalV2Impl
,
setCheckCardModalV2ResponseAble
:
setCheckCardModalV2ResponseAbleImpl
,
setCheckCardModalV2ResponseAble
:
setCheckCardModalV2ResponseAbleImpl
,
setCheckCardModalV3IsOpen
:
setCheckCardModalV3IsOpenImpl
,
setCheckCardModalV3MinMax
:
setCheckCardModalV3MinMaxImpl
,
setCheckCardModalV3AllLevel
:
setCheckCardModalV3AllLevelImpl
,
setCheckCardModalV3OverFlow
:
setCheckCardModalV3OverFlowImpl
,
setCheckCardModalV3ResponseAble
:
setCheckCardModalV3ResponseAbleImpl
,
// 通用的`Reducer`
// 通用的`Reducer`
clearAllIdleInteractivities
:
clearAllIdleInteractivitiesImpl
,
clearAllIdleInteractivities
:
clearAllIdleInteractivitiesImpl
,
...
@@ -364,6 +374,11 @@ export const {
...
@@ -364,6 +374,11 @@ export const {
setUnimplemented
,
setUnimplemented
,
updateFieldData
,
updateFieldData
,
reloadField
,
reloadField
,
setCheckCardModalV3IsOpen
,
setCheckCardModalV3MinMax
,
setCheckCardModalV3AllLevel
,
setCheckCardModalV3OverFlow
,
setCheckCardModalV3ResponseAble
,
}
=
duelSlice
.
actions
;
}
=
duelSlice
.
actions
;
export
const
selectDuelHsStart
=
(
state
:
RootState
)
=>
{
export
const
selectDuelHsStart
=
(
state
:
RootState
)
=>
{
return
state
.
duel
.
meInitInfo
!=
null
;
return
state
.
duel
.
meInitInfo
!=
null
;
...
...
src/reducers/duel/modal/checkCardModalV3Slice.ts
0 → 100644
View file @
9a9f9641
import
{
DuelState
}
from
"
../mod
"
;
import
{
DuelReducer
}
from
"
../generic
"
;
import
{
ActionReducerMapBuilder
,
CaseReducer
,
createAsyncThunk
,
}
from
"
@reduxjs/toolkit
"
;
import
{
fetchCard
}
from
"
../../../api/cards
"
;
import
{
RootState
}
from
"
../../../store
"
;
// 更新打开状态
export
const
setCheckCardModalV3IsOpenImpl
:
DuelReducer
<
boolean
>
=
(
state
,
action
)
=>
{
state
.
modalState
.
checkCardModalV3
.
isOpen
=
action
.
payload
;
};
// 更新选择数目
export
const
setCheckCardModalV3MinMaxImpl
:
DuelReducer
<
{
min
:
number
;
max
:
number
;
}
>
=
(
state
,
action
)
=>
{
state
.
modalState
.
checkCardModalV3
.
selectMin
=
action
.
payload
.
min
;
state
.
modalState
.
checkCardModalV3
.
selectMax
=
action
.
payload
.
max
;
};
export
const
setCheckCardModalV3AllLevelImpl
:
DuelReducer
<
number
>
=
(
state
,
action
)
=>
{
state
.
modalState
.
checkCardModalV3
.
allLevel
=
action
.
payload
;
};
export
const
setCheckCardModalV3OverFlowImpl
:
DuelReducer
<
boolean
>
=
(
state
,
action
)
=>
{
state
.
modalState
.
checkCardModalV3
.
overflow
=
action
.
payload
;
};
export
const
setCheckCardModalV3ResponseAbleImpl
:
DuelReducer
<
boolean
>
=
(
state
,
action
)
=>
{
state
.
modalState
.
checkCardModalV3
.
responseable
=
action
.
payload
;
};
// 增加卡牌选项
export
const
fetchCheckCardMetasV3
=
createAsyncThunk
(
"
duel/fetchCheckCardMetaV3
"
,
async
(
param
:
{
controler
:
number
;
mustSelect
:
boolean
;
options
:
{
code
:
number
;
level1
:
number
;
level2
:
number
;
response
:
number
;
}[];
})
=>
{
const
metas
=
await
Promise
.
all
(
param
.
options
.
map
(
async
(
option
)
=>
{
return
await
fetchCard
(
option
.
code
,
true
);
})
);
const
response
=
{
controler
:
param
.
controler
,
mustSelect
:
param
.
mustSelect
,
metas
,
};
return
response
;
}
);
export
const
checkCardModalV3Case
=
(
builder
:
ActionReducerMapBuilder
<
DuelState
>
)
=>
{
builder
.
addCase
(
fetchCheckCardMetasV3
.
pending
,
(
state
,
action
)
=>
{
const
mustSelect
=
action
.
meta
.
arg
.
mustSelect
;
const
options
=
action
.
meta
.
arg
.
options
.
map
((
option
)
=>
{
return
{
meta
:
{
id
:
option
.
code
,
data
:
{},
text
:
{}
},
level1
:
option
.
level1
,
level2
:
option
.
level2
,
response
:
option
.
response
,
};
});
if
(
mustSelect
)
{
state
.
modalState
.
checkCardModalV3
.
mustSelectList
=
options
;
}
else
{
state
.
modalState
.
checkCardModalV3
.
selectAbleList
=
options
;
}
});
builder
.
addCase
(
fetchCheckCardMetasV3
.
fulfilled
,
(
state
,
action
)
=>
{
const
mustSelect
=
action
.
payload
.
mustSelect
;
const
metas
=
action
.
payload
.
metas
;
const
options
=
mustSelect
?
state
.
modalState
.
checkCardModalV3
.
mustSelectList
:
state
.
modalState
.
checkCardModalV3
.
selectAbleList
;
options
.
forEach
((
option
)
=>
{
metas
.
forEach
((
meta
)
=>
{
if
(
option
.
meta
.
id
==
meta
.
id
)
{
option
.
meta
=
meta
;
}
});
});
});
};
export
const
resetCheckCardModalV3Impl
:
CaseReducer
<
DuelState
>
=
(
state
)
=>
{
const
modalState
=
state
.
modalState
.
checkCardModalV3
;
modalState
.
isOpen
=
false
;
modalState
.
overflow
=
false
;
modalState
.
allLevel
=
undefined
;
modalState
.
responseable
=
undefined
;
modalState
.
mustSelectList
=
[];
modalState
.
selectAbleList
=
[];
};
export
const
selectCheckCardModalV3
=
(
state
:
RootState
)
=>
state
.
duel
.
modalState
.
checkCardModalV3
;
src/reducers/duel/modal/mod.ts
View file @
9a9f9641
...
@@ -78,14 +78,15 @@ export interface ModalState {
...
@@ -78,14 +78,15 @@ export interface ModalState {
allLevel
?:
number
;
allLevel
?:
number
;
selectMin
?:
number
;
selectMin
?:
number
;
selectMax
?:
number
;
selectMax
?:
number
;
responseable
?:
boolean
;
mustSelectList
:
{
mustSelectList
:
{
meta
?
:
CardMeta
;
meta
:
CardMeta
;
level1
:
number
;
level1
:
number
;
level2
:
number
;
level2
:
number
;
response
:
number
;
response
:
number
;
}[];
}[];
selectAbleList
:
{
selectAbleList
:
{
meta
?
:
CardMeta
;
meta
:
CardMeta
;
level1
:
number
;
level1
:
number
;
level2
:
number
;
level2
:
number
;
response
:
number
;
response
:
number
;
...
@@ -100,3 +101,4 @@ export * from "./yesNoModalSlice";
...
@@ -100,3 +101,4 @@ export * from "./yesNoModalSlice";
export
*
from
"
./positionModalSlice
"
;
export
*
from
"
./positionModalSlice
"
;
export
*
from
"
./optionModalSlice
"
;
export
*
from
"
./optionModalSlice
"
;
export
*
from
"
./checkCardModalV2Slice
"
;
export
*
from
"
./checkCardModalV2Slice
"
;
export
*
from
"
./checkCardModalV3Slice
"
;
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