bug fix
This commit is contained in:
@@ -323,8 +323,8 @@
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 2.7,
|
||||
"y": 2.7,
|
||||
"x": 2,
|
||||
"y": 2,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
|
||||
@@ -11,225 +11,231 @@ import { LuffaWalletSDK } from "./wallet/LuffaWalletSDK";
|
||||
import { UmaAnalyticsSDK } from "./analytics/UmaAnalyticsSDK";
|
||||
import { ISignCap } from "./core/ISignCap";
|
||||
import { ITransactionCap } from "./core/ITransactionCap";
|
||||
import { WebSDK } from "./platform/WebSDK";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
// 渠道管理器
|
||||
@ccclass('SDKManager')
|
||||
export class SDKManager {
|
||||
private static _I: SDKManager = null;
|
||||
public static get I(): SDKManager {
|
||||
if (!SDKManager._I) {
|
||||
SDKManager._I = new SDKManager();
|
||||
}
|
||||
return SDKManager._I;
|
||||
@ccclass("SDKManager")
|
||||
export class SDKManager {
|
||||
private static _I: SDKManager = null;
|
||||
public static get I(): SDKManager {
|
||||
if (!SDKManager._I) {
|
||||
SDKManager._I = new SDKManager();
|
||||
}
|
||||
// 广告,分享
|
||||
private adSDK: IAdSDK | null = null;
|
||||
// 钱包
|
||||
private walletSDK: IWalletSDK | null = null;
|
||||
// 平台基础
|
||||
private platformSDK: IPlatformSDK | null = null;
|
||||
// 分析统计
|
||||
private analyticsSDK: IAnalyticsSDK | null = null;
|
||||
return SDKManager._I;
|
||||
}
|
||||
// 广告,分享
|
||||
private adSDK: IAdSDK | null = null;
|
||||
// 钱包
|
||||
private walletSDK: IWalletSDK | null = null;
|
||||
// 平台基础
|
||||
private platformSDK: IPlatformSDK | null = null;
|
||||
// 分析统计
|
||||
private analyticsSDK: IAnalyticsSDK | null = null;
|
||||
|
||||
private constructor() {
|
||||
|
||||
}
|
||||
|
||||
// 初始化
|
||||
public init(cb: Function = null) {
|
||||
logger.info("SDKManager 初始化...");
|
||||
// 检测平台
|
||||
if (PlatformHelper.isKuaishou()) {
|
||||
// 快手
|
||||
private constructor() {}
|
||||
|
||||
} else if (PlatformHelper.isWechat()) {
|
||||
// 微信
|
||||
this.adSDK = new WxAdSDK();
|
||||
this.platformSDK = new WxPlatformSDK();
|
||||
} else if (PlatformHelper.isLuffa()) {
|
||||
// Luffa
|
||||
this.walletSDK = new LuffaWalletSDK();
|
||||
} else if (PlatformHelper.isByteDance()) {
|
||||
// 字节跳动
|
||||
// 初始化
|
||||
public init(cb: Function = null) {
|
||||
logger.info("SDKManager 初始化...");
|
||||
logger.info("当前平台" + sys.platform);
|
||||
// 检测平台
|
||||
if (PlatformHelper.isKuaishou()) {
|
||||
// 快手
|
||||
} else if (PlatformHelper.isWechat()) {
|
||||
// 微信
|
||||
this.adSDK = new WxAdSDK();
|
||||
this.platformSDK = new WxPlatformSDK();
|
||||
} else if (PlatformHelper.isLuffa()) {
|
||||
// Luffa
|
||||
this.walletSDK = new LuffaWalletSDK();
|
||||
} else if (PlatformHelper.isByteDance()) {
|
||||
// 字节跳动
|
||||
} else {
|
||||
//默认web平台
|
||||
this.platformSDK = new WebSDK();
|
||||
}
|
||||
|
||||
} else {
|
||||
// 默认加载 UMA 分析
|
||||
this.analyticsSDK = new UmaAnalyticsSDK();
|
||||
|
||||
}
|
||||
// 初始化各模块
|
||||
this.adSDK?.init();
|
||||
this.walletSDK?.init();
|
||||
this.platformSDK?.init();
|
||||
this.analyticsSDK?.init();
|
||||
|
||||
// 默认加载 UMA 分析
|
||||
this.analyticsSDK = new UmaAnalyticsSDK();
|
||||
// 回调
|
||||
cb && cb();
|
||||
}
|
||||
|
||||
// 初始化各模块
|
||||
this.adSDK?.init();
|
||||
this.walletSDK?.init();
|
||||
this.platformSDK?.init();
|
||||
this.analyticsSDK?.init();
|
||||
/**
|
||||
* 销毁所有 SDK
|
||||
*
|
||||
* - 逐个调用各 SDK 的 `destroy` 方法
|
||||
* - 用于游戏退出、切换账号、切换平台时释放资源
|
||||
* - 调用时机:游戏关闭 / 重新进入大厅 / SDK 切换
|
||||
*/
|
||||
public destroyAll() {
|
||||
this.adSDK?.destroy?.();
|
||||
this.adSDK = null;
|
||||
this.walletSDK?.destroy?.();
|
||||
this.walletSDK = null;
|
||||
this.platformSDK?.destroy?.();
|
||||
this.platformSDK = null;
|
||||
this.analyticsSDK?.destroy?.();
|
||||
this.analyticsSDK = null;
|
||||
logger.log("所有 SDK 已销毁并清空引用");
|
||||
}
|
||||
|
||||
// 回调
|
||||
cb && cb();
|
||||
}
|
||||
/** --------------------------------------------------------- 广告,分享 --------------------------------------------------------- */
|
||||
|
||||
/**
|
||||
* 销毁所有 SDK
|
||||
*
|
||||
* - 逐个调用各 SDK 的 `destroy` 方法
|
||||
* - 用于游戏退出、切换账号、切换平台时释放资源
|
||||
* - 调用时机:游戏关闭 / 重新进入大厅 / SDK 切换
|
||||
*/
|
||||
public destroyAll() {
|
||||
this.adSDK?.destroy?.();
|
||||
this.adSDK = null;
|
||||
this.walletSDK?.destroy?.();
|
||||
this.walletSDK = null;
|
||||
this.platformSDK?.destroy?.();
|
||||
this.platformSDK = null;
|
||||
this.analyticsSDK?.destroy?.();
|
||||
this.analyticsSDK = null;
|
||||
logger.log("所有 SDK 已销毁并清空引用");
|
||||
}
|
||||
// 展示激励视频广告
|
||||
public showRewardVideo(cb: (ok: boolean) => void): void {
|
||||
if (!this.adSDK) return;
|
||||
this.adSDK.showRewardVideo(cb);
|
||||
}
|
||||
|
||||
/** --------------------------------------------------------- 广告,分享 --------------------------------------------------------- */
|
||||
// 展示插屏广告
|
||||
public showInterstitial(): void {
|
||||
if (!this.adSDK) return;
|
||||
this.adSDK.showInterstitial();
|
||||
}
|
||||
|
||||
// 展示激励视频广告
|
||||
public showRewardVideo(cb: (ok: boolean) => void): void {
|
||||
if (!this.adSDK) return;
|
||||
this.adSDK.showRewardVideo(cb)
|
||||
}
|
||||
// 展示 Banner 广告
|
||||
public showBanner(): void {
|
||||
if (!this.adSDK) return;
|
||||
this.adSDK.showBanner();
|
||||
}
|
||||
|
||||
// 展示插屏广告
|
||||
public showInterstitial(): void {
|
||||
if (!this.adSDK) return;
|
||||
this.adSDK.showInterstitial()
|
||||
}
|
||||
|
||||
// 展示 Banner 广告
|
||||
public showBanner(): void {
|
||||
if (!this.adSDK) return;
|
||||
this.adSDK.showBanner()
|
||||
}
|
||||
// 隐藏 Banner 广告
|
||||
public hideBanner(): void {
|
||||
if (!this.adSDK) return;
|
||||
this.adSDK.hideBanner();
|
||||
}
|
||||
|
||||
// 隐藏 Banner 广告
|
||||
public hideBanner(): void {
|
||||
if (!this.adSDK) return;
|
||||
this.adSDK.hideBanner()
|
||||
}
|
||||
// 主动拉起分享
|
||||
public showShare(cb?: Function): void {
|
||||
if (!this.adSDK) return;
|
||||
this.adSDK.showShare(cb);
|
||||
}
|
||||
|
||||
// 主动拉起分享
|
||||
public showShare(cb?: Function): void {
|
||||
if (!this.adSDK) return;
|
||||
this.adSDK.showShare(cb)
|
||||
}
|
||||
|
||||
/** --------------------------------------------------------- 钱包 --------------------------------------------------------- */
|
||||
|
||||
// 连接钱包
|
||||
public connectWallet(cb: (address: string, publicKey?: string) => void): void {
|
||||
if (!this.walletSDK) return;
|
||||
this.walletSDK.connectWallet(cb);
|
||||
}
|
||||
/** --------------------------------------------------------- 钱包 --------------------------------------------------------- */
|
||||
|
||||
// 断开钱包连接
|
||||
public disconnectWallet(): void {
|
||||
if (!this.walletSDK) return;
|
||||
this.walletSDK.disconnectWallet();
|
||||
}
|
||||
// 连接钱包
|
||||
public connectWallet(
|
||||
cb: (address: string, publicKey?: string) => void
|
||||
): void {
|
||||
if (!this.walletSDK) return;
|
||||
this.walletSDK.connectWallet(cb);
|
||||
}
|
||||
|
||||
// 获取当前钱包地址
|
||||
public getWalletAddress(): string | null {
|
||||
if (!this.walletSDK) return null;
|
||||
return this.walletSDK.getWalletAddress()
|
||||
}
|
||||
// 断开钱包连接
|
||||
public disconnectWallet(): void {
|
||||
if (!this.walletSDK) return;
|
||||
this.walletSDK.disconnectWallet();
|
||||
}
|
||||
|
||||
// 签名消息
|
||||
public async signMessage(message: string, options?: any): Promise<{ signature: string; fullMessage?: string }> {
|
||||
if (!this.walletSDK) return;
|
||||
// 判断是否实现签名能力
|
||||
if ("signMessage" in this.walletSDK) {
|
||||
const signer = this.walletSDK as unknown as ISignCap;
|
||||
return signer.signMessage(message, options);
|
||||
}
|
||||
throw new Error("当前钱包 SDK 不支持 signMessage 功能");
|
||||
}
|
||||
// 获取当前钱包地址
|
||||
public getWalletAddress(): string | null {
|
||||
if (!this.walletSDK) return null;
|
||||
return this.walletSDK.getWalletAddress();
|
||||
}
|
||||
|
||||
// 签名交易
|
||||
public async signTransaction(rawTx: any): Promise<{ signedData: string }> {
|
||||
if (!this.walletSDK) return;
|
||||
// 判断是否实现交易能力
|
||||
if ("signTransaction" in this.walletSDK) {
|
||||
const txCap = this.walletSDK as unknown as ITransactionCap;
|
||||
return txCap.signTransaction(rawTx);
|
||||
}
|
||||
throw new Error("当前钱包 SDK 不支持 signTransaction 功能");
|
||||
}
|
||||
// 签名消息
|
||||
public async signMessage(
|
||||
message: string,
|
||||
options?: any
|
||||
): Promise<{ signature: string; fullMessage?: string }> {
|
||||
if (!this.walletSDK) return;
|
||||
// 判断是否实现签名能力
|
||||
if ("signMessage" in this.walletSDK) {
|
||||
const signer = this.walletSDK as unknown as ISignCap;
|
||||
return signer.signMessage(message, options);
|
||||
}
|
||||
throw new Error("当前钱包 SDK 不支持 signMessage 功能");
|
||||
}
|
||||
|
||||
// 发送交易(广播到链上)
|
||||
public async sendTransaction(signedData: string): Promise<{ hash: string }> {
|
||||
if (!this.walletSDK) return;
|
||||
// 判断是否实现交易能力
|
||||
if ("sendTransaction" in this.walletSDK) {
|
||||
const txCap = this.walletSDK as unknown as ITransactionCap;
|
||||
return txCap.sendTransaction(signedData);
|
||||
}
|
||||
throw new Error("当前钱包 SDK 不支持 sendTransaction 功能");
|
||||
}
|
||||
// 签名交易
|
||||
public async signTransaction(rawTx: any): Promise<{ signedData: string }> {
|
||||
if (!this.walletSDK) return;
|
||||
// 判断是否实现交易能力
|
||||
if ("signTransaction" in this.walletSDK) {
|
||||
const txCap = this.walletSDK as unknown as ITransactionCap;
|
||||
return txCap.signTransaction(rawTx);
|
||||
}
|
||||
throw new Error("当前钱包 SDK 不支持 signTransaction 功能");
|
||||
}
|
||||
|
||||
/** --------------------------------------------------------- 平台基础 --------------------------------------------------------- */
|
||||
// 发送交易(广播到链上)
|
||||
public async sendTransaction(signedData: string): Promise<{ hash: string }> {
|
||||
if (!this.walletSDK) return;
|
||||
// 判断是否实现交易能力
|
||||
if ("sendTransaction" in this.walletSDK) {
|
||||
const txCap = this.walletSDK as unknown as ITransactionCap;
|
||||
return txCap.sendTransaction(signedData);
|
||||
}
|
||||
throw new Error("当前钱包 SDK 不支持 sendTransaction 功能");
|
||||
}
|
||||
|
||||
// 登录
|
||||
public login(cb?: Function): void {
|
||||
if (!this.platformSDK) return;
|
||||
this.platformSDK.login(cb)
|
||||
}
|
||||
/** --------------------------------------------------------- 平台基础 --------------------------------------------------------- */
|
||||
|
||||
// 获取用户信息
|
||||
public getUserInfo(cb: (info: { nickName: string; avatarUrl: string }) => void): void {
|
||||
if (!this.platformSDK) return;
|
||||
this.platformSDK.getUserInfo(cb)
|
||||
}
|
||||
// 登录
|
||||
public login(cb?: Function): void {
|
||||
if (!this.platformSDK) return;
|
||||
this.platformSDK.login(cb);
|
||||
}
|
||||
|
||||
// 检查平台权限
|
||||
public checkPermission(scope: string, cb: (granted: boolean) => void): void {
|
||||
if (!this.platformSDK) return;
|
||||
this.platformSDK.checkPermission(scope, cb)
|
||||
}
|
||||
// 获取用户信息
|
||||
public getUserInfo(
|
||||
cb: (info: { nickName: string; avatarUrl: string }) => void
|
||||
): void {
|
||||
if (!this.platformSDK) return;
|
||||
this.platformSDK.getUserInfo(cb);
|
||||
}
|
||||
|
||||
// 复制文本到剪贴板
|
||||
public copyToClipboard(text: string, cb?: Function): void {
|
||||
if (!this.platformSDK) return;
|
||||
this.platformSDK.copyToClipboard(text, cb);
|
||||
}
|
||||
// 检查平台权限
|
||||
public checkPermission(scope: string, cb: (granted: boolean) => void): void {
|
||||
if (!this.platformSDK) return;
|
||||
this.platformSDK.checkPermission(scope, cb);
|
||||
}
|
||||
|
||||
// 客服功能是否可用
|
||||
public kefuSupport(): boolean {
|
||||
if (!this.platformSDK) return false;
|
||||
return this.platformSDK.kefuSupport();
|
||||
}
|
||||
// 复制文本到剪贴板
|
||||
public copyToClipboard(text: string, cb?: Function): void {
|
||||
if (!this.platformSDK) return;
|
||||
this.platformSDK.copyToClipboard(text, cb);
|
||||
}
|
||||
|
||||
// 打开客服会话
|
||||
public openKefu(): void {
|
||||
if (!this.platformSDK) return;
|
||||
this.platformSDK.openKefu();
|
||||
}
|
||||
// 客服功能是否可用
|
||||
public kefuSupport(): boolean {
|
||||
if (!this.platformSDK) return false;
|
||||
return this.platformSDK.kefuSupport();
|
||||
}
|
||||
|
||||
// 获取设备分辨率
|
||||
public getWindowSize(): { width: number, height: number } {
|
||||
if (!this.platformSDK) return {width: 720, height: 1280};
|
||||
return this.platformSDK.getWindowSize();
|
||||
}
|
||||
|
||||
/** --------------------------------------------------------- 分析统计 --------------------------------------------------------- */
|
||||
|
||||
// 判断统计功能是否可用
|
||||
public isAnalyticsEnabled(): boolean {
|
||||
if (!this.analyticsSDK) return false;
|
||||
return this.analyticsSDK.isAnalyticsEnabled();
|
||||
}
|
||||
// 打开客服会话
|
||||
public openKefu(): void {
|
||||
if (!this.platformSDK) return;
|
||||
this.platformSDK.openKefu();
|
||||
}
|
||||
|
||||
// 上报事件
|
||||
public trackEvent(eventName: string, value?: any): void {
|
||||
if (!this.analyticsSDK) return;
|
||||
return this.analyticsSDK.trackEvent(eventName, value);
|
||||
}
|
||||
}
|
||||
// 获取设备分辨率
|
||||
public getWindowSize(): { width: number; height: number } {
|
||||
if (!this.platformSDK) return { width: 720, height: 1280 };
|
||||
return this.platformSDK.getWindowSize();
|
||||
}
|
||||
|
||||
/** --------------------------------------------------------- 分析统计 --------------------------------------------------------- */
|
||||
|
||||
// 判断统计功能是否可用
|
||||
public isAnalyticsEnabled(): boolean {
|
||||
if (!this.analyticsSDK) return false;
|
||||
return this.analyticsSDK.isAnalyticsEnabled();
|
||||
}
|
||||
|
||||
// 上报事件
|
||||
public trackEvent(eventName: string, value?: any): void {
|
||||
if (!this.analyticsSDK) return;
|
||||
return this.analyticsSDK.trackEvent(eventName, value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
import { IPlatformSDK } from "../core/IPlatformSDK";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
export class WebSDK implements IPlatformSDK {
|
||||
constructor() {}
|
||||
init(cb?: Function): void {
|
||||
logger.log("Web平台初始化");
|
||||
cb && cb();
|
||||
}
|
||||
|
||||
// 登录
|
||||
login(cb?: Function): void {
|
||||
cb && cb({ code: "Web" });
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
getUserInfo(
|
||||
cb: (info: { nickName: string; avatarUrl: string }) => void
|
||||
): void {
|
||||
cb({ nickName: "小明", avatarUrl: "avatar.png" });
|
||||
}
|
||||
|
||||
// 检查平台权限
|
||||
checkPermission(scope: string, cb: (granted: boolean) => void): void {
|
||||
cb(true);
|
||||
}
|
||||
|
||||
//region 复制到剪贴板
|
||||
/**复制文本到剪贴板 */
|
||||
copyToClipboard(text: string, cb?: Function) {
|
||||
logger.log("web 复制到剪贴板:", text);
|
||||
|
||||
if (navigator.clipboard && window.isSecureContext) {
|
||||
// 使用现代的 Clipboard API
|
||||
navigator.clipboard
|
||||
.writeText(text)
|
||||
.then(() => {
|
||||
logger.log("web 复制成功 (Clipboard API)");
|
||||
cb && cb(true);
|
||||
})
|
||||
.catch((err) => {
|
||||
logger.log("web 复制失败 (Clipboard API):", err);
|
||||
this.fallbackCopyToClipboard(text, cb);
|
||||
});
|
||||
} else {
|
||||
// 使用兼容性方案
|
||||
this.fallbackCopyToClipboard(text, cb);
|
||||
}
|
||||
}
|
||||
/**兼容性复制方案 */
|
||||
private fallbackCopyToClipboard(text: string, cb?: Function) {
|
||||
const textArea = document.createElement("textarea");
|
||||
textArea.value = text;
|
||||
|
||||
// 避免滚动到底部
|
||||
textArea.style.top = "0";
|
||||
textArea.style.left = "0";
|
||||
textArea.style.position = "fixed";
|
||||
textArea.style.opacity = "0";
|
||||
|
||||
document.body.appendChild(textArea);
|
||||
textArea.focus();
|
||||
textArea.select();
|
||||
|
||||
try {
|
||||
const successful = document.execCommand("copy");
|
||||
if (successful) {
|
||||
logger.log("web 复制成功 (fallback)");
|
||||
cb && cb(true);
|
||||
} else {
|
||||
logger.log("web 复制失败 (fallback)");
|
||||
cb && cb(false);
|
||||
}
|
||||
} catch (err) {
|
||||
logger.log("web 复制异常 (fallback):", err);
|
||||
cb && cb(false);
|
||||
}
|
||||
|
||||
document.body.removeChild(textArea);
|
||||
}
|
||||
|
||||
// 客服功能是否可用
|
||||
kefuSupport(): boolean {
|
||||
return true;
|
||||
}
|
||||
|
||||
// 打开客服会话
|
||||
openKefu(): void {}
|
||||
|
||||
// 获取设备分辨率
|
||||
getWindowSize(): { width: number; height: number } {
|
||||
return { width: 720, height: 1280 };
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "6903a95e-077f-44a4-a740-04ee2ae3ab86",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -40,9 +40,10 @@ export namespace CommonConfig {
|
||||
Layer_ui1 = 1,
|
||||
Layer_ui2 = 2,
|
||||
Layer_dialog = 3,
|
||||
Layer_tips = 4,
|
||||
|
||||
Layer_navigationbar = 5,
|
||||
Layer_navigationbar = 4,
|
||||
Layer_tips = 5,
|
||||
|
||||
Layer_top = 6,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,6 +75,11 @@ export class PreloadUI extends Component {
|
||||
|
||||
private loginLabel: Label;
|
||||
private desc: Label;
|
||||
|
||||
// 视频播放状态跟踪
|
||||
private videoPlayed: boolean = false;
|
||||
private videoPlayRetryCount: number = 0;
|
||||
private maxVideoPlayRetry: number = 3;
|
||||
start() {
|
||||
//Utils.addInnerEL(InnerMsgCode.UI_ShowPrompt, this, this.resiveShowPrompt)
|
||||
Utils.parseNode(this.node, this._nodeTab);
|
||||
@@ -90,12 +95,24 @@ export class PreloadUI extends Component {
|
||||
this.loginLabel = this._nodeTab.loginLabel.getComponent(Label);
|
||||
this.desc = this._nodeTab.Desc.getComponent(Label);
|
||||
|
||||
// 设置视频为静音,提高移动端自动播放成功率
|
||||
this.VideoPlayer.muted = true;
|
||||
this.VideoPlayer.loop = true;
|
||||
this.VideoPlayer.stayOnBottom = true;
|
||||
|
||||
this.VideoPlayer.node.on(
|
||||
VideoPlayer.EventType.META_LOADED,
|
||||
this.onVideoReadyToPlay,
|
||||
this
|
||||
);
|
||||
|
||||
// 监听播放失败事件
|
||||
this.VideoPlayer.node.on(
|
||||
VideoPlayer.EventType.PLAYING,
|
||||
this.onVideoPlaying,
|
||||
this
|
||||
);
|
||||
|
||||
GButton.BandClick(this.loginBtn, this.onLogin, this);
|
||||
|
||||
this.jinduBar = this.node.getChildByName("jinduBar");
|
||||
@@ -109,7 +126,8 @@ export class PreloadUI extends Component {
|
||||
|
||||
this.jinduFilled.fillRange = 0;
|
||||
|
||||
if (!this.VideoPlayer.isPlaying) this.VideoPlayer.play();
|
||||
// 移除直接播放调用,等待 META_LOADED 事件后再播放
|
||||
// if (!this.VideoPlayer.isPlaying) this.VideoPlayer.play();
|
||||
|
||||
//初始化显示
|
||||
switch (LanguageUtils.CurrentLanguage) {
|
||||
@@ -148,11 +166,74 @@ export class PreloadUI extends Component {
|
||||
this.mainScene.init();
|
||||
}
|
||||
|
||||
protected onDestroy(): void {}
|
||||
protected onDestroy(): void {
|
||||
// 清理视频事件监听器
|
||||
if (this.VideoPlayer && this.VideoPlayer.node) {
|
||||
this.VideoPlayer.node.off(
|
||||
VideoPlayer.EventType.META_LOADED,
|
||||
this.onVideoReadyToPlay,
|
||||
this
|
||||
);
|
||||
this.VideoPlayer.node.off(
|
||||
VideoPlayer.EventType.PLAYING,
|
||||
this.onVideoPlaying,
|
||||
this
|
||||
);
|
||||
this.VideoPlayer.stop();
|
||||
}
|
||||
}
|
||||
|
||||
onVideoReadyToPlay() {
|
||||
logger.log("Video Ready");
|
||||
this._nodeTab.VideoPlayer.getComponent(VideoPlayer).play();
|
||||
logger.log("PreloadUI: Video metadata loaded, attempting to play");
|
||||
this.tryPlayVideo();
|
||||
}
|
||||
|
||||
/**
|
||||
* 尝试播放视频,带重试机制和错误处理
|
||||
*/
|
||||
private tryPlayVideo() {
|
||||
if (this.videoPlayed) {
|
||||
logger.log("PreloadUI: Video already playing, skip");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.VideoPlayer) {
|
||||
logger.error("PreloadUI: VideoPlayer not initialized");
|
||||
return;
|
||||
}
|
||||
|
||||
// 尝试播放视频
|
||||
try {
|
||||
this.VideoPlayer.play();
|
||||
logger.log(`PreloadUI: Video play attempted (retry: ${this.videoPlayRetryCount}/${this.maxVideoPlayRetry})`);
|
||||
|
||||
// 延迟检查播放状态,如果失败则重试
|
||||
this.scheduleOnce(() => {
|
||||
if (!this.VideoPlayer.isPlaying && this.videoPlayRetryCount < this.maxVideoPlayRetry) {
|
||||
this.videoPlayRetryCount++;
|
||||
logger.warn(`PreloadUI: Video play failed, retrying... (${this.videoPlayRetryCount}/${this.maxVideoPlayRetry})`);
|
||||
this.tryPlayVideo();
|
||||
} else if (!this.VideoPlayer.isPlaying) {
|
||||
logger.warn("PreloadUI: Video autoplay failed after max retries. Will retry on user interaction.");
|
||||
}
|
||||
}, 0.5);
|
||||
} catch (error) {
|
||||
logger.error("PreloadUI: Video play error:", error);
|
||||
if (this.videoPlayRetryCount < this.maxVideoPlayRetry) {
|
||||
this.videoPlayRetryCount++;
|
||||
this.scheduleOnce(() => {
|
||||
this.tryPlayVideo();
|
||||
}, 1.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 视频开始播放回调
|
||||
*/
|
||||
private onVideoPlaying() {
|
||||
logger.log("PreloadUI: Video is now playing");
|
||||
this.videoPlayed = true;
|
||||
}
|
||||
update(deltaTime: number) {
|
||||
if (!this.preloadFinish) {
|
||||
@@ -227,6 +308,13 @@ export class PreloadUI extends Component {
|
||||
// }
|
||||
|
||||
async onLogin() {
|
||||
// 用户交互时尝试播放视频(如果自动播放失败)
|
||||
if (!this.videoPlayed && this.VideoPlayer) {
|
||||
logger.log("PreloadUI: User interaction detected, trying to play video");
|
||||
this.videoPlayRetryCount = 0; // 重置重试计数
|
||||
this.tryPlayVideo();
|
||||
}
|
||||
|
||||
const deviceId = DeviceIdService.I.id;
|
||||
const os = MachineInfoService.I.getMachineOs();
|
||||
const reqData = {
|
||||
|
||||
@@ -6,15 +6,21 @@ export class NavigationBtn extends Component {
|
||||
focus: Node;
|
||||
unfocus: Node;
|
||||
|
||||
focusLight: Node;
|
||||
|
||||
start() {
|
||||
this.focus = this.node.getChildByName("focus");
|
||||
this.unfocus = this.node.getChildByName("unfocus");
|
||||
this.focusLight = this.node.getChildByName("focusLight");
|
||||
}
|
||||
|
||||
setFocus(focus: boolean) {
|
||||
if (!this.focus) this.focus = this.node.getChildByName("focus");
|
||||
if (!this.unfocus) this.unfocus = this.node.getChildByName("unfocus");
|
||||
if (!this.focusLight)
|
||||
this.focusLight = this.node.getChildByName("focusLight");
|
||||
this.focus.active = focus;
|
||||
this.unfocus.active = !focus;
|
||||
this.focusLight.active = focus;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,6 +170,6 @@ export class PersonalPanel extends li_BaseView {
|
||||
}
|
||||
|
||||
private openFavorites() {
|
||||
TipsPanel.show("敬请期待~");
|
||||
TipsPanel.show(LanguageUtils.getText("rankpanel.comingsoon"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ export class PopupGirlDetailPanel extends li_BaseView {
|
||||
} else {
|
||||
this.base.refreshSelf();
|
||||
}
|
||||
NavigationManager.Instance.openPopupPanel("ReleasePanel");
|
||||
TipsPanel.show(LanguageUtils.getText("releasepanel.releasesuccess"));
|
||||
} else {
|
||||
NavigationManager.Instance.openPopupPanel("ChargePopPanel");
|
||||
}
|
||||
|
||||
@@ -160,10 +160,10 @@ export class PurchasePanel extends li_BaseView {
|
||||
// VIP会员
|
||||
const memberId7 = this.shopData.get7DayMemberId();
|
||||
const price7 = this.shopData.getOriginalPriceById(memberId7);
|
||||
this.vipPrice7.string = `$ ${price7}`;
|
||||
this.vipPrice7.string = `${price7}`;
|
||||
const memberId30 = this.shopData.get30DayMemberId();
|
||||
const price30 = this.shopData.getOriginalPriceById(memberId30);
|
||||
this.vipPrice30.string = `$ ${price30}`;
|
||||
this.vipPrice30.string = `${price30}`;
|
||||
}
|
||||
|
||||
// 0:cash 1:web3
|
||||
|
||||
@@ -521,11 +521,18 @@ export class ThemePanel extends li_BaseView {
|
||||
const walletData = DataManager.I.getDataById<WalletData>(DataId.Wallet);
|
||||
|
||||
if (!walletData.isVip) {
|
||||
this.vipLeftTime.string = LanguageUtils.getText("purchasepanel.notvip");
|
||||
//this.vipLeftTime.string = LanguageUtils.getText("purchasepanel.notvip");
|
||||
this._nodeTab.notvipicon.active = true;
|
||||
this._nodeTab.notVip.active = true;
|
||||
this.vipLeftTime.node.active = false;
|
||||
} else {
|
||||
const vipExpire = walletData.vipExpire;
|
||||
|
||||
const leftTime = Utils.formatVipLeftTime(vipExpire);
|
||||
this.vipLeftTime.node.active = true;
|
||||
|
||||
this._nodeTab.notvipicon.active = false;
|
||||
this._nodeTab.notVip.active = false;
|
||||
|
||||
if (leftTime == null) {
|
||||
LanguageUtils.getText("purchasepanel.notvip");
|
||||
|
||||
@@ -13,7 +13,7 @@ import { SDKManager } from "../../../Main/Channel/SDKManager";
|
||||
import LanguageUtils from "../../../Main/Common/LanguageUtils";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
import { PersonalPanel } from "./PersonalPanel";
|
||||
import { PaymentMethod } from 'db://assets/Scripts/chat18x/payment/types';
|
||||
import { PaymentMethod } from "db://assets/Scripts/chat18x/payment/types";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@@ -62,6 +62,7 @@ export class Web3PopPanel extends li_BaseView {
|
||||
this.registerListener();
|
||||
|
||||
this.selection.setScale(new Vec3(1, 0, 1));
|
||||
this._nodeTab.WD_AN_JT2.active = false;
|
||||
|
||||
this.refreshView();
|
||||
}
|
||||
@@ -144,7 +145,7 @@ export class Web3PopPanel extends li_BaseView {
|
||||
case proto.cs.EnmNetworkType.ENT_TRON:
|
||||
ResManager.I.changeResourceSpriteFrame(
|
||||
this.coinIcon,
|
||||
"ui/web3pop/coinIcon/Tron"
|
||||
"ui/web3pop/coinIcon/SHOP_ICON_HB1"
|
||||
);
|
||||
this.coinText.string = "Tron(TRC20)";
|
||||
this.tips.string = LanguageUtils.getText("web3panel.tips").replace(
|
||||
@@ -155,7 +156,7 @@ export class Web3PopPanel extends li_BaseView {
|
||||
case proto.cs.EnmNetworkType.ENT_TON:
|
||||
ResManager.I.changeResourceSpriteFrame(
|
||||
this.coinIcon,
|
||||
"ui/web3pop/coinIcon/TON"
|
||||
"ui/web3pop/coinIcon/SHOP_ICON_HB2"
|
||||
);
|
||||
this.coinText.string = "TON";
|
||||
this.tips.string = LanguageUtils.getText("web3panel.tips").replace(
|
||||
@@ -166,7 +167,7 @@ export class Web3PopPanel extends li_BaseView {
|
||||
case proto.cs.EnmNetworkType.ENT_ETH:
|
||||
ResManager.I.changeResourceSpriteFrame(
|
||||
this.coinIcon,
|
||||
"ui/web3pop/coinIcon/ETH"
|
||||
"ui/web3pop/coinIcon/SHOP_ICON_HB3"
|
||||
);
|
||||
this.coinText.string = "ETH";
|
||||
this.tips.string = LanguageUtils.getText("web3panel.tips").replace(
|
||||
@@ -177,7 +178,7 @@ export class Web3PopPanel extends li_BaseView {
|
||||
case proto.cs.EnmNetworkType.ENT_BEP:
|
||||
ResManager.I.changeResourceSpriteFrame(
|
||||
this.coinIcon,
|
||||
"ui/web3pop/coinIcon/BEP"
|
||||
"ui/web3pop/coinIcon/SHOP_ICON_HB4"
|
||||
);
|
||||
this.coinText.string = "BEP";
|
||||
this.tips.string = LanguageUtils.getText("web3panel.tips").replace(
|
||||
@@ -205,8 +206,16 @@ export class Web3PopPanel extends li_BaseView {
|
||||
|
||||
updateSelectNetwork() {}
|
||||
|
||||
isSelectionOpen = false;
|
||||
onClickCoinTypeSelectBtn() {
|
||||
this.selection.scale = new Vec3(1, 1, 1);
|
||||
if (this.isSelectionOpen) {
|
||||
this.selection.scale = new Vec3(1, 0, 1);
|
||||
this._nodeTab.WD_AN_JT2.active = false;
|
||||
} else {
|
||||
this.selection.scale = new Vec3(1, 1, 1);
|
||||
this._nodeTab.WD_AN_JT2.active = true;
|
||||
}
|
||||
this.isSelectionOpen = !this.isSelectionOpen;
|
||||
}
|
||||
|
||||
onClickCoinType(type: proto.cs.EnmNetworkType) {
|
||||
@@ -229,6 +238,8 @@ export class Web3PopPanel extends li_BaseView {
|
||||
);
|
||||
|
||||
this.selection.scale = new Vec3(1, 0, 1);
|
||||
this._nodeTab.WD_AN_JT2.active = false;
|
||||
this.isSelectionOpen = false;
|
||||
}
|
||||
|
||||
onClickCopy() {
|
||||
|
||||
@@ -16,6 +16,8 @@ export class PurchasePanelItem extends Component {
|
||||
|
||||
@property(Sprite)
|
||||
icon: Sprite;
|
||||
@property(Sprite)
|
||||
usdt: Sprite;
|
||||
|
||||
baseView: PurchasePanel;
|
||||
goodId: number;
|
||||
@@ -43,11 +45,13 @@ export class PurchasePanelItem extends Component {
|
||||
path += "ui/shop/coin/";
|
||||
const price = shopData.getOriginalUsdPriceById(this.goodId);
|
||||
this.price.string = price.toString();
|
||||
this.usdt.node.active = true;
|
||||
} //cash
|
||||
else {
|
||||
path += "ui/shop/cash/";
|
||||
const price = shopData.getOriginalPriceById(this.goodId);
|
||||
this.price.string = "₹" + price.toString();
|
||||
this.usdt.node.active = false;
|
||||
}
|
||||
path += this.goodId;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1828,13 +1828,13 @@
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_string": "18 years old young",
|
||||
"_horizontalAlign": 0,
|
||||
"_string": "",
|
||||
"_horizontalAlign": 1,
|
||||
"_verticalAlign": 1,
|
||||
"_actualFontSize": 25,
|
||||
"_fontSize": 24,
|
||||
"_actualFontSize": 32,
|
||||
"_fontSize": 31.2,
|
||||
"_fontFamily": "NotoSans-Regular",
|
||||
"_lineHeight": 33.7,
|
||||
"_lineHeight": 29.7,
|
||||
"_overflow": 2,
|
||||
"_enableWrapText": true,
|
||||
"_font": null,
|
||||
@@ -4652,7 +4652,7 @@
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
"a": 38
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "43f02ae8-b14e-41dd-84b7-cca8ef618332@f9941",
|
||||
@@ -4962,8 +4962,6 @@
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "dd+C9/bl9G+pTVWtxpnwWs",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
@@ -5424,7 +5422,7 @@
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
"a": 38
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "43f02ae8-b14e-41dd-84b7-cca8ef618332@f9941",
|
||||
@@ -7918,6 +7916,8 @@
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "47GAgASDxMgr95ufaUc9Za",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
|
||||
@@ -847,7 +847,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "ZY_UI_XTL_XZ",
|
||||
"_name": "focusLight",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
@@ -1847,7 +1847,7 @@
|
||||
"__id__": 100
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 114
|
||||
@@ -1899,7 +1899,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "ZY_UI_XTL_XZ",
|
||||
"_name": "focusLight",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
@@ -2922,7 +2922,7 @@
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 95.75,
|
||||
"x": -1.4499999999999886,
|
||||
"y": 79.546,
|
||||
"z": 0
|
||||
},
|
||||
@@ -2951,7 +2951,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "ZY_UI_XTL_XZ",
|
||||
"_name": "focusLight",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
@@ -3974,7 +3974,7 @@
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 283.25,
|
||||
"x": 276.35,
|
||||
"y": 79.546,
|
||||
"z": 0
|
||||
},
|
||||
@@ -4003,7 +4003,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "ZY_UI_XTL_XZ",
|
||||
"_name": "focusLight",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
@@ -5081,7 +5081,7 @@
|
||||
"_paddingRight": 2,
|
||||
"_paddingTop": 0,
|
||||
"_paddingBottom": 0,
|
||||
"_spacingX": 0,
|
||||
"_spacingX": 90.3,
|
||||
"_spacingY": 0,
|
||||
"_verticalDirection": 1,
|
||||
"_horizontalDirection": 0,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -167,10 +167,10 @@
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 0
|
||||
"r": 24,
|
||||
"g": 15,
|
||||
"b": 32,
|
||||
"a": 153
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "20835ba4-6145-4fbc-a58a-051ce700aa3e@f9941",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -25,23 +25,23 @@
|
||||
"__id__": 10
|
||||
},
|
||||
{
|
||||
"__id__": 18
|
||||
"__id__": 16
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 22
|
||||
},
|
||||
{
|
||||
"__id__": 24
|
||||
},
|
||||
{
|
||||
"__id__": 26
|
||||
},
|
||||
{
|
||||
"__id__": 28
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 30
|
||||
"__id__": 28
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -263,13 +263,10 @@
|
||||
},
|
||||
{
|
||||
"__id__": 13
|
||||
},
|
||||
{
|
||||
"__id__": 15
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 17
|
||||
"__id__": 15
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -314,8 +311,8 @@
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 750,
|
||||
"height": 119
|
||||
"width": 688.3,
|
||||
"height": 89
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
@@ -351,10 +348,10 @@
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "33221d92-6943-4820-8898-ab1440bef579@f9941",
|
||||
"__uuid__": "04228b39-3a53-43ff-8c55-ba8ceafc7a81@f9941",
|
||||
"__expectedType__": "cc.SpriteFrame"
|
||||
},
|
||||
"_type": 0,
|
||||
"_type": 1,
|
||||
"_fillType": 0,
|
||||
"_sizeMode": 0,
|
||||
"_fillCenter": {
|
||||
@@ -373,42 +370,6 @@
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "aek4vQQqFEp5BwJPOgX+QZ"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Widget",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 10
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 16
|
||||
},
|
||||
"_alignFlags": 40,
|
||||
"_target": null,
|
||||
"_left": 0,
|
||||
"_right": 0,
|
||||
"_top": 0,
|
||||
"_bottom": 0,
|
||||
"_horizontalCenter": 0,
|
||||
"_verticalCenter": 0,
|
||||
"_isAbsLeft": true,
|
||||
"_isAbsRight": true,
|
||||
"_isAbsTop": true,
|
||||
"_isAbsBottom": true,
|
||||
"_isAbsHorizontalCenter": true,
|
||||
"_isAbsVerticalCenter": true,
|
||||
"_originalWidth": 117,
|
||||
"_originalHeight": 0,
|
||||
"_alignMode": 2,
|
||||
"_lockFlags": 40,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "70rJ/sR8tBmZ9PXotZbKbP"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
@@ -434,14 +395,14 @@
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 19
|
||||
"__id__": 17
|
||||
},
|
||||
{
|
||||
"__id__": 21
|
||||
"__id__": 19
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 23
|
||||
"__id__": 21
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@@ -478,11 +439,11 @@
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 18
|
||||
"__id__": 16
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 20
|
||||
"__id__": 18
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -506,20 +467,20 @@
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 18
|
||||
"__id__": 16
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 22
|
||||
"__id__": 20
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 209,
|
||||
"g": 61,
|
||||
"b": 61,
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_string": "Insufficient balance, need to purchase",
|
||||
@@ -591,7 +552,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 25
|
||||
"__id__": 23
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@@ -619,7 +580,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 27
|
||||
"__id__": 25
|
||||
},
|
||||
"_alignFlags": 40,
|
||||
"_target": null,
|
||||
@@ -655,7 +616,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 29
|
||||
"__id__": 27
|
||||
},
|
||||
"m_rootNode": null,
|
||||
"_id": ""
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -80,45 +80,51 @@
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.28333333134651184,
|
||||
0.550000011920929
|
||||
0.2833333333333333,
|
||||
0.55
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -250,
|
||||
"value": -200,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -250,
|
||||
"value": -200,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -250,
|
||||
"value": -200,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
@@ -134,8 +140,8 @@
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.28333333134651184,
|
||||
0.550000011920929
|
||||
0.2833333333333333,
|
||||
0.55
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
@@ -148,7 +154,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
@@ -160,7 +168,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
@@ -172,7 +182,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
@@ -188,7 +200,7 @@
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.28333333134651184
|
||||
0.2833333333333333
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
@@ -201,7 +213,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
@@ -213,7 +227,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
@@ -279,46 +295,52 @@
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0.0833333358168602,
|
||||
0.36666667461395264,
|
||||
0.6333333253860474
|
||||
0.08333333333333333,
|
||||
0.36666666666666664,
|
||||
0.6333333333333333
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -220,
|
||||
"value": -180,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -220,
|
||||
"value": -180,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -220,
|
||||
"value": -180,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
@@ -333,9 +355,9 @@
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0.0833333358168602,
|
||||
0.36666667461395264,
|
||||
0.6333333253860474
|
||||
0.08333333333333333,
|
||||
0.36666666666666664,
|
||||
0.6333333333333333
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
@@ -348,7 +370,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
@@ -360,7 +384,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
@@ -372,7 +398,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
@@ -451,8 +479,8 @@
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0.20000000298023224,
|
||||
0.46666666865348816,
|
||||
0.2,
|
||||
0.4666666666666667,
|
||||
0.75
|
||||
],
|
||||
"_values": [
|
||||
@@ -460,37 +488,43 @@
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -190,
|
||||
"value": -160,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -190,
|
||||
"value": -160,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -190,
|
||||
"value": -160,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
@@ -505,8 +539,8 @@
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0.20000000298023224,
|
||||
0.46666666865348816,
|
||||
0.2,
|
||||
0.4666666666666667,
|
||||
0.75
|
||||
],
|
||||
"_values": [
|
||||
@@ -520,7 +554,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
@@ -532,7 +568,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
@@ -544,7 +582,9 @@
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
"__editorExtras__": {
|
||||
"broken": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
@@ -558,8 +598,55 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"_times": [
|
||||
0.2,
|
||||
0.4666666666666667,
|
||||
0.75
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": {
|
||||
"tangentMode": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": {
|
||||
"tangentMode": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": {
|
||||
"tangentMode": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
|
||||
@@ -52,8 +52,8 @@
|
||||
"rawHeight": 90,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"borderLeft": 198,
|
||||
"borderRight": 198,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 8.2 KiB |
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "02714aa2-0e62-4dd0-ac5a-d91da96f6231",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "02714aa2-0e62-4dd0-ac5a-d91da96f6231@6c48a",
|
||||
"displayName": "SHOP_ICON_HB5",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "02714aa2-0e62-4dd0-ac5a-d91da96f6231",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "02714aa2-0e62-4dd0-ac5a-d91da96f6231@f9941",
|
||||
"displayName": "SHOP_ICON_HB5",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 1,
|
||||
"offsetY": 0.5,
|
||||
"trimX": 6,
|
||||
"trimY": 2,
|
||||
"width": 40,
|
||||
"height": 45,
|
||||
"rawWidth": 50,
|
||||
"rawHeight": 50,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-20,
|
||||
-22.5,
|
||||
0,
|
||||
20,
|
||||
-22.5,
|
||||
0,
|
||||
-20,
|
||||
22.5,
|
||||
0,
|
||||
20,
|
||||
22.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
6,
|
||||
48,
|
||||
46,
|
||||
48,
|
||||
6,
|
||||
3,
|
||||
46,
|
||||
3
|
||||
],
|
||||
"nuv": [
|
||||
0.12,
|
||||
0.06,
|
||||
0.92,
|
||||
0.06,
|
||||
0.12,
|
||||
0.96,
|
||||
0.92,
|
||||
0.96
|
||||
],
|
||||
"minPos": [
|
||||
-20,
|
||||
-22.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
20,
|
||||
22.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "02714aa2-0e62-4dd0-ac5a-d91da96f6231@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "02714aa2-0e62-4dd0-ac5a-d91da96f6231@6c48a"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 8.7 KiB |
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "2de17c84-48b6-48b0-a893-435ecdd9269b",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "2de17c84-48b6-48b0-a893-435ecdd9269b@6c48a",
|
||||
"displayName": "WD_ICON_VIP2",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "2de17c84-48b6-48b0-a893-435ecdd9269b",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "2de17c84-48b6-48b0-a893-435ecdd9269b@f9941",
|
||||
"displayName": "WD_ICON_VIP2",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": -1,
|
||||
"trimX": 3,
|
||||
"trimY": 4,
|
||||
"width": 70,
|
||||
"height": 70,
|
||||
"rawWidth": 76,
|
||||
"rawHeight": 76,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-35,
|
||||
-35,
|
||||
0,
|
||||
35,
|
||||
-35,
|
||||
0,
|
||||
-35,
|
||||
35,
|
||||
0,
|
||||
35,
|
||||
35,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
3,
|
||||
72,
|
||||
73,
|
||||
72,
|
||||
3,
|
||||
2,
|
||||
73,
|
||||
2
|
||||
],
|
||||
"nuv": [
|
||||
0.039473684210526314,
|
||||
0.02631578947368421,
|
||||
0.9605263157894737,
|
||||
0.02631578947368421,
|
||||
0.039473684210526314,
|
||||
0.9473684210526315,
|
||||
0.9605263157894737,
|
||||
0.9473684210526315
|
||||
],
|
||||
"minPos": [
|
||||
-35,
|
||||
-35,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
35,
|
||||
35,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "2de17c84-48b6-48b0-a893-435ecdd9269b@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "2de17c84-48b6-48b0-a893-435ecdd9269b@6c48a"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user