Commit 647eaabc authored by Chunchi Che's avatar Chunchi Che

Revert "format"

This reverts commit 803df485.
parent d6372030
...@@ -54,7 +54,6 @@ export const Card: React.FC<{ idx: number }> = React.memo(({ idx }) => { ...@@ -54,7 +54,6 @@ export const Card: React.FC<{ idx: number }> = React.memo(({ idx }) => {
focusOpacity: 1, focusOpacity: 1,
subZ: 0, subZ: 0,
opacity: 1, opacity: 1,
config: { mass: 1, tension: 800, friction: 30 },
}) satisfies SpringApiProps, }) satisfies SpringApiProps,
); );
......
...@@ -52,17 +52,16 @@ export const attack: AttackFunc = async (props) => { ...@@ -52,17 +52,16 @@ export const attack: AttackFunc = async (props) => {
z: 200, z: 200,
}); });
// 后撤半个卡位,并调整倾斜角 // 后撤半个卡位,并调整倾斜角
// await asyncStart(api)({ await asyncStart(api)({
// y: y:
// current.y + current.y +
// (BLOCK_HEIGHT_M / 2) * (isMe(card.location.controller) ? 1 : -1), (BLOCK_HEIGHT_M / 2) * (isMe(card.location.controller) ? 1 : -1),
// rz, rz,
// }); });
// 加速前冲 // 加速前冲
await asyncStart(api)({ await asyncStart(api)({
x, x,
y, y,
rz,
config: { config: {
easing: easings.easeInOutSine, easing: easings.easeInOutSine,
}, },
...@@ -73,5 +72,8 @@ export const attack: AttackFunc = async (props) => { ...@@ -73,5 +72,8 @@ export const attack: AttackFunc = async (props) => {
y: current.y, y: current.y,
z: current.z, z: current.z,
rz: current.rz, rz: current.rz,
config: {
easing: easings.easeInOutQuad,
},
}); });
}; };
import { easings } from "@react-spring/web";
import { ygopro } from "@/api"; import { ygopro } from "@/api";
import { isMe } from "@/stores"; import { isMe } from "@/stores";
import { matConfig } from "@/ui/Shared"; import { matConfig } from "@/ui/Shared";
...@@ -96,17 +98,32 @@ export const moveToGround: MoveFunc = async (props) => { ...@@ -96,17 +98,32 @@ export const moveToGround: MoveFunc = async (props) => {
rz, rz,
height: 0, height: 0,
}); });
} else {
await asyncStart(api)({
x,
y,
height,
z: is_overlay ? 120 : 200,
ry,
rz,
config: {
tension: 250,
clamp: true,
easing: easings.easeOutSine,
},
});
} }
await asyncStart(api)({ await asyncStart(api)({
height, height,
x,
y,
z: 0, z: 0,
ry,
rz,
subZ: isToken ? 100 : 0, subZ: isToken ? 100 : 0,
zIndex: is_overlay ? 1 : 3, zIndex: is_overlay ? 1 : 3,
config: {
easing: easings.easeInQuad,
duration: 200,
clamp: true,
},
}); });
if (isToken) api.set({ subZ: 0 }); if (isToken) api.set({ subZ: 0 });
}; };
...@@ -32,10 +32,6 @@ export const moveToOutside: MoveFunc = async (props) => { ...@@ -32,10 +32,6 @@ export const moveToOutside: MoveFunc = async (props) => {
x = -x; x = -x;
y = -y; y = -y;
} }
api.set({
z: 0,
subZ: 100,
});
await asyncStart(api)({ await asyncStart(api)({
x, x,
y, y,
...@@ -45,6 +41,9 @@ export const moveToOutside: MoveFunc = async (props) => { ...@@ -45,6 +41,9 @@ export const moveToOutside: MoveFunc = async (props) => {
ry: [ygopro.CardPosition.FACEDOWN].includes(position) ? 180 : 0, ry: [ygopro.CardPosition.FACEDOWN].includes(position) ? 180 : 0,
subZ: 100, subZ: 100,
zIndex: sequence, zIndex: sequence,
config: {
tension: 140,
},
}); });
api.set({ subZ: 0 }); api.set({ subZ: 0 });
}; };
...@@ -20,13 +20,6 @@ export interface SpringApiProps { ...@@ -20,13 +20,6 @@ export interface SpringApiProps {
// <<< focus // <<< focus
subZ: number; // 0 -> 100,这是为了让卡片移动过程中,稍微上浮一些,避免一些奇怪的遮挡问题 subZ: number; // 0 -> 100,这是为了让卡片移动过程中,稍微上浮一些,避免一些奇怪的遮挡问题
config?: Partial<{
mass: number;
tension: number;
friction: number;
clamp: boolean;
}>;
} }
export type SpringApi = SpringRef<SpringApiProps>; export type SpringApi = SpringRef<SpringApiProps>;
......
import classNames from "classnames"; import classNames from "classnames";
import { CSSProperties, useEffect, useState } from "react"; import { CSSProperties, useMemo } from "react";
import { useConfig } from "@/config"; import { useConfig } from "@/config";
import { isSuperReleaseCard } from "@/superPreRelease"; import { isSuperReleaseCard } from "@/superPreRelease";
...@@ -21,41 +21,33 @@ export const YgoCard: React.FC<Props> = (props) => { ...@@ -21,41 +21,33 @@ export const YgoCard: React.FC<Props> = (props) => {
const { const {
className, className,
code = 0, code = 0,
// cardName,
isBack = false, isBack = false,
width, width,
style, style,
onClick, onClick,
onLoad, onLoad,
} = props; } = props;
return useMemo(
const [src, setSrc] = useState( () => (
"https://img2.imgtp.com/2024/03/06/G6wTJRz9.png", <div
); className={classNames(styles["ygo-card"], className)}
style={
useEffect(() => { {
const img = new Image(); width,
img.onload = () => { "--src": `url(${getCardImgUrl(code, isBack)})`,
console.timeEnd(code.toString()); ...style,
setSrc(img.src); // 图片加载完成后更新src状态 } as any
}; }
// 直接设置图片路径,无需url()包裹 onClick={onClick}
img.src = getCardImgUrl(code, isBack); // 加载完成
console.time(code.toString()); onLoad={onLoad}
}, [code, isBack]); // useEffect的依赖数组中加入isBack >
{/* 暂时不能这么写...但如果用onload的话来判断可能又很消耗性能,再看看吧 */}
return ( {/* {cardName} */}
<div </div>
className={classNames(styles["ygo-card"], className)} ),
style={ [code],
{
width,
"--src": `url(${src})`,
...style,
} as any
}
onClick={onClick}
onLoad={onLoad}
></div>
); );
}; };
......
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