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
e3fef171
Commit
e3fef171
authored
Nov 06, 2022
by
Chunchi Che
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add SimpleDuelPlateImpl
parent
5a10232c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
5 deletions
+48
-5
src/ui/Duel/duel.ts
src/ui/Duel/duel.ts
+6
-3
src/ui/Duel/main.tsx
src/ui/Duel/main.tsx
+2
-2
src/ui/Duel/simpleDuel.tsx
src/ui/Duel/simpleDuel.tsx
+40
-0
No files found.
src/ui/Duel/duel.ts
View file @
e3fef171
...
@@ -14,16 +14,19 @@
...
@@ -14,16 +14,19 @@
*
*
* */
* */
import
*
as
duelData
from
"
./data
"
;
import
*
as
DuelData
from
"
./data
"
;
import
React
from
"
react
"
;
import
type
{
RootState
}
from
"
../../store
"
;
import
type
{
RootState
}
from
"
../../store
"
;
/*
/*
* 通用的决斗界面抽象接口
* 通用的决斗界面抽象接口
*
*
* */
* */
interface
IDuelPlate
{
export
interface
IDuelPlate
{
// 渲染接口,返回一个React组件
render
():
React
.
ReactElement
;
// 注册手牌selector
// 注册手牌selector
registerHands
(
selector
:
TypeSelector
<
d
uelData
.
Card
[]
>
):
void
;
registerHands
(
selector
:
TypeSelector
<
D
uelData
.
Card
[]
>
):
void
;
}
}
export
interface
TypeSelector
<
T
>
{
export
interface
TypeSelector
<
T
>
{
...
...
src/ui/Duel/main.tsx
View file @
e3fef171
...
@@ -3,8 +3,8 @@
...
@@ -3,8 +3,8 @@
*
*
* */
* */
import
React
from
"
react
"
;
import
SimpleDuelPlateImpl
from
"
./simpleDuel
"
;
export
default
function
Duel
()
{
export
default
function
Duel
()
{
return
<
div
>
Duel
</
div
>
;
return
new
SimpleDuelPlateImpl
().
render
()
;
}
}
src/ui/Duel/simpleDuel.tsx
0 → 100644
View file @
e3fef171
/*
* 一个简洁的决斗界面实现
*
* */
import
{
IDuelPlate
,
TypeSelector
}
from
"
./duel
"
;
import
*
as
DuelData
from
"
./data
"
;
import
{
useAppSelector
}
from
"
../../hook
"
;
import
React
from
"
react
"
;
import
type
{
RootState
}
from
"
../../store
"
;
export
default
class
SimpleDuelPlateImpl
implements
IDuelPlate
{
handsSelector
?:
TypeSelector
<
DuelData
.
Card
[]
>
;
constructor
()
{}
render
():
React
.
ReactElement
{
// 默认的手牌Selector,返回三个code为-1的Card。
const
defaultHandsSelector
=
(
_
:
RootState
)
=>
{
return
new
Array
(
5
).
fill
({
code
:
-
1
});
};
const
hands
=
useAppSelector
(
this
.
handsSelector
||
defaultHandsSelector
);
return
(
<
div
>
<
table
border=
{
1
}
>
<
tr
>
{
hands
.
map
((
hand
)
=>
(
<
td
>
{
hand
.
code
}
</
td
>
))
}
</
tr
>
</
table
>
</
div
>
);
}
registerHands
(
selector
:
TypeSelector
<
DuelData
.
Card
[]
>
):
void
{
this
.
handsSelector
=
selector
;
}
}
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