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
674d1518
Commit
674d1518
authored
Jan 01, 2023
by
Chunchi Che
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add cemetery slice
parent
04463686
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
49 additions
and
0 deletions
+49
-0
src/reducers/duel/cemeretySlice.ts
src/reducers/duel/cemeretySlice.ts
+33
-0
src/reducers/duel/mod.ts
src/reducers/duel/mod.ts
+8
-0
src/reducers/duel/util.ts
src/reducers/duel/util.ts
+5
-0
src/service/duel/start.ts
src/service/duel/start.ts
+3
-0
No files found.
src/reducers/duel/cemeretySlice.ts
0 → 100644
View file @
674d1518
import
{
judgeSelf
,
Cemetery
}
from
"
./util
"
;
import
{
PayloadAction
,
CaseReducer
,
createAsyncThunk
,
ActionReducerMapBuilder
,
}
from
"
@reduxjs/toolkit
"
;
import
{
DuelState
}
from
"
./mod
"
;
import
{
ygopro
}
from
"
../../api/ocgcore/idl/ocgcore
"
;
import
{
RootState
}
from
"
../../store
"
;
import
{
fetchCard
}
from
"
../../api/cards
"
;
export
interface
CemeteryState
{
cemetery
:
Cemetery
[];
}
// 初始化墓地状态
export
const
initCemeteryImpl
:
CaseReducer
<
DuelState
,
PayloadAction
<
number
>>
=
(
state
,
action
)
=>
{
const
player
=
action
.
payload
;
if
(
judgeSelf
(
player
,
state
))
{
state
.
meCemetery
=
{
cemetery
:
[]
};
}
else
{
state
.
opCemetery
=
{
cemetery
:
[]
};
}
};
export
const
selectMeCemetery
=
(
state
:
RootState
)
=>
state
.
duel
.
meCemetery
||
{
cemetery
:
[]
};
export
const
selectOpCemetery
=
(
state
:
RootState
)
=>
state
.
duel
.
opCemetery
||
{
cemetery
:
[]
};
src/reducers/duel/mod.ts
View file @
674d1518
...
@@ -38,6 +38,7 @@ import {
...
@@ -38,6 +38,7 @@ import {
clearMagicSelectInfoImpl
,
clearMagicSelectInfoImpl
,
magicCase
,
magicCase
,
}
from
"
./magicSlice
"
;
}
from
"
./magicSlice
"
;
import
{
CemeteryState
,
initCemeteryImpl
}
from
"
./cemeretySlice
"
;
export
interface
DuelState
{
export
interface
DuelState
{
selfType
?:
number
;
selfType
?:
number
;
...
@@ -53,6 +54,9 @@ export interface DuelState {
...
@@ -53,6 +54,9 @@ export interface DuelState {
meMagics
?:
MagicState
;
// 自己的魔法陷阱区状态
meMagics
?:
MagicState
;
// 自己的魔法陷阱区状态
opMagics
?:
MagicState
;
// 对手的魔法陷阱区状态
opMagics
?:
MagicState
;
// 对手的魔法陷阱区状态
meCemetery
?:
CemeteryState
;
// 自己的墓地状态
opCemetery
?:
CemeteryState
;
// 对手的墓地状态
meTimeLimit
?:
TimeLimit
;
// 自己的计时
meTimeLimit
?:
TimeLimit
;
// 自己的计时
opTimeLimit
?:
TimeLimit
;
// 对手的计时
opTimeLimit
?:
TimeLimit
;
// 对手的计时
...
@@ -99,6 +103,9 @@ const duelSlice = createSlice({
...
@@ -99,6 +103,9 @@ const duelSlice = createSlice({
addMagicPlaceSelectAble
:
addMagicPlaceSelectAbleImpl
,
addMagicPlaceSelectAble
:
addMagicPlaceSelectAbleImpl
,
clearMagicSelectInfo
:
clearMagicSelectInfoImpl
,
clearMagicSelectInfo
:
clearMagicSelectInfoImpl
,
// 墓地相关`Reducer`
initCemetery
:
initCemeteryImpl
,
// UI相关`Reducer`
// UI相关`Reducer`
setCardModalIsOpen
:
setCardModalIsOpenImpl
,
setCardModalIsOpen
:
setCardModalIsOpenImpl
,
setCardModalText
:
setCardModalTextImpl
,
setCardModalText
:
setCardModalTextImpl
,
...
@@ -132,6 +139,7 @@ export const {
...
@@ -132,6 +139,7 @@ export const {
addMagicPlaceSelectAble
,
addMagicPlaceSelectAble
,
clearMagicSelectInfo
,
clearMagicSelectInfo
,
removeHand
,
removeHand
,
initCemetery
,
}
=
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/util.ts
View file @
674d1518
...
@@ -69,3 +69,8 @@ export interface SlotState {
...
@@ -69,3 +69,8 @@ export interface SlotState {
export
type
Monster
=
SlotState
;
export
type
Monster
=
SlotState
;
export
type
Magic
=
SlotState
;
export
type
Magic
=
SlotState
;
export
interface
Cemetery
{
sequence
:
number
;
meta
:
CardMeta
;
}
src/service/duel/start.ts
View file @
674d1518
...
@@ -5,6 +5,7 @@ import {
...
@@ -5,6 +5,7 @@ import {
setSelfType
,
setSelfType
,
initMonsters
,
initMonsters
,
initMagics
,
initMagics
,
initCemetery
,
}
from
"
../../reducers/duel/mod
"
;
}
from
"
../../reducers/duel/mod
"
;
export
default
(
export
default
(
...
@@ -36,4 +37,6 @@ export default (
...
@@ -36,4 +37,6 @@ export default (
dispatch
(
initMonsters
(
1
));
dispatch
(
initMonsters
(
1
));
dispatch
(
initMagics
(
0
));
dispatch
(
initMagics
(
0
));
dispatch
(
initMagics
(
1
));
dispatch
(
initMagics
(
1
));
dispatch
(
initCemetery
(
0
));
dispatch
(
initCemetery
(
1
));
};
};
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