Commit ab0861ed authored by timel's avatar timel

fix: comments, 50%

parent 12b44c96
Pipeline #21148 failed with stages
in 16 minutes and 10 seconds
export * from "./useApp"; export * from "./useApp";
export * from "./useEnv"; export * from "./useEnv";
export * from "./useAutoMode"; export * from "./useConfig";
...@@ -7,35 +7,39 @@ import { useEnv } from "."; ...@@ -7,35 +7,39 @@ import { useEnv } from ".";
const { DEV, VITE_IS_AI_MODE, VITE_IS_AI_FIRST, VITE_AI_MODE_DEFAULT_DECK } = const { DEV, VITE_IS_AI_MODE, VITE_IS_AI_FIRST, VITE_AI_MODE_DEFAULT_DECK } =
useEnv(); useEnv();
interface AutoModeConfig { interface PrepareConfig {
defaultPlayer?: string; defaultPlayer: string;
defaultDeck?: string; defaultDeck: string;
defaultPassword?: string; defaultPassword: string;
defaultMora?: string; defaultMora: string;
isAiMode?: boolean; isAiMode: boolean;
isAiFirst?: boolean; isAiFirst: boolean;
} }
const autoModeConfig: AutoModeConfig = { const autoModeConfig: PrepareConfig = {
defaultPlayer: "", defaultPlayer: "",
defaultDeck: VITE_AI_MODE_DEFAULT_DECK ?? "Hero", // 无需考虑undefined的情况,如果为undefined,界面上会显示【请选择】
defaultDeck: VITE_AI_MODE_DEFAULT_DECK,
defaultPassword: "", defaultPassword: "",
defaultMora: "scissors",
isAiMode: false,
isAiFirst: false,
}; };
const aiModeConfig: AutoModeConfig = { const aiModeConfig: PrepareConfig = {
...autoModeConfig, ...autoModeConfig,
defaultPlayer: `AiKiller${Math.random().toString(36).slice(2)}}`, defaultPlayer: `AiKiller${Math.random().toString(36).slice(2)}}`,
defaultPassword: "AI", defaultPassword: "AI",
defaultMora: "scissors",
isAiMode: true, isAiMode: true,
isAiFirst: VITE_IS_AI_FIRST, isAiFirst: VITE_IS_AI_FIRST,
}; };
export function useAutoMode(): AutoModeConfig { export function useConfig(): PrepareConfig {
if (!DEV) return {}; if (DEV) {
if (VITE_IS_AI_MODE) {
if (VITE_IS_AI_MODE) { return aiModeConfig;
return aiModeConfig; }
// 待拓展
} }
return autoModeConfig; return autoModeConfig;
......
...@@ -11,14 +11,14 @@ import React, { useState, ChangeEvent, useEffect } from "react"; ...@@ -11,14 +11,14 @@ import React, { useState, ChangeEvent, useEffect } from "react";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import "../styles/core.scss"; import "../styles/core.scss";
import NeosConfig from "../../neos.config.json"; import NeosConfig from "../../neos.config.json";
import { useAutoMode } from "../hook"; import { useConfig } from "../hook";
const serverConfig = NeosConfig.servers; const serverConfig = NeosConfig.servers;
const { isAiMode, defaultPlayer, defaultPassword } = useAutoMode(); const { isAiMode, defaultPlayer, defaultPassword } = useConfig();
export default function Login() { export default function Login() {
const [player, setPlayer] = useState(isAiMode ? defaultPlayer : ""); const [player, setPlayer] = useState(defaultPlayer);
const [passWd, setPasswd] = useState(isAiMode ? defaultPassword : ""); const [passWd, setPasswd] = useState(defaultPassword);
const [ip, setIp] = useState(`${serverConfig[0].ip}:${serverConfig[0].port}`); const [ip, setIp] = useState(`${serverConfig[0].ip}:${serverConfig[0].port}`);
const navigate = useNavigate(); const navigate = useNavigate();
......
import React from "react"; import React from "react";
import { sendHandResult, sendTpResult } from "../api/ocgcore/ocgHelper"; import { sendHandResult, sendTpResult } from "../api/ocgcore/ocgHelper";
import { useAppSelector, useAutoMode } from "../hook"; import { useAppSelector, useConfig } from "../hook";
import { import {
selectHandSelectAble, selectHandSelectAble,
unSelectHandAble, unSelectHandAble,
...@@ -18,7 +18,7 @@ import { ...@@ -18,7 +18,7 @@ import {
TableOutlined, TableOutlined,
} from "@ant-design/icons"; } from "@ant-design/icons";
const { isAiMode, isAiFirst, defaultMora } = useAutoMode(); const { isAiMode, isAiFirst, defaultMora } = useConfig();
const Mora = () => { const Mora = () => {
const dispatch = store.dispatch; const dispatch = store.dispatch;
...@@ -50,7 +50,7 @@ const Mora = () => { ...@@ -50,7 +50,7 @@ const Mora = () => {
useEffect(() => { useEffect(() => {
if (isAiMode) { if (isAiMode) {
handleSelectMora(defaultMora!); handleSelectMora(defaultMora);
} }
}, [selectHandAble]); }, [selectHandAble]);
......
...@@ -19,7 +19,7 @@ import { ...@@ -19,7 +19,7 @@ import {
selectPlayer0, selectPlayer0,
selectPlayer1, selectPlayer1,
} from "../reducers/playerSlice"; } from "../reducers/playerSlice";
import { useAppSelector, useAutoMode } from "../hook"; import { useAppSelector, useConfig } from "../hook";
import { selectJoined } from "../reducers/joinSlice"; import { selectJoined } from "../reducers/joinSlice";
import { selectChat } from "../reducers/chatSlice"; import { selectChat } from "../reducers/chatSlice";
import { fetchDeck, type IDeck, DeckManager } from "../api/deck"; import { fetchDeck, type IDeck, DeckManager } from "../api/deck";
...@@ -48,7 +48,7 @@ import { initStrings } from "../api/strings"; ...@@ -48,7 +48,7 @@ import { initStrings } from "../api/strings";
const READY_STATE = "ready"; const READY_STATE = "ready";
const { isAiMode, defaultDeck } = useAutoMode(); const { isAiMode, defaultDeck } = useConfig();
const WaitRoom = () => { const WaitRoom = () => {
const params = useParams<{ const params = useParams<{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment