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
b5867aaa
Commit
b5867aaa
authored
Oct 06, 2022
by
Chunchi Che
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
finish Login
parent
2074c78a
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
9 deletions
+21
-9
src/WaitRoom.tsx
src/WaitRoom.tsx
+21
-9
No files found.
src/WaitRoom.tsx
View file @
b5867aaa
import
React
,
{
useRef
,
useEffect
,
useState
}
from
"
react
"
;
import
React
,
{
useRef
,
useEffect
,
useState
,
useReducer
}
from
"
react
"
;
import
{
useParams
}
from
"
react-router-dom
"
;
import
{
useParams
}
from
"
react-router-dom
"
;
import
{
ygopro
}
from
"
./api/idl/ocgcore
"
;
import
{
ygopro
}
from
"
./api/idl/ocgcore
"
;
import
{
fetchDeck
,
IDeck
}
from
"
./Card
"
;
import
{
fetchDeck
,
IDeck
}
from
"
./Card
"
;
...
@@ -22,10 +22,12 @@ export default function WaitRoom() {
...
@@ -22,10 +22,12 @@ export default function WaitRoom() {
const
[
observerCount
,
setObserverCount
]
=
useState
<
number
>
(
0
);
const
[
observerCount
,
setObserverCount
]
=
useState
<
number
>
(
0
);
const
[
player0
,
setPlayer0
]
=
useState
<
Player
>
({});
const
[
player0
,
setPlayer0
]
=
useState
<
Player
>
({});
const
[
player1
,
setPlayer1
]
=
useState
<
Player
>
({});
const
[
player1
,
setPlayer1
]
=
useState
<
Player
>
({});
const
[
_
,
forceUpdate
]
=
useReducer
(
x
=>
x
+
1
,
0
);
// todo: use correct update design
const
ws
=
useRef
<
WebSocket
|
null
>
(
null
);
const
ws
=
useRef
<
WebSocket
|
null
>
(
null
);
const
{
player
,
passWd
,
ip
}
=
params
;
const
{
player
,
passWd
,
ip
}
=
params
;
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
!
ws
.
current
)
{
if
(
!
ws
.
current
)
{
ws
.
current
=
new
WebSocket
(
"
ws://
"
+
ip
);
ws
.
current
=
new
WebSocket
(
"
ws://
"
+
ip
);
...
@@ -103,22 +105,32 @@ export default function WaitRoom() {
...
@@ -103,22 +105,32 @@ export default function WaitRoom() {
case
ygopro
.
StocHsPlayerChange
.
State
.
READY
:
{
case
ygopro
.
StocHsPlayerChange
.
State
.
READY
:
{
console
.
log
(
"
Player
"
+
change
.
pos
+
"
has ready
"
);
console
.
log
(
"
Player
"
+
change
.
pos
+
"
has ready
"
);
const
updateState
=
(
player
:
Player
)
=>
{
const
state
=
"
ready
"
;
const
state
=
"
ready
"
;
let
player
=
change
.
pos
==
0
?
player0
:
player1
;
player
.
state
=
state
;
player
.
state
=
state
;
return
player
;
};
change
.
pos
==
0
?
setPlayer0
(
player
)
:
setPlayer1
(
player
);
change
.
pos
==
0
?
setPlayer0
(
updateState
)
:
setPlayer1
(
updateState
);
forceUpdate
();
break
;
break
;
}
}
case
ygopro
.
StocHsPlayerChange
.
State
.
NO_READY
:
{
case
ygopro
.
StocHsPlayerChange
.
State
.
NO_READY
:
{
console
.
log
(
"
Player
"
+
change
.
pos
+
"
not ready
"
);
console
.
log
(
"
Player
"
+
change
.
pos
+
"
not ready
"
);
const
updateState
=
(
player
:
Player
)
=>
{
const
state
=
"
not ready
"
;
const
state
=
"
not ready
"
;
let
player
=
change
.
pos
==
0
?
player0
:
player1
;
player
.
state
=
state
;
player
.
state
=
state
;
return
player
;
};
change
.
pos
==
0
?
setPlayer0
(
player
)
:
setPlayer1
(
player
);
change
.
pos
==
0
?
setPlayer0
(
updateState
)
:
setPlayer1
(
updateState
);
forceUpdate
();
break
;
break
;
}
}
...
...
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