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
9d83a735
Commit
9d83a735
authored
Aug 14, 2023
by
timel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: small
parent
6ae9cd3b
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
18 deletions
+24
-18
src/ui/BuildDeck/store.ts
src/ui/BuildDeck/store.ts
+13
-10
src/ui/BuildDeck/utils.ts
src/ui/BuildDeck/utils.ts
+11
-8
No files found.
src/ui/BuildDeck/store.ts
View file @
9d83a735
...
@@ -42,35 +42,38 @@ export const editDeckStore = proxy({
...
@@ -42,35 +42,38 @@ export const editDeckStore = proxy({
},
},
/** 一张卡能不能放入某个区 */
/** 一张卡能不能放入某个区 */
canAdd
(
card
:
CardMeta
,
type
:
Type
):
{
result
:
boolean
;
reason
:
string
}
{
canAdd
(
card
:
CardMeta
,
type
:
Type
):
{
result
:
boolean
;
reason
:
string
}
{
const
deckType
=
editDeckStore
[
type
];
const
cardType
=
card
.
data
.
type
??
0
;
let
result
=
true
,
let
result
=
true
,
reason
=
""
;
reason
=
""
;
const
initialCards
=
editDeckStore
[
type
];
// 如果是衍生物,则不能添加
if
(
isToken
(
cardType
))
{
if
(
isToken
(
card
.
data
.
type
??
0
))
{
result
=
false
;
result
=
false
;
reason
=
"
不能添加衍生物
"
;
reason
=
"
不能添加衍生物
"
;
}
}
// 超出数量,则不能添加
const
countLimit
=
type
===
"
main
"
?
60
:
15
;
const
countLimit
=
type
===
"
main
"
?
60
:
15
;
if
(
initialCards
.
length
>=
countLimit
)
{
if
(
deckType
.
length
>=
countLimit
)
{
result
=
false
;
result
=
false
;
reason
=
`超过
${
countLimit
}
张的上限`
;
reason
=
`超过
${
countLimit
}
张的上限`
;
}
}
// 接着需要检查卡的种类
if
(
if
(
(
type
===
"
extra
"
&&
!
isExtraDeckCard
(
card
.
data
.
type
??
0
))
||
(
type
===
"
extra
"
&&
!
isExtraDeckCard
(
card
Type
))
||
(
type
===
"
main
"
&&
isExtraDeckCard
(
card
.
data
.
type
??
0
))
(
type
===
"
main
"
&&
isExtraDeckCard
(
card
Type
))
)
{
)
{
result
=
false
;
result
=
false
;
reason
=
"
卡片种类不符合
"
;
reason
=
"
卡片种类不符合
"
;
}
}
// 同名卡不超过三张
const
maxSameCard
=
3
;
// TODO: 禁卡表
const
maxSameCard
=
3
;
// TODO: 禁卡表
const
sameCardCount
=
initialCards
.
filter
((
c
)
=>
c
.
id
===
card
.
id
).
length
;
const
sameCardCount
=
deckType
.
filter
((
c
)
=>
c
.
id
===
card
.
id
).
length
;
if
(
sameCardCount
>=
maxSameCard
)
{
if
(
sameCardCount
>=
maxSameCard
)
{
result
=
false
;
result
=
false
;
reason
=
`超过同名卡
${
maxSameCard
}
张的上限`
;
reason
=
`超过同名卡
${
maxSameCard
}
张的上限`
;
}
}
return
{
result
,
reason
};
return
{
result
,
reason
};
},
},
})
satisfies
EditingDeck
;
})
satisfies
EditingDeck
;
src/ui/BuildDeck/utils.ts
View file @
9d83a735
...
@@ -41,14 +41,17 @@ export const compareCards = (a: CardMeta, b: CardMeta): number => {
...
@@ -41,14 +41,17 @@ export const compareCards = (a: CardMeta, b: CardMeta): number => {
/** 生成ydk格式的卡组文本 */
/** 生成ydk格式的卡组文本 */
function
genYdkText
(
deck
:
IDeck
):
string
{
function
genYdkText
(
deck
:
IDeck
):
string
{
const
lines
:
string
[]
=
[];
const
{
main
,
extra
,
side
}
=
deck
;
lines
.
push
(
"
#created by neos
"
);
lines
.
push
(
"
#main
"
);
const
lines
=
[
lines
.
push
(...
deck
.
main
.
map
((
cardId
)
=>
cardId
.
toString
()));
"
#created by neos
"
,
lines
.
push
(
"
#extra
"
);
"
#main
"
,
lines
.
push
(...
deck
.
extra
.
map
((
cardId
)
=>
cardId
.
toString
()));
...
main
.
map
((
cardId
)
=>
cardId
.
toString
()),
lines
.
push
(
"
!side
"
);
"
#extra
"
,
lines
.
push
(...
deck
.
side
.
map
((
cardId
)
=>
cardId
.
toString
()));
...
extra
.
map
((
cardId
)
=>
cardId
.
toString
()),
"
!side
"
,
...
side
.
map
((
cardId
)
=>
cardId
.
toString
()),
];
return
lines
.
join
(
"
\n
"
);
return
lines
.
join
(
"
\n
"
);
}
}
...
...
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