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
33e986dd
Commit
33e986dd
authored
Apr 18, 2023
by
timel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: valtio store logic 35%
parent
485fdcc8
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
2 deletions
+28
-2
src/api/cards.ts
src/api/cards.ts
+1
-1
src/service/duel/move.ts
src/service/duel/move.ts
+3
-0
src/valtioStores/duelStore/playMat.ts
src/valtioStores/duelStore/playMat.ts
+17
-1
src/valtioStores/duelStore/types.ts
src/valtioStores/duelStore/types.ts
+7
-0
No files found.
src/api/cards.ts
View file @
33e986dd
...
@@ -51,7 +51,7 @@ export interface CardText {
...
@@ -51,7 +51,7 @@ export interface CardText {
* */
* */
export
async
function
fetchCard
(
export
async
function
fetchCard
(
id
:
number
,
id
:
number
,
local
?:
boolean
local
:
boolean
=
true
):
Promise
<
CardMeta
>
{
):
Promise
<
CardMeta
>
{
if
(
local
)
{
if
(
local
)
{
return
await
sqliteMiddleWare
({
return
await
sqliteMiddleWare
({
...
...
src/service/duel/move.ts
View file @
33e986dd
...
@@ -58,6 +58,7 @@ export default (move: MsgMove, dispatch: AppDispatch) => {
...
@@ -58,6 +58,7 @@ export default (move: MsgMove, dispatch: AppDispatch) => {
dispatch
(
dispatch
(
removeGraveyard
({
controler
:
from
.
controler
,
sequence
:
from
.
sequence
})
removeGraveyard
({
controler
:
from
.
controler
,
sequence
:
from
.
sequence
})
);
);
playMatStore
.
graveyards
.
remove
(
from
.
controler
,
from
.
sequence
);
break
;
break
;
}
}
...
@@ -68,6 +69,7 @@ export default (move: MsgMove, dispatch: AppDispatch) => {
...
@@ -68,6 +69,7 @@ export default (move: MsgMove, dispatch: AppDispatch) => {
sequence
:
from
.
sequence
,
sequence
:
from
.
sequence
,
})
})
);
);
playMatStore
.
banishedZones
.
remove
(
from
.
controler
,
from
.
sequence
);
break
;
break
;
}
}
...
@@ -75,6 +77,7 @@ export default (move: MsgMove, dispatch: AppDispatch) => {
...
@@ -75,6 +77,7 @@ export default (move: MsgMove, dispatch: AppDispatch) => {
dispatch
(
dispatch
(
removeExtraDeck
({
controler
:
from
.
controler
,
sequence
:
from
.
sequence
})
removeExtraDeck
({
controler
:
from
.
controler
,
sequence
:
from
.
sequence
})
);
);
playMatStore
.
extraDecks
.
remove
(
from
.
controler
,
from
.
sequence
);
break
;
break
;
}
}
...
...
src/valtioStores/duelStore/playMat.ts
View file @
33e986dd
...
@@ -97,12 +97,28 @@ const wrap = <T extends DuelFieldState>(
...
@@ -97,12 +97,28 @@ const wrap = <T extends DuelFieldState>(
...
cards
...
cards
);
);
},
},
setOccupant
:
async
(
controller
:
number
,
sequence
:
number
,
id
:
number
,
position
?:
ygopro
.
CardPosition
)
=>
{
const
meta
=
await
fetchCard
(
id
);
const
target
=
res
[
getWhom
(
controller
)][
sequence
];
target
.
occupant
=
meta
;
if
(
position
)
{
target
.
location
.
position
=
position
;
}
},
removeOccupant
:
(
controller
:
number
,
sequence
:
number
)
=>
{
res
[
getWhom
(
controller
)][
sequence
].
occupant
=
undefined
;
},
});
});
return
res
;
return
res
;
};
};
/**
/**
*
🔥
决斗盘状态仓库,本文件核心,
*
💡
决斗盘状态仓库,本文件核心,
* 具体介绍可以点进`PlayMatState`去看
* 具体介绍可以点进`PlayMatState`去看
*/
*/
export
const
playMat
=
proxy
<
PlayMatState
>
({
export
const
playMat
=
proxy
<
PlayMatState
>
({
...
...
src/valtioStores/duelStore/types.ts
View file @
33e986dd
...
@@ -12,6 +12,13 @@ export interface CardsBothSide<T extends DuelFieldState> extends BothSide<T> {
...
@@ -12,6 +12,13 @@ export interface CardsBothSide<T extends DuelFieldState> extends BothSide<T> {
remove
:
(
player
:
number
,
sequence
:
number
)
=>
void
;
// 移除特定位置的卡片
remove
:
(
player
:
number
,
sequence
:
number
)
=>
void
;
// 移除特定位置的卡片
add
:
(
controller
:
number
,
ids
:
number
[])
=>
void
;
// 在末尾添加卡片
add
:
(
controller
:
number
,
ids
:
number
[])
=>
void
;
// 在末尾添加卡片
insert
:
(
controller
:
number
,
sequence
:
number
,
id
:
number
)
=>
void
;
// 在指定位置插入卡片
insert
:
(
controller
:
number
,
sequence
:
number
,
id
:
number
)
=>
void
;
// 在指定位置插入卡片
setOccupant
:
(
controller
:
number
,
sequence
:
number
,
id
:
number
,
position
?:
ygopro
.
CardPosition
)
=>
void
;
// 设置卡片的卡片信息
removeOccupant
:
(
controller
:
number
,
sequence
:
number
)
=>
void
;
// 移除卡片的卡片信息
}
}
export
interface
PlayMatState
{
export
interface
PlayMatState
{
...
...
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