Commit 829c5bc4 authored by chechunchi's avatar chechunchi

update CardMeta interface

parent 6be92491
......@@ -16,6 +16,22 @@ export interface CardMeta {
name?: string;
types?: string;
desc?: string;
str1?: string;
str2?: string;
str3?: string;
str4?: string;
str5?: string;
str6?: string;
str7?: string;
str8?: string;
str9?: string;
str10?: string;
str11?: string;
str12?: string;
str13?: string;
str14?: string;
str15?: string;
str16?: string;
};
}
......@@ -31,3 +47,59 @@ export async function fetchCard(id: number): Promise<CardMeta> {
return res.data;
}
export function getCardStr(meta: CardMeta, idx: number): string | undefined {
switch (idx) {
case 0: {
return meta.text.str1;
}
case 1: {
return meta.text.str2;
}
case 2: {
return meta.text.str3;
}
case 3: {
return meta.text.str4;
}
case 4: {
return meta.text.str5;
}
case 5: {
return meta.text.str6;
}
case 6: {
return meta.text.str7;
}
case 7: {
return meta.text.str8;
}
case 8: {
return meta.text.str9;
}
case 9: {
return meta.text.str10;
}
case 10: {
return meta.text.str11;
}
case 11: {
return meta.text.str12;
}
case 12: {
return meta.text.str13;
}
case 13: {
return meta.text.str14;
}
case 14: {
return meta.text.str15;
}
case 15: {
return meta.text.str16;
}
default: {
return undefined;
}
}
}
......@@ -4,7 +4,7 @@ import {
createAsyncThunk,
ActionReducerMapBuilder,
} from "@reduxjs/toolkit";
import { fetchCard } from "../../api/cards";
import { fetchCard, getCardStr } from "../../api/cards";
import { RootState } from "../../store";
import { DuelState } from "./mod";
import { judgeSelf } from "./util";
......@@ -38,6 +38,7 @@ export interface ModalState {
code: number;
name?: string;
desc?: string;
effectDesc?: string;
response: number;
}[];
}[];
......@@ -121,9 +122,12 @@ export const fetchCheckCardMeta = createAsyncThunk(
async (param: {
controler: number;
tagName: string;
option: { code: number; response: number };
option: { code: number; response: number; effectDescCode?: number };
}) => {
const meta = await fetchCard(param.option.code);
const effectDesc = param.option.effectDescCode
? getCardStr(meta, param.option.effectDescCode & 0xf)
: undefined;
const response = {
controler: param.controler,
tagName: param.tagName,
......@@ -131,6 +135,7 @@ export const fetchCheckCardMeta = createAsyncThunk(
code: meta.id,
name: meta.text.name,
desc: meta.text.desc,
effectDesc
},
};
......@@ -178,6 +183,7 @@ export const checkCardModalCase = (
if (option.code == meta.code) {
option.name = meta.name;
option.desc = meta.desc;
option.effectDesc = meta.effectDesc;
}
}
}
......
......@@ -2,6 +2,4 @@ import { ygopro } from "../../api/ocgcore/idl/ocgcore";
import { AppDispatch } from "../../store";
import MsgSelectChain = ygopro.StocGameMessage.MsgSelectChain;
export default (selectChain: MsgSelectChain, dispatch: AppDispatch) => {
console.log(selectChain);
};
export default (selectChain: MsgSelectChain, dispatch: AppDispatch) => {};
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