Skip to content

Commit 46bbb6e

Browse files
committed
Disable help
1 parent d79ecdc commit 46bbb6e

File tree

3 files changed

+26
-71
lines changed

3 files changed

+26
-71
lines changed

client/game/Explanations.tsx

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React, { useLayoutEffect } from "react";
22
import { Dispatch, MutableRefObject, SetStateAction, useContext, useEffect, useRef, useState } from "react";
33
import { Explanation, explain, isExplained, keywordExplanations, setExplained } from "../explain.js";
44
import { useClientSelector } from "../store.js";
5-
import { CacheContext, HelpContext, HighlightContext, PlayerContext } from "./Game.js";
5+
import { CacheContext, HighlightContext, PlayerContext } from "./Game.js";
66
import Rectangle from "../Rectangle.js";
77
import { Container } from "@pixi/react-animated";
88
import { Spring } from "react-spring";
@@ -115,41 +115,21 @@ export function ExplanationPopup(props: ExplanationProps) {
115115
export default function Explanations() {
116116
const player = useContext(PlayerContext);
117117
const cache = useContext(CacheContext);
118-
const { help } = useContext(HelpContext);
119118
const game = useClientSelector((state) => state.game);
120119
const [clickExplanations, setClickExplanations] = useState([] as Explanation[]);
121-
const [tempExplanations, setTempExplanations] = useState([] as Explanation[]);
122120

123121
useEffect(() => {
124122
const newExplanations = explain(cache, game, player).filter((e) => !isExplained(e));
125123
setClickExplanations((es) => [...es, ...newExplanations.filter((e1) => !es.find((e2) => e1.text == e2.text))]);
126124
}, [game]);
127125

128-
useEffect(() => {
129-
if (help != null) {
130-
setTempExplanations(
131-
keywordExplanations.filter((e) =>
132-
e.relevantCards(cache, game, player, true).some((c) => c.id == help.id)
133-
)
134-
);
135-
} else {
136-
setTimeout(() => {
137-
setTempExplanations([]);
138-
}, 300);
139-
}
140-
}, [help]);
141-
142126
const clicks = clickExplanations.map((e, i) => (
143127
<ExplanationPopup explanation={e} setClickExplanations={setClickExplanations} index={i} key={`click-${e.id}`} />
144128
));
145129

146-
const temps = tempExplanations.map((e, i) => (
147-
<ExplanationPopup explanation={e} help={help} index={clickExplanations.length + i} key={`temp-${e.id}`} />
148-
));
149-
150130
return (
151131
<Container x={targetResolution.width - explanationWidth} zIndex={10000}>
152-
{[...clicks, ...temps]}
132+
{clicks}
153133
</Container>
154134
);
155135
}

client/game/Game.tsx

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,6 @@ export const ConnectionContext = React.createContext(
3434
}
3535
);
3636

37-
export const HelpContext = React.createContext(
38-
{} as {
39-
help: null | CardState;
40-
setHelp: Dispatch<SetStateAction<null | CardState>>;
41-
}
42-
);
43-
4437
export const HighlightContext = React.createContext(
4538
{} as {
4639
highlight: Target[];
@@ -71,31 +64,29 @@ export default function Game(props: { message: string }) {
7164

7265
return (
7366
<DndProvider backend={PIXIBackend(app)}>
74-
<HelpContext.Provider value={{ help, setHelp }}>
75-
<CacheContext.Provider value={cache.current}>
76-
<CardAnimationContext.Provider value={cards}>
77-
<HighlightContext.Provider value={{ highlight, setHighlight }}>
78-
<PlanContext.Provider value={{ plan, setPlan }}>
79-
<Container filters={[timeColorFilterRef.current]} sortableChildren>
80-
<Table />
81-
<OpponentBoard />
82-
<Board />
83-
<EndTurn />
84-
<OpponentGrave />
85-
<Grave />
86-
<Plan />
87-
<OpponentHand />
88-
<HandAndDeck />
89-
<Resources />
90-
<Concede />
91-
<Explanations />
92-
<Message text={props.message} />
93-
</Container>
94-
</PlanContext.Provider>
95-
</HighlightContext.Provider>
96-
</CardAnimationContext.Provider>
97-
</CacheContext.Provider>
98-
</HelpContext.Provider>
67+
<CacheContext.Provider value={cache.current}>
68+
<CardAnimationContext.Provider value={cards}>
69+
<HighlightContext.Provider value={{ highlight, setHighlight }}>
70+
<PlanContext.Provider value={{ plan, setPlan }}>
71+
<Container filters={[timeColorFilterRef.current]} sortableChildren>
72+
<Table />
73+
<OpponentBoard />
74+
<Board />
75+
<EndTurn />
76+
<OpponentGrave />
77+
<Grave />
78+
<Plan />
79+
<OpponentHand />
80+
<HandAndDeck />
81+
<Resources />
82+
<Concede />
83+
<Explanations />
84+
<Message text={props.message} />
85+
</Container>
86+
</PlanContext.Provider>
87+
</HighlightContext.Provider>
88+
</CardAnimationContext.Provider>
89+
</CacheContext.Provider>
9990
</DndProvider>
10091
);
10192
}

client/game/GameCard.tsx

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import React, {
1111
import { useDrop } from "react-dnd";
1212
import { CardColors, CardState } from "../../common/card.js";
1313
import { cardHeight, cardWidth, combineColors, isCardPropsEqual } from "../Card.js";
14-
import { CacheContext, CosmeticContext, HelpContext, HighlightContext, PlanContext } from "./Game.js";
14+
import { CacheContext, CosmeticContext, HighlightContext, PlanContext } from "./Game.js";
1515
import { getCard } from "../../common/gameSlice.js";
1616
import { useClientSelector } from "../store.js";
1717
import { hex } from "../color.js";
@@ -49,7 +49,6 @@ export default React.memo(
4949
const cache = useContext(CacheContext);
5050
const { highlight } = useContext(HighlightContext);
5151
const cosmetics = useContext(CosmeticContext);
52-
const { setHelp } = useContext(HelpContext);
5352
const { setPlan } = useContext(PlanContext);
5453
const componentRef = useRef() as MutableRefObject<PixiContainer>;
5554
const [zoom, setZoom] = useState(false);
@@ -77,11 +76,6 @@ export default React.memo(
7776

7877
useEffect(() => {
7978
drop(componentRef);
80-
81-
return () => {
82-
isMousedOver = false;
83-
setHelp(null);
84-
};
8579
}, []);
8680

8781
const borderColors: CardColors[] = [];
@@ -110,18 +104,10 @@ export default React.memo(
110104

111105
const shouldHighlight = (highlight?.findIndex((h) => h.id == props.state.id) ?? -1) != -1;
112106

113-
let isMousedOver = false;
114-
115107
const pointerover = useCallback(
116108
(e) => {
117109
props.pointerover?.(e);
118110
setZoom(true);
119-
isMousedOver = true;
120-
setTimeout(() => {
121-
if (isMousedOver) {
122-
setHelp(props.state);
123-
}
124-
}, 1000);
125111
},
126112
[props.pointerover]
127113
);
@@ -130,8 +116,6 @@ export default React.memo(
130116
(e) => {
131117
props.pointerout?.(e);
132118
setZoom(false);
133-
isMousedOver = false;
134-
setHelp(null);
135119
},
136120
[props.pointerout]
137121
);

0 commit comments

Comments
 (0)