Commit cab7edda authored by Chunchi Che's avatar Chunchi Che

add interface Monster

parent 03b929ca
Pipeline #18844 passed with stages
in 2 minutes and 25 seconds
...@@ -126,7 +126,7 @@ export const addHandsInteractivityImpl: CaseReducer< ...@@ -126,7 +126,7 @@ export const addHandsInteractivityImpl: CaseReducer<
PayloadAction<{ PayloadAction<{
player: number; player: number;
index: number; index: number;
interactivity: Interactivity; interactivity: Interactivity<number>;
}> }>
> = (state, action) => { > = (state, action) => {
const player = action.payload.player; const player = action.payload.player;
......
export interface MonsterState {}
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
import { CardMeta } from "../../api/cards"; import { CardMeta } from "../../api/cards";
import { DuelState } from "./mod"; import { DuelState } from "./mod";
import { Draft } from "@reduxjs/toolkit"; import { Draft } from "@reduxjs/toolkit";
import { ygopro } from "../../api/ocgcore/idl/ocgcore";
/* /*
* 通过`player`和`selfType`判断是应该处理自己还是对手 * 通过`player`和`selfType`判断是应该处理自己还是对手
...@@ -30,7 +31,7 @@ export function judgeSelf(player: number, state: Draft<DuelState>): boolean { ...@@ -30,7 +31,7 @@ export function judgeSelf(player: number, state: Draft<DuelState>): boolean {
export interface Card { export interface Card {
meta: CardMeta; meta: CardMeta;
transform: CardTransform; transform: CardTransform;
interactivities: Interactivity[]; interactivities: Interactivity<number>[];
} }
interface CardTransform { interface CardTransform {
...@@ -59,12 +60,24 @@ export enum InteractType { ...@@ -59,12 +60,24 @@ export enum InteractType {
SSET = 5, SSET = 5,
// 可发动效果 // 可发动效果
ACTIVATE = 6, ACTIVATE = 6,
// 可作为位置选择
PLACE_SELECTABLE = 7,
} }
export interface Interactivity { export interface Interactivity<T> {
interactType: InteractType; interactType: InteractType;
// 如果`interactType`是`ACTIVATE`,这个字段是对应的效果编号 // 如果`interactType`是`ACTIVATE`,这个字段是对应的效果编号
activateIndex?: number; activateIndex?: number;
// 用户点击后,需要回传给服务端的`response` // 用户点击后,需要回传给服务端的`response`
response: number; response: T;
}
export interface Monster {
sequence: number;
occupant?: CardMeta;
selectInfo?: Interactivity<{
controler: number;
zone: ygopro.CardZone;
sequence: number;
}>;
} }
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