头像入版 页面跳转优化

This commit is contained in:
2025-09-11 17:07:29 +08:00
parent d6a9898c8d
commit 6bf85c6ad8
74 changed files with 4238 additions and 1070 deletions
+2 -1
View File
@@ -3,7 +3,8 @@
"allow": [
"Bash(mkdir:*)",
"Bash(cp:*)",
"Bash(rm:*)"
"Bash(rm:*)",
"Bash(sed:*)"
],
"deny": []
}
+60
View File
@@ -17,6 +17,7 @@ import {
import { CommonConfig } from "../Config/CommonConfig";
import ResManager from "../Manager/ResManager";
import Utils from "./Utils";
import { UITransitionHelper } from "../../chat18x/utils/UITransitionHelper";
const { ccclass, property, executeInEditMode, disallowMultiple } = _decorator;
@@ -49,8 +50,67 @@ export default class GameRootUI extends Component {
showDefaultView() {
this.defaultView.active = true;
}
/**
* 带过渡动画显示默认视图
* @param transitionType 过渡动画类型:'slide_left', 'slide_right', 'fade', 'none'
* @param duration 动画时长,默认0.3秒
* @param callback 动画完成回调
*/
showDefaultViewWithTransition(
transitionType: string = "none",
duration: number = 0.1,
callback?: Function
) {
if (!this.defaultView) {
console.warn("GameRootUI: defaultView not found");
callback && callback();
return;
}
// 确保节点是激活的
this.defaultView.active = true;
if (transitionType === "none") {
callback && callback();
return;
}
console.log(
`GameRootUI: Executing ${transitionType} animation on defaultView`
);
switch (transitionType) {
case "slide_left":
console.log(
"GameRootUI: About to call slideInFromLeft, node valid:",
this.defaultView.isValid
);
UITransitionHelper.slideInFromLeft(this.defaultView, duration, () => {
console.log("GameRootUI: slideInFromLeft animation completed");
callback && callback();
});
break;
case "slide_right":
UITransitionHelper.slideInFromRight(
this.defaultView,
duration,
callback
);
break;
case "fade":
// 如果UITransitionHelper有fadeIn方法的话可以用,否则简单显示
callback && callback();
break;
default:
callback && callback();
break;
}
}
hideDefaultView(): void {
this.defaultView.active = false;
this.defaultView.position = Vec3.ZERO;
}
onLoad() {
+97 -22
View File
@@ -91,12 +91,11 @@ export class SceneBgVideoLayer extends li_BaseView {
loop: options?.loop ?? true,
size: options?.size,
position: options?.position,
scale: options?.scale,
};
// 先停止当前视频
if (this.isPlaying) {
this.stop();
this.pause();
}
// 加载本地视频资源
@@ -106,21 +105,52 @@ export class SceneBgVideoLayer extends li_BaseView {
"Girls",
(res: VideoClip) => {
this.videoPlayer.loop = config.loop;
// 设置锚点为中心,确保位置对齐
const uiTransform = this.videoPlayer.node.getComponent(UITransform);
if (uiTransform) {
uiTransform.setAnchorPoint(0.5, 0.5);
console.log("SceneBgVideoLayer: 设置视频锚点为 (0.5, 0.5)");
}
// 应用位置设置(使用世界坐标)
// 应用位置设置(先尝试本地坐标,再尝试世界坐标)
if (config.position) {
const pos = config.position;
let targetWorldPos: Vec3;
if (pos instanceof Vec3) {
this.videoPlayer.node.setWorldPosition(pos);
targetWorldPos = pos;
} else {
this.videoPlayer.node.setWorldPosition(pos.x, pos.y, pos.z || 0);
targetWorldPos = new Vec3(pos.x, pos.y, pos.z || 0);
}
// 获取 videoPlayer 的父节点信息
const parent = this.videoPlayer.node.parent;
if (parent) {
const parentWorldPos = parent.getWorldPosition();
const parentWorldScale = parent.getWorldScale();
console.log(`SceneBgVideoLayer: VideoPlayer 父节点世界位置: (${parentWorldPos.x}, ${parentWorldPos.y}, ${parentWorldPos.z})`);
console.log(`SceneBgVideoLayer: VideoPlayer 父节点世界缩放: (${parentWorldScale.x}, ${parentWorldScale.y}, ${parentWorldScale.z})`);
// 尝试方法1:计算相对于父节点的本地位置
const localPos = new Vec3();
localPos.x = (targetWorldPos.x - parentWorldPos.x) / parentWorldScale.x;
localPos.y = (targetWorldPos.y - parentWorldPos.y) / parentWorldScale.y;
localPos.z = (targetWorldPos.z - parentWorldPos.z) / parentWorldScale.z;
this.videoPlayer.node.setPosition(localPos);
console.log(`SceneBgVideoLayer: 设置本地位置: (${localPos.x.toFixed(2)}, ${localPos.y.toFixed(2)}, ${localPos.z.toFixed(2)})`);
} else {
// 如果没有父节点,直接使用世界坐标
this.videoPlayer.node.setWorldPosition(targetWorldPos);
console.log(`SceneBgVideoLayer: 无父节点,使用世界坐标: (${targetWorldPos.x}, ${targetWorldPos.y}, ${targetWorldPos.z})`);
}
// 验证位置是否设置正确
const actualWorldPos = this.videoPlayer.node.getWorldPosition();
const actualLocalPos = this.videoPlayer.node.getPosition();
console.log(`SceneBgVideoLayer: 目标世界位置: (${targetWorldPos.x}, ${targetWorldPos.y}, ${targetWorldPos.z})`);
console.log(`SceneBgVideoLayer: 实际世界位置: (${actualWorldPos.x}, ${actualWorldPos.y}, ${actualWorldPos.z})`);
console.log(`SceneBgVideoLayer: 实际本地位置: (${actualLocalPos.x.toFixed(2)}, ${actualLocalPos.y.toFixed(2)}, ${actualLocalPos.z.toFixed(2)})`);
}
// 如果传入了目标尺寸,计算并应用缩放
@@ -128,48 +158,93 @@ export class SceneBgVideoLayer extends li_BaseView {
// 获取视频的原始尺寸
const videoWidth = uiTransform.contentSize.width;
const videoHeight = uiTransform.contentSize.height;
if (videoWidth > 0 && videoHeight > 0) {
const targetWidth = config.size instanceof Size ? config.size.width : config.size.width;
const targetHeight = config.size instanceof Size ? config.size.height : config.size.height;
const targetWidth =
config.size instanceof Size
? config.size.width
: config.size.width;
const targetHeight =
config.size instanceof Size
? config.size.height
: config.size.height;
// 计算缩放比例(填满整个区域)
const scaleX = targetWidth / videoWidth;
const scaleY = targetHeight / videoHeight;
const scale = Math.max(scaleX, scaleY);
this.videoPlayer.node.setScale(new Vec3(scale, scale, 1));
console.log(`SceneBgVideoLayer: 视频原始尺寸: ${videoWidth}x${videoHeight}, 目标尺寸: ${targetWidth}x${targetHeight}, 缩放: ${scale}`);
console.log(
`SceneBgVideoLayer: 视频原始尺寸: ${videoWidth}x${videoHeight}, 目标尺寸: ${targetWidth}x${targetHeight}`
);
console.log(
`SceneBgVideoLayer: 缩放比例 - X: ${scaleX.toFixed(3)}, Y: ${scaleY.toFixed(3)}, 最终: ${scale.toFixed(3)}`
);
} else {
// 如果视频尺寸还未准备好,延迟重试
this.scheduleOnce(() => {
if (config.size && uiTransform) {
const videoWidth = uiTransform.contentSize.width;
const videoHeight = uiTransform.contentSize.height;
if (videoWidth > 0 && videoHeight > 0) {
const targetWidth = config.size instanceof Size ? config.size.width : config.size.width;
const targetHeight = config.size instanceof Size ? config.size.height : config.size.height;
const targetWidth =
config.size instanceof Size
? config.size.width
: config.size.width;
const targetHeight =
config.size instanceof Size
? config.size.height
: config.size.height;
const scaleX = targetWidth / videoWidth;
const scaleY = targetHeight / videoHeight;
const scale = Math.max(scaleX, scaleY);
this.videoPlayer.node.setScale(new Vec3(scale, scale, 1));
console.log(`SceneBgVideoLayer: (延迟) 视频原始尺寸: ${videoWidth}x${videoHeight}, 目标尺寸: ${targetWidth}x${targetHeight}, 缩放: ${scale}`);
console.log(
`SceneBgVideoLayer: (延迟) 视频原始尺寸: ${videoWidth}x${videoHeight}, 目标尺寸: ${targetWidth}x${targetHeight}`
);
console.log(
`SceneBgVideoLayer: (延迟) 缩放比例 - X: ${scaleX.toFixed(3)}, Y: ${scaleY.toFixed(3)}, 最终: ${scale.toFixed(3)}`
);
}
}
}, 0.1);
}
} else {
// 没有指定尺寸,保持原始缩放
this.videoPlayer.node.setScale(Vec3.ONE);
console.log("SceneBgVideoLayer: 未指定尺寸,保持默认缩放 (1, 1, 1)");
}
// 如果显式传入了 scale 参数,覆盖自动计算的缩放
else if (config.scale !== undefined) {
this.setVideoScale(config.scale);
}
this.videoPlayer.play();
this.isPlaying = true;
console.log(`SceneBgVideoLayer: 播放视频 ${path}, 配置:`, config);
// 最终验证:确保视频节点的状态正确
setTimeout(() => {
const finalWorldPos = this.videoPlayer.node.getWorldPosition();
const finalLocalPos = this.videoPlayer.node.getPosition();
const finalScale = this.videoPlayer.node.getScale();
const finalTransform = this.videoPlayer.node.getComponent(UITransform);
if (finalTransform) {
console.log(`SceneBgVideoLayer: === 最终状态验证 ===`);
console.log(`SceneBgVideoLayer: 最终世界位置: (${finalWorldPos.x.toFixed(2)}, ${finalWorldPos.y.toFixed(2)}, ${finalWorldPos.z.toFixed(2)})`);
console.log(`SceneBgVideoLayer: 最终本地位置: (${finalLocalPos.x.toFixed(2)}, ${finalLocalPos.y.toFixed(2)}, ${finalLocalPos.z.toFixed(2)})`);
console.log(`SceneBgVideoLayer: 最终缩放: (${finalScale.x.toFixed(3)}, ${finalScale.y.toFixed(3)}, ${finalScale.z.toFixed(3)})`);
console.log(`SceneBgVideoLayer: 最终锚点: (${finalTransform.anchorX.toFixed(2)}, ${finalTransform.anchorY.toFixed(2)})`);
console.log(`SceneBgVideoLayer: 最终内容尺寸: ${finalTransform.contentSize.width.toFixed(0)}x${finalTransform.contentSize.height.toFixed(0)}`);
// 计算实际渲染尺寸(内容尺寸 * 缩放)
const renderWidth = finalTransform.contentSize.width * finalScale.x;
const renderHeight = finalTransform.contentSize.height * finalScale.y;
console.log(`SceneBgVideoLayer: 计算的渲染尺寸: ${renderWidth.toFixed(0)}x${renderHeight.toFixed(0)}`);
console.log(`SceneBgVideoLayer: === 验证结束 ===`);
}
}, 200);
}
);
}
@@ -2,6 +2,25 @@ import { ViewManager } from "db://assets/Scripts/Main/Manager/ViewManager";
import { UITransitionHelper } from "../utils/UITransitionHelper";
import GameRootUI from "../../Main/Common/GameRootUI";
/**
* 页面过渡动画类型枚举
*/
export enum PageTransitionType {
NONE = "none",
SLIDE_LEFT = "slide_left",
SLIDE_RIGHT = "slide_right",
}
/**
* 页面过渡动画配置接口
*/
export interface PageTransitionConfig {
incomingTransition: PageTransitionType;
outgoingTransition: PageTransitionType;
duration?: number;
simultaneous?: boolean;
}
/**
* 导航管理器
*
@@ -28,6 +47,183 @@ export class NavigationManager {
private constructor() {}
/**
* 通用页面导航方法,支持过渡动画
*
* @param {string} targetPanel - 目标面板名称
* @param {any} navigationData - 导航数据
* @param {PageTransitionConfig} transitionConfig - 过渡动画配置
* @param {any} currentPanel - 当前面板实例(可选)
* @param {Function} onComplete - 完成回调(可选)
*
* @example
* ```typescript
* NavigationManager.Instance.navigateWithTransition(
* "ChatPanel",
* { roleId: 10001 },
* { incomingTransition: PageTransitionType.SLIDE_RIGHT, outgoingTransition: PageTransitionType.SLIDE_LEFT },
* currentPanel
* );
* ```
*/
public navigateWithTransition(
targetPanel: string,
navigationData: any,
transitionConfig: PageTransitionConfig,
currentPanel?: any,
onComplete?: Function
): void {
if (!targetPanel) {
console.warn("NavigationManager: Target panel name is required");
return;
}
console.log(
`Navigating to ${targetPanel} with transition:`,
transitionConfig
);
//const correntPos = currentPanel.node.position;
const duration = transitionConfig.duration || 0.1;
const useTransition =
transitionConfig.incomingTransition !== PageTransitionType.NONE ||
transitionConfig.outgoingTransition !== PageTransitionType.NONE;
if (!useTransition) {
ViewManager.I.openBundlesView(targetPanel, navigationData, onComplete);
if (
currentPanel &&
currentPanel.onClose &&
typeof currentPanel.onClose === "function"
) {
currentPanel.onClose();
//currentPanel.node.position = correntPos;
}
return;
}
const extendedNavigationData = {
...navigationData,
withTransition: true,
transitionType: transitionConfig.incomingTransition,
};
ViewManager.I.openBundlesView(
targetPanel,
extendedNavigationData,
(targetNode) => {
this._executeTransition(
targetNode,
currentPanel,
transitionConfig,
duration,
onComplete
);
}
);
}
/**
* 执行页面过渡动画的私有方法
*
* @private
* @param {any} targetNode - 目标节点
* @param {any} currentPanel - 当前面板
* @param {PageTransitionConfig} config - 动画配置
* @param {number} duration - 动画时长
* @param {Function} onComplete - 完成回调
*/
private _executeTransition(
targetNode: any,
currentPanel: any,
config: PageTransitionConfig,
duration: number,
onComplete?: Function
): void {
const executeIncomingAnimation = (callback?: Function) => {
if (
config.incomingTransition === PageTransitionType.NONE ||
!targetNode
) {
callback && callback();
return;
}
switch (config.incomingTransition) {
case PageTransitionType.SLIDE_RIGHT:
UITransitionHelper.slideInFromRight(targetNode, duration, callback);
break;
case PageTransitionType.SLIDE_LEFT:
UITransitionHelper.slideInFromLeft(targetNode, duration, callback);
break;
default:
callback && callback();
break;
}
};
const executeOutgoingAnimation = (callback?: Function) => {
if (
config.outgoingTransition === PageTransitionType.NONE ||
!currentPanel ||
!currentPanel.node ||
!currentPanel.node.isValid
) {
callback && callback();
return;
}
switch (config.outgoingTransition) {
case PageTransitionType.SLIDE_LEFT:
UITransitionHelper.slideOutToLeft(
currentPanel.node,
duration,
callback
);
break;
case PageTransitionType.SLIDE_RIGHT:
UITransitionHelper.slideOutToRight(
currentPanel.node,
duration,
callback
);
break;
default:
callback && callback();
break;
}
};
const closeCurrentPanel = () => {
if (
currentPanel &&
currentPanel.onClose &&
typeof currentPanel.onClose === "function"
) {
if (currentPanel.node.name !== "ThemePanel") currentPanel.onClose();
}
onComplete && onComplete();
};
if (config.simultaneous) {
let completedAnimations = 0;
const animationComplete = () => {
completedAnimations++;
if (completedAnimations >= 2) {
closeCurrentPanel();
}
};
executeIncomingAnimation(animationComplete);
executeOutgoingAnimation(animationComplete);
} else {
executeOutgoingAnimation(() => {
executeIncomingAnimation(closeCurrentPanel);
});
}
}
/**
* 进入角色列表页面
*
@@ -38,15 +234,56 @@ export class NavigationManager {
* NavigationManager.Instance.navigateToGirlList(1);
* ```
*/
public navigateToGirlList(themeId: number): void {
public navigateToGirlList(themeId: number): void;
/**
* 进入角色列表页面(带过渡动画)
*
* @param {number} themeId - 主题ID,用于筛选角色
* @param {PageTransitionConfig} transitionConfig - 过渡动画配置
* @param {any} currentPanel - 当前面板实例(可选)
*
* @example
* ```typescript
* NavigationManager.Instance.navigateToGirlList(1,
* { incomingTransition: PageTransitionType.SLIDE_RIGHT, outgoingTransition: PageTransitionType.FADE },
* this
* );
* ```
*/
public navigateToGirlList(
themeId: number,
transitionConfig?: PageTransitionConfig,
currentPanel?: any
): void;
public navigateToGirlList(
themeId: number,
transitionConfig?: PageTransitionConfig,
currentPanel?: any
): void {
if (themeId == null || themeId < 0) {
console.warn("Invalid theme ID for girl list navigation:", themeId);
return;
}
GameRootUI.I.hideDefaultView();
console.log(`Navigating to girl list with theme ID: ${themeId}`);
ViewManager.I.openBundlesView("GirlListPanel", themeId);
if (transitionConfig) {
const navigationData = {
category: themeId,
withTransition: true,
};
this.navigateWithTransition(
"GirlListPanel",
navigationData,
transitionConfig,
currentPanel,
() => {
GameRootUI.I.hideDefaultView();
}
);
} else {
ViewManager.I.openBundlesView("GirlListPanel", themeId);
}
}
/**
@@ -59,26 +296,62 @@ export class NavigationManager {
* NavigationManager.Instance.navigateToChat(10001);
* ```
*/
public navigateToChat(roleId: number): void {
public navigateToChat(roleId: number): void;
/**
* 进入聊天页面(带过渡动画)
*
* @param {number} roleId - 角色ID
* @param {PageTransitionConfig} transitionConfig - 过渡动画配置
* @param {any} currentPanel - 当前面板实例(可选)
*
* @example
* ```typescript
* NavigationManager.Instance.navigateToChat(10001,
* { incomingTransition: PageTransitionType.FADE, outgoingTransition: PageTransitionType.SLIDE_LEFT },
* this
* );
* ```
*/
public navigateToChat(
roleId: number,
transitionConfig?: PageTransitionConfig,
currentPanel?: any
): void;
public navigateToChat(
roleId: number,
transitionConfig?: PageTransitionConfig,
currentPanel?: any
): void {
if (roleId == null || roleId <= 0) {
console.warn("Invalid role ID for chat navigation:", roleId);
return;
}
GameRootUI.I.hideDefaultView();
console.log(`Navigating to chat with role ID: ${roleId}`);
ViewManager.I.openBundlesView("ChatPanel", roleId);
if (transitionConfig) {
this.navigateWithTransition(
"ChatPanel",
roleId,
transitionConfig,
currentPanel
);
} else {
ViewManager.I.openBundlesView("ChatPanel", roleId);
}
}
/**
* 带过渡动画进入聊天页面
* 从GirlDetailPanel平滑过渡到ChatPanel
*
* @param {string} categoryId - 类别ID
* @param {number} roleId - 角色ID
* @param {any} currentPanel - 当前面板实例(GirlDetailPanel
*
* @example
* ```typescript
* NavigationManager.Instance.navigateToChatWithTransition(10001, this);
* NavigationManager.Instance.navigateToChatWithTransition("1", 10001, this);
* ```
*/
public navigateToChatWithTransition(
@@ -94,30 +367,24 @@ export class NavigationManager {
return;
}
console.log(`Navigating to chat with transition, role ID: ${roleId}`);
const navigationData = {
categoryId: categoryId,
roleId: roleId,
withSlideTransition: true,
};
// 打开ChatPanel,同时标记需要执行滑入动画
ViewManager.I.openBundlesView(
const transitionConfig: PageTransitionConfig = {
incomingTransition: PageTransitionType.SLIDE_RIGHT,
outgoingTransition: PageTransitionType.SLIDE_LEFT,
duration: 0.3,
simultaneous: true,
};
this.navigateWithTransition(
"ChatPanel",
{
categoryId: categoryId,
roleId: roleId,
withSlideTransition: true,
},
(chatNode) => {
// ChatPanel打开后,如果有当前面板,执行滑出动画
if (currentPanel && currentPanel.node && currentPanel.node.isValid) {
UITransitionHelper.slideOutToLeft(currentPanel.node, 0.3, () => {
// 滑出动画完成后关闭原面板
if (
currentPanel.onClose &&
typeof currentPanel.onClose === "function"
) {
currentPanel.onClose();
}
});
}
}
navigationData,
transitionConfig,
currentPanel
);
}
@@ -131,14 +398,49 @@ export class NavigationManager {
* NavigationManager.Instance.navigateToGirlDetail(10001);
* ```
*/
public navigateToGirlDetail(roleId: number): void {
public navigateToGirlDetail(roleId: number): void;
/**
* 进入角色详情页面(带过渡动画)
*
* @param {number} roleId - 角色ID
* @param {PageTransitionConfig} transitionConfig - 过渡动画配置
* @param {any} currentPanel - 当前面板实例(可选)
*
* @example
* ```typescript
* NavigationManager.Instance.navigateToGirlDetail(10001,
* { incomingTransition: PageTransitionType.SLIDE_RIGHT, outgoingTransition: PageTransitionType.SLIDE_LEFT },
* this
* );
* ```
*/
public navigateToGirlDetail(
roleId: number,
transitionConfig?: PageTransitionConfig,
currentPanel?: any
): void;
public navigateToGirlDetail(
roleId: number,
transitionConfig?: PageTransitionConfig,
currentPanel?: any
): void {
if (roleId == null || roleId <= 0) {
console.warn("Invalid role ID for detail navigation:", roleId);
return;
}
console.log(`Navigating to girl detail with role ID: ${roleId}`);
ViewManager.I.openBundlesView("GirlDetailPanel", roleId);
if (transitionConfig) {
this.navigateWithTransition(
"GirlDetailPanel",
roleId,
transitionConfig,
currentPanel
);
} else {
ViewManager.I.openBundlesView("GirlDetailPanel", roleId);
}
}
/**
@@ -184,4 +486,39 @@ export class NavigationManager {
// TODO: 实现返回上一页功能
console.log("Go back feature not implemented yet");
}
/**
* 获取预设的过渡动画配置
*/
public static getTransitionPresets() {
return {
SLIDE_LEFT_TO_RIGHT: {
incomingTransition: PageTransitionType.SLIDE_RIGHT,
outgoingTransition: PageTransitionType.SLIDE_LEFT,
duration: 0.1,
simultaneous: true,
} as PageTransitionConfig,
SLIDE_RIGHT_TO_LEFT: {
incomingTransition: PageTransitionType.SLIDE_LEFT,
outgoingTransition: PageTransitionType.SLIDE_RIGHT,
duration: 0.1,
simultaneous: true,
} as PageTransitionConfig,
SLIDE_OVER: {
incomingTransition: PageTransitionType.SLIDE_RIGHT,
outgoingTransition: PageTransitionType.NONE,
duration: 0.1,
simultaneous: true,
} as PageTransitionConfig,
SLIDE_UNDER: {
incomingTransition: PageTransitionType.NONE,
outgoingTransition: PageTransitionType.SLIDE_LEFT,
duration: 0.1,
simultaneous: true,
} as PageTransitionConfig,
};
}
}
@@ -7,6 +7,8 @@ import {
instantiate,
UITransform,
Size,
Vec3,
tween,
} from "cc";
import li_BaseView from "db://assets/Scripts/Main/Common/li_BaseView";
import ResManager from "db://assets/Scripts/Main/Manager/ResManager";
@@ -69,10 +71,14 @@ export class GirlDetailPanel extends li_BaseView {
openUIDataCT(data) {
this.id = data;
}
videoAreaPos;
onLoadCT() {
super.onLoadCT();
this.imgItemInst.node.active = false;
this.videoAreaPos = this.videoArea.node.getWorldPosition();
this.node.scale = Vec3.ZERO;
tween(this.node).to(0.3, { scale: Vec3.ONE }).start();
// 检查 SceneBgVideoLayer 是否可用
if (!this.videoLayer) {
@@ -80,7 +86,7 @@ export class GirlDetailPanel extends li_BaseView {
} else {
console.log("GirlDetailPanel: 成功获取 SceneBgVideoLayer 实例");
// 初始化视频显示位置
this.initVideoPosition();
//this.initVideoPosition();
}
this.refresh(this.id);
@@ -182,16 +188,30 @@ export class GirlDetailPanel extends li_BaseView {
? new Size(this.videoArea.width, this.videoArea.height)
: new Size(600, 800);
// 获取 videoArea 的中心位置作为参考节点(使用世界坐标
const videoAreaPos = this.videoArea
? this.videoArea.node.getWorldPosition()
: undefined;
// 获取 videoArea 的中心位置,确保使用正确的世界坐标
const videoAreaPos = this.videoAreaPos;
if (this.videoArea) {
// 获取 videoArea 的世界坐标
this.videoAreaPos = this.videoArea.node.getWorldPosition();
// 也检查 videoLayer 的父节点信息,确保坐标系统一致
if (this.videoLayer && this.videoLayer.getVideoPlayer()) {
const videoPlayerParent =
this.videoLayer.getVideoPlayer().node.parent;
if (videoPlayerParent) {
const parentWorldPos = videoPlayerParent.getWorldPosition();
console.log(
`GirlDetailPanel: VideoPlayer 父节点世界位置: (${parentWorldPos.x}, ${parentWorldPos.y}, ${parentWorldPos.z})`
);
}
}
}
// 使用新的统一 playVideo 方法
this.videoLayer.playVideo(firstPath, {
loop: true,
size: targetSize,
position: videoAreaPos
position: videoAreaPos,
});
}
@@ -266,7 +286,7 @@ export class GirlDetailPanel extends li_BaseView {
// 使用 videoArea 的世界坐标位置
const videoAreaWorldPos = this.videoArea.node.getWorldPosition();
// 视频位置和缩放已在 playVideo 中处理
this.videoLayer.setVideoScale(1);
//this.videoLayer.setVideoScale(1);
console.log(
`GirlDetailPanel: 初始化视频世界位置到 (${videoAreaWorldPos.x}, ${videoAreaWorldPos.y})`
);
@@ -9,6 +9,7 @@ import { DataManager, DataId } from "../../data/DataManager";
import { GirlData } from "../../data/GirlData";
import proto from "db://assets/Scripts/proto/proto.pb.js";
import GameRootUI from "../../../Main/Common/GameRootUI";
import { UITransitionHelper } from "../../utils/UITransitionHelper";
const { ccclass, property } = _decorator;
@@ -23,7 +24,13 @@ export class GirlListPanel extends li_BaseView {
category: number;
openUIDataCT(data) {
this.category = data;
// 支持新的数据格式:既可以是单纯的数字,也可以是包含过渡动画信息的对象
this.category =
typeof data === "object" && data.category !== undefined
? data.category
: data;
const withAnimation = typeof data === "object" && data.withTransition;
}
onLoadCT() {
Utils.parseNode(this.node, this._nodeTab);
@@ -69,7 +76,37 @@ export class GirlListPanel extends li_BaseView {
GButton.BandClick(this._nodeTab.ReturnBtn, this.Return, this);
}
Return() {
this.onClose();
GameRootUI.I.showDefaultView();
console.log("GirlListPanel: Return button clicked");
// 执行同步的过渡动画:GirlListPanel向右滑出,ThemePanel从左滑入
const duration = 0.1;
let animationsCompleted = 0;
const totalAnimations = 2;
const onAnimationComplete = (source: string) => {
console.log(`GirlListPanel: Animation completed from ${source}`);
animationsCompleted++;
console.log(
`GirlListPanel: ${animationsCompleted}/${totalAnimations} animations completed`
);
if (animationsCompleted >= totalAnimations) {
console.log("GirlListPanel: All animations completed, closing panel");
// 所有动画完成后关闭当前面板
this.onClose();
}
};
// 1. GirlListPanel向右滑出
console.log("GirlListPanel: Starting slideOutToRight animation");
UITransitionHelper.slideOutToRight(this.node, duration, () =>
onAnimationComplete("slideOutToRight")
);
// 2. ThemePanel从左侧滑入
console.log("GirlListPanel: Starting ThemePanel slide_left animation");
GameRootUI.I.showDefaultViewWithTransition("slide_left", duration, () =>
onAnimationComplete("ThemePanel_slide_left")
);
}
}
@@ -7,6 +7,8 @@ import {
View,
Sprite,
UITransform,
Vec3,
tween,
} from "cc";
import li_BaseView from "../../../Main/Common/li_BaseView";
import Utils from "../../../Main/Common/Utils";
@@ -43,6 +45,9 @@ export class GirlListPopupPanel extends li_BaseView {
this.base = data.base;
}
onLoadCT() {
this.node.scale = Vec3.ZERO;
tween(this.node).to(0.3, { scale: Vec3.ONE }).start();
Utils.parseNode(this.node, this._nodeTab);
this.img = this._nodeTab.img.getComponent(Sprite);
this.uitransform = this._nodeTab.Img_Frame.getComponent(UITransform);
@@ -1,4 +1,13 @@
import { _decorator, Component, Node, Label, UITransform, Sprite } from "cc";
import {
_decorator,
Component,
Node,
Label,
UITransform,
Sprite,
tween,
Vec3,
} from "cc";
import li_BaseView from "../../../Main/Common/li_BaseView";
import { GButton } from "../../../Main/Common/GButton";
import Utils from "../../../Main/Common/Utils";
@@ -36,6 +45,8 @@ export class PopupGirlDetailPanel extends li_BaseView {
this.type = data.type;
}
onLoadCT() {
this.node.scale = Vec3.ZERO;
tween(this.node).to(0.3, { scale: Vec3.ONE }).start();
Utils.parseNode(this.node, this._nodeTab);
this.desc = this._nodeTab.content.getComponent(Label);
this.uitransform = this._nodeTab.Img_Frame.getComponent(UITransform);
@@ -12,7 +12,7 @@ import Utils from "db://assets/Scripts/Main/Common/Utils";
import { GButton } from "db://assets/Scripts/Main/Common/GButton";
import ResManager from "db://assets/Scripts/Main/Manager/ResManager";
import { ThemeItem } from "../../uiitems/ThemeItem";
import { NavigationManager } from "../../manager/NavigationManager";
import { NavigationManager, PageTransitionType } from "../../manager/NavigationManager";
import { GirlListItem } from "../../uiitems/GirlListItem";
import LanguageUtils from "../../../Main/Common/LanguageUtils";
import { ViewManager } from "../../../Main/Manager/ViewManager";
@@ -90,7 +90,7 @@ export class ThemePanel extends li_BaseView {
for (let id of themeIds) {
let newNode = instantiate(this.itemInst.node);
let item = newNode.getComponent(ThemeItem);
item.refresh(id);
item.refresh(id, this);
newNode.active = true;
this.cache.push(item);
this.content.addChild(newNode);
@@ -165,7 +165,8 @@ export class ThemePanel extends li_BaseView {
this.recId
) == 0;
if (isRelease || isFree) {
NavigationManager.Instance.navigateToGirlDetail(this.recId);
const transitionConfig = NavigationManager.getTransitionPresets().SLIDE_LEFT_TO_RIGHT;
NavigationManager.Instance.navigateToGirlDetail(this.recId, transitionConfig, this);
GameRootUI.I.hideDefaultView();
} else {
//未解锁
+9 -3
View File
@@ -2,7 +2,7 @@ import { _decorator, Component, Label, Node, Sprite, UITransform } from "cc";
import { GButton } from "db://assets/Scripts/Main/Common/GButton";
import ResManager from "db://assets/Scripts/Main/Manager/ResManager";
import Utils from "db://assets/Scripts/Main/Common/Utils";
import { NavigationManager } from "../manager/NavigationManager";
import { NavigationManager, PageTransitionType } from "../manager/NavigationManager";
import LanguageUtils from "../../Main/Common/LanguageUtils";
import { InnerMsgCode } from "../../Main/Config/InnerMsgCode";
import { DataManager, DataId } from "../data/DataManager";
@@ -29,6 +29,8 @@ export class ThemeItem extends Component {
private isLocked: boolean;
private parentPanel: any;
key: string;
protected onLoad(): void {
Utils.addInnerEL(InnerMsgCode.LanguageChange, this, () => {
@@ -41,8 +43,9 @@ export class ThemeItem extends Component {
});
}
refresh(themeId: number) {
refresh(themeId: number, parentPanel?: any) {
this.loading.active = true;
this.parentPanel = parentPanel;
// 主题数据
const themeData = DataManager.I.getDataById<ThemeData>(DataId.Theme);
this.lockImg.node.active = this.lockCover.node.active =
@@ -70,6 +73,9 @@ export class ThemeItem extends Component {
if (this.isLocked) {
return;
}
NavigationManager.Instance.navigateToGirlList(this.category);
// 使用预设的过渡动画配置
const transitionConfig = NavigationManager.getTransitionPresets().SLIDE_LEFT_TO_RIGHT;
NavigationManager.Instance.navigateToGirlList(this.category, transitionConfig, this.parentPanel);
}
}
+168 -183
View File
@@ -4,207 +4,192 @@ const { ccclass, property } = _decorator;
/**
* UI过渡动画帮助类
*
*
* 提供常用的UI过渡动画效果,如滑入滑出等
*
*
* @author AI Chat System
* @version 1.0.0
*/
@ccclass("UITransitionHelper")
export class UITransitionHelper {
/**
* 让节点从右侧滑入到原位置
*
* @param {Node} node - 要执行动画的节点
* @param {number} duration - 动画持续时间(秒),默认0.3秒
* @param {Function} callback - 动画完成后的回调函数
*/
public static slideInFromRight(node: Node, duration: number = 0.3, callback?: () => void): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for slideInFromRight");
return;
}
const screenWidth = view.getVisibleSize().width;
const originalPosition = node.getPosition();
// 设置初始位置为屏幕右侧外
node.setPosition(screenWidth, originalPosition.y, originalPosition.z);
// 执行滑入动画
tween(node)
.to(duration, { position: originalPosition }, {
easing: 'quartOut'
})
.call(() => {
if (callback) {
callback();
}
})
.start();
/**
* 让节点从右侧滑入到原位置
*
* @param {Node} node - 要执行动画的节点
* @param {number} duration - 动画持续时间(秒),默认0.3秒
* @param {Function} callback - 动画完成后的回调函数
*/
public static slideInFromRight(
node: Node,
duration: number = 0.1,
callback?: Function
): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for slideInFromRight");
return;
}
/**
* 让节点向左滑出到屏幕外
*
* @param {Node} node - 要执行动画的节点
* @param {number} duration - 动画持续时间(秒),默认0.3秒
* @param {Function} callback - 动画完成后的回调函数
*/
public static slideOutToLeft(node: Node, duration: number = 0.3, callback?: () => void): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for slideOutToLeft");
return;
}
const screenWidth = view.getVisibleSize().width;
const originalPosition = node.getPosition();
const screenWidth = view.getVisibleSize().width;
const currentPosition = node.getPosition();
const targetPosition = new Vec3(-screenWidth, currentPosition.y, currentPosition.z);
// 执行滑出动画
tween(node)
.to(duration, { position: targetPosition }, {
easing: 'quartOut'
})
.call(() => {
if (callback) {
callback();
}
})
.start();
// 设置初始位置为屏幕右侧外
node.setPosition(screenWidth, originalPosition.y, originalPosition.z);
// 执行滑入动画
tween(node)
.to(
duration,
{ position: originalPosition },
{
easing: "linear",
onUpdate: () => {
console.log(node.position);
},
}
)
.call(() => {
if (callback) {
callback();
}
})
.start();
}
/**
* 让节点向左滑出到屏幕外
*
* @param {Node} node - 要执行动画的节点
* @param {number} duration - 动画持续时间(秒),默认0.3秒
* @param {Function} callback - 动画完成后的回调函数
*/
public static slideOutToLeft(
node: Node,
duration: number = 0.1,
callback?: Function
): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for slideOutToLeft");
return;
}
/**
* 让节点从左侧滑入到原位置
*
* @param {Node} node - 要执行动画的节点
* @param {number} duration - 动画持续时间(秒),默认0.3秒
* @param {Function} callback - 动画完成后的回调函数
*/
public static slideInFromLeft(node: Node, duration: number = 0.3, callback?: () => void): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for slideInFromLeft");
return;
}
const screenWidth = view.getVisibleSize().width;
const currentPosition = node.getPosition();
const targetPosition = new Vec3(
-screenWidth,
currentPosition.y,
currentPosition.z
);
const screenWidth = view.getVisibleSize().width;
const originalPosition = node.getPosition();
// 设置初始位置为屏幕左侧外
node.setPosition(-screenWidth, originalPosition.y, originalPosition.z);
// 执行滑入动画
tween(node)
.to(duration, { position: originalPosition }, {
easing: 'quartOut'
})
.call(() => {
if (callback) {
callback();
}
})
.start();
// 执行滑出动画
tween(node)
.to(
duration,
{ position: targetPosition },
{
easing: "linear",
}
)
.call(() => {
if (callback) {
callback();
}
})
.start();
}
/**
* 让节点从左侧滑入到原位置
*
* @param {Node} node - 要执行动画的节点
* @param {number} duration - 动画持续时间(秒),默认0.3秒
* @param {Function} callback - 动画完成后的回调函数
*/
public static slideInFromLeft(
node: Node,
duration: number = 0.1,
callback?: Function
): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for slideInFromLeft");
return;
}
/**
* 让节点向右滑出到屏幕外
*
* @param {Node} node - 要执行动画的节点
* @param {number} duration - 动画持续时间(秒),默认0.3秒
* @param {Function} callback - 动画完成后的回调函数
*/
public static slideOutToRight(node: Node, duration: number = 0.3, callback?: () => void): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for slideOutToRight");
return;
}
const screenWidth = view.getVisibleSize().width;
const originalPosition = node.getPosition();
const screenWidth = view.getVisibleSize().width;
const currentPosition = node.getPosition();
const targetPosition = new Vec3(screenWidth, currentPosition.y, currentPosition.z);
// 执行滑出动画
tween(node)
.to(duration, { position: targetPosition }, {
easing: 'quartOut'
})
.call(() => {
if (callback) {
callback();
}
})
.start();
// 设置初始位置为屏幕左侧外
node.setPosition(-screenWidth, originalPosition.y, originalPosition.z);
// 执行滑入动画
tween(node)
.to(
duration,
{ position: originalPosition },
{
easing: "linear",
}
)
.call(() => {
if (callback) {
callback();
}
})
.start();
}
/**
* 让节点向右滑出到屏幕外
*
* @param {Node} node - 要执行动画的节点
* @param {number} duration - 动画持续时间(秒),默认0.3秒
* @param {Function} callback - 动画完成后的回调函数
*/
public static slideOutToRight(
node: Node,
duration: number = 0.1,
callback?: Function
): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for slideOutToRight");
return;
}
/**
* 淡入动画
*
* @param {Node} node - 要执行动画的节点
* @param {number} duration - 动画持续时间(秒),默认0.3秒
* @param {Function} callback - 动画完成后的回调函数
*/
public static fadeIn(node: Node, duration: number = 0.3, callback?: () => void): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for fadeIn");
return;
}
const screenWidth = view.getVisibleSize().width;
const currentPosition = node.getPosition();
const targetPosition = new Vec3(
screenWidth,
currentPosition.y,
currentPosition.z
);
// 设置初始透明度为0
if (node.setOpacity) {
node.setOpacity(0);
// 执行滑出动画
tween(node)
.to(
duration,
{ position: targetPosition },
{
easing: "linear",
}
// 执行淡入动画
tween(node)
.to(duration, { opacity: 255 }, {
easing: 'quartOut'
})
.call(() => {
if (callback) {
callback();
}
})
.start();
)
.call(() => {
if (callback) {
callback();
}
})
.start();
}
/**
* 停止节点上的所有动画
*
* @param {Node} node - 要停止动画的节点
*/
public static stopAllTweens(node: Node): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for stopAllTweens");
return;
}
/**
* 淡出动画
*
* @param {Node} node - 要执行动画的节点
* @param {number} duration - 动画持续时间(秒),默认0.3秒
* @param {Function} callback - 动画完成后的回调函数
*/
public static fadeOut(node: Node, duration: number = 0.3, callback?: () => void): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for fadeOut");
return;
}
// 执行淡出动画
tween(node)
.to(duration, { opacity: 0 }, {
easing: 'quartOut'
})
.call(() => {
if (callback) {
callback();
}
})
.start();
}
/**
* 停止节点上的所有动画
*
* @param {Node} node - 要停止动画的节点
*/
public static stopAllTweens(node: Node): void {
if (!node || !node.isValid) {
console.warn("UITransitionHelper: Invalid node for stopAllTweens");
return;
}
tween(node).stop();
}
}
tween(node).stop();
}
}
File diff suppressed because it is too large Load Diff
+6 -14
View File
@@ -2969,7 +2969,7 @@
}
],
"_interactable": true,
"_transition": 1,
"_transition": 3,
"_normalColor": {
"__type__": "cc.Color",
"r": 255,
@@ -3003,7 +3003,7 @@
"_pressedSprite": null,
"_disabledSprite": null,
"_duration": 0.1,
"_zoomScale": 1.2,
"_zoomScale": 0.9,
"_target": {
"__id__": 98
},
@@ -4172,8 +4172,6 @@
"__id__": 0
},
"fileId": "6a2CN7fWtBcrzN10b5jxf2",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
@@ -4730,8 +4728,6 @@
"__id__": 0
},
"fileId": "10g5cCQelOxZynS+Tp8j5r",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
@@ -6429,8 +6425,6 @@
"__id__": 0
},
"fileId": "33s3MVJE1MP4K1OMcHeRR6",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
@@ -6597,8 +6591,6 @@
"__id__": 0
},
"fileId": "93dAiS3fFNcbPNEaVTnY6H",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
@@ -8676,7 +8668,7 @@
},
"clickEvents": [],
"_interactable": true,
"_transition": 0,
"_transition": 3,
"_normalColor": {
"__type__": "cc.Color",
"r": 255,
@@ -8710,7 +8702,7 @@
"_pressedSprite": null,
"_disabledSprite": null,
"_duration": 0.1,
"_zoomScale": 1.2,
"_zoomScale": 0.95,
"_target": {
"__id__": 304
},
@@ -9106,7 +9098,7 @@
}
],
"_interactable": true,
"_transition": 1,
"_transition": 3,
"_normalColor": {
"__type__": "cc.Color",
"r": 255,
@@ -9140,7 +9132,7 @@
"_pressedSprite": null,
"_disabledSprite": null,
"_duration": 0.1,
"_zoomScale": 1.2,
"_zoomScale": 0.9,
"_target": {
"__id__": 391
},
+2 -2
View File
@@ -4158,7 +4158,7 @@
}
],
"_interactable": true,
"_transition": 0,
"_transition": 3,
"_normalColor": {
"__type__": "cc.Color",
"r": 255,
@@ -4192,7 +4192,7 @@
"_pressedSprite": null,
"_disabledSprite": null,
"_duration": 0.1,
"_zoomScale": 1.2,
"_zoomScale": 0.9,
"_target": null,
"_id": ""
},
Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 277 KiB

@@ -46,10 +46,10 @@
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 442,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-221,
-221,
0,
125,
-125,
221,
-221,
0,
-125,
125,
-221,
221,
0,
125,
125,
221,
221,
0
],
"indexes": [
@@ -84,12 +84,12 @@
],
"uv": [
0,
250,
250,
250,
442,
442,
442,
0,
0,
250,
442,
0
],
"nuv": [
@@ -103,13 +103,13 @@
1
],
"minPos": [
-125,
-125,
-221,
-221,
0
],
"maxPos": [
125,
125,
221,
221,
0
]
},
Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 366 KiB

@@ -42,14 +42,14 @@
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetX": -0.5,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 441,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-220.5,
-221,
0,
125,
-125,
220.5,
-221,
0,
-125,
125,
-220.5,
221,
0,
125,
125,
220.5,
221,
0
],
"indexes": [
@@ -84,32 +84,32 @@
],
"uv": [
0,
250,
250,
250,
442,
441,
442,
0,
0,
250,
441,
0
],
"nuv": [
0,
0,
1,
0.997737556561086,
0,
0,
1,
1,
0.997737556561086,
1
],
"minPos": [
-125,
-125,
-220.5,
-221,
0
],
"maxPos": [
125,
125,
220.5,
221,
0
]
},
@@ -127,7 +127,7 @@
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "037ad634-397e-4d22-bd90-063654461da8@6c48a"
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 384 KiB

@@ -46,10 +46,10 @@
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 442,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-221,
-221,
0,
125,
-125,
221,
-221,
0,
-125,
125,
-221,
221,
0,
125,
125,
221,
221,
0
],
"indexes": [
@@ -84,12 +84,12 @@
],
"uv": [
0,
250,
250,
250,
442,
442,
442,
0,
0,
250,
442,
0
],
"nuv": [
@@ -103,13 +103,13 @@
1
],
"minPos": [
-125,
-125,
-221,
-221,
0
],
"maxPos": [
125,
125,
221,
221,
0
]
},
Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 350 KiB

@@ -46,10 +46,10 @@
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 442,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-221,
-221,
0,
125,
-125,
221,
-221,
0,
-125,
125,
-221,
221,
0,
125,
125,
221,
221,
0
],
"indexes": [
@@ -84,12 +84,12 @@
],
"uv": [
0,
250,
250,
250,
442,
442,
442,
0,
0,
250,
442,
0
],
"nuv": [
@@ -103,13 +103,13 @@
1
],
"minPos": [
-125,
-125,
-221,
-221,
0
],
"maxPos": [
125,
125,
221,
221,
0
]
},
Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 286 KiB

@@ -46,10 +46,10 @@
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 442,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-221,
-221,
0,
125,
-125,
221,
-221,
0,
-125,
125,
-221,
221,
0,
125,
125,
221,
221,
0
],
"indexes": [
@@ -84,12 +84,12 @@
],
"uv": [
0,
250,
250,
250,
442,
442,
442,
0,
0,
250,
442,
0
],
"nuv": [
@@ -103,13 +103,13 @@
1
],
"minPos": [
-125,
-125,
-221,
-221,
0
],
"maxPos": [
125,
125,
221,
221,
0
]
},
Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 375 KiB

@@ -43,13 +43,13 @@
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-221,
-220.5,
0,
125,
-125,
221,
-220.5,
0,
-125,
125,
-221,
220.5,
0,
125,
125,
221,
220.5,
0
],
"indexes": [
@@ -84,32 +84,32 @@
],
"uv": [
0,
250,
250,
250,
442,
442,
442,
0,
0,
250,
0
1,
442,
1
],
"nuv": [
0,
0,
0.0022624434389140274,
1,
0,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-125,
-125,
-221,
-220.5,
0
],
"maxPos": [
125,
125,
221,
220.5,
0
]
},
@@ -127,7 +127,7 @@
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "34320c58-8c80-4a91-b865-bc9866f861e3@6c48a"
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 361 KiB

@@ -42,14 +42,14 @@
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"offsetX": -0.5,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 441,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-220.5,
-220.5,
0,
125,
-125,
220.5,
-220.5,
0,
-125,
125,
-220.5,
220.5,
0,
125,
125,
220.5,
220.5,
0
],
"indexes": [
@@ -84,32 +84,32 @@
],
"uv": [
0,
250,
250,
250,
442,
441,
442,
0,
0,
250,
0
1,
441,
1
],
"nuv": [
0,
0.0022624434389140274,
0.997737556561086,
0.0022624434389140274,
0,
1,
0,
0,
1,
1,
0.997737556561086,
1
],
"minPos": [
-125,
-125,
-220.5,
-220.5,
0
],
"maxPos": [
125,
125,
220.5,
220.5,
0
]
},
@@ -127,7 +127,7 @@
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "3052ac1d-4d0f-41cb-9130-eeff59c2f91f@6c48a"
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 345 KiB

@@ -43,13 +43,13 @@
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-221,
-220.5,
0,
125,
-125,
221,
-220.5,
0,
-125,
125,
-221,
220.5,
0,
125,
125,
221,
220.5,
0
],
"indexes": [
@@ -84,32 +84,32 @@
],
"uv": [
0,
250,
250,
250,
442,
442,
442,
0,
0,
250,
0
1,
442,
1
],
"nuv": [
0,
0,
0.0022624434389140274,
1,
0,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-125,
-125,
-221,
-220.5,
0
],
"maxPos": [
125,
125,
221,
220.5,
0
]
},
@@ -127,7 +127,7 @@
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "915ed499-78fc-453a-90b5-8ce01c648795@6c48a"
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 342 KiB

@@ -43,13 +43,13 @@
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-221,
-220.5,
0,
125,
-125,
221,
-220.5,
0,
-125,
125,
-221,
220.5,
0,
125,
125,
221,
220.5,
0
],
"indexes": [
@@ -84,32 +84,32 @@
],
"uv": [
0,
250,
250,
250,
442,
442,
442,
0,
0,
250,
0
1,
442,
1
],
"nuv": [
0,
0,
0.0022624434389140274,
1,
0,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-125,
-125,
-221,
-220.5,
0
],
"maxPos": [
125,
125,
221,
220.5,
0
]
},
@@ -127,7 +127,7 @@
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "97a5b35c-6b48-4263-a43c-48adf9b4acaf@6c48a"
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 226 KiB

@@ -43,13 +43,13 @@
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-221,
-220.5,
0,
125,
-125,
221,
-220.5,
0,
-125,
125,
-221,
220.5,
0,
125,
125,
221,
220.5,
0
],
"indexes": [
@@ -84,32 +84,32 @@
],
"uv": [
0,
250,
250,
250,
442,
442,
442,
0,
0,
250,
0
1,
442,
1
],
"nuv": [
0,
0,
0.0022624434389140274,
1,
0,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-125,
-125,
-221,
-220.5,
0
],
"maxPos": [
125,
125,
221,
220.5,
0
]
},
@@ -127,7 +127,7 @@
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "a5e4fd00-aab5-455e-92b7-0d1cb22a45f9@6c48a"
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 361 KiB

@@ -43,13 +43,13 @@
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 250,
"height": 250,
"rawWidth": 250,
"rawHeight": 250,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
@@ -61,17 +61,17 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-125,
-125,
-221,
-220.5,
0,
125,
-125,
221,
-220.5,
0,
-125,
125,
-221,
220.5,
0,
125,
125,
221,
220.5,
0
],
"indexes": [
@@ -84,32 +84,32 @@
],
"uv": [
0,
250,
250,
250,
442,
442,
442,
0,
0,
250,
0
1,
442,
1
],
"nuv": [
0,
0,
0.0022624434389140274,
1,
0,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-125,
-125,
-221,
-220.5,
0
],
"maxPos": [
125,
125,
221,
220.5,
0
]
},
@@ -127,7 +127,7 @@
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "e2e7c434-c95f-44e5-97da-14d531b8e5da@6c48a"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "fca25927-1dba-48b9-b490-156cef5bc7e1",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "fca25927-1dba-48b9-b490-156cef5bc7e1@6c48a",
"displayName": "10012_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "fca25927-1dba-48b9-b490-156cef5bc7e1",
"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": "fca25927-1dba-48b9-b490-156cef5bc7e1@f9941",
"displayName": "10012_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 441,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-220.5,
-220.5,
0,
220.5,
-220.5,
0,
-220.5,
220.5,
0,
220.5,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
441,
442,
0,
1,
441,
1
],
"nuv": [
0,
0.0022624434389140274,
0.997737556561086,
0.0022624434389140274,
0,
1,
0.997737556561086,
1
],
"minPos": [
-220.5,
-220.5,
0
],
"maxPos": [
220.5,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "fca25927-1dba-48b9-b490-156cef5bc7e1@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "fca25927-1dba-48b9-b490-156cef5bc7e1@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 410 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "04ebfd4c-3d09-4c6d-bc4d-253a17b639f7",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "04ebfd4c-3d09-4c6d-bc4d-253a17b639f7@6c48a",
"displayName": "10013_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "04ebfd4c-3d09-4c6d-bc4d-253a17b639f7",
"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": "04ebfd4c-3d09-4c6d-bc4d-253a17b639f7@f9941",
"displayName": "10013_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-220.5,
0,
221,
-220.5,
0,
-221,
220.5,
0,
221,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
1,
442,
1
],
"nuv": [
0,
0.0022624434389140274,
1,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-221,
-220.5,
0
],
"maxPos": [
221,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "04ebfd4c-3d09-4c6d-bc4d-253a17b639f7@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "04ebfd4c-3d09-4c6d-bc4d-253a17b639f7@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "894b7544-89d9-48eb-ad27-e9bece08a34c",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "894b7544-89d9-48eb-ad27-e9bece08a34c@6c48a",
"displayName": "10014_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "894b7544-89d9-48eb-ad27-e9bece08a34c",
"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": "894b7544-89d9-48eb-ad27-e9bece08a34c@f9941",
"displayName": "10014_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-220.5,
0,
221,
-220.5,
0,
-221,
220.5,
0,
221,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
1,
442,
1
],
"nuv": [
0,
0.0022624434389140274,
1,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-221,
-220.5,
0
],
"maxPos": [
221,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "894b7544-89d9-48eb-ad27-e9bece08a34c@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "894b7544-89d9-48eb-ad27-e9bece08a34c@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "83f9f7a6-b1af-4c64-baa0-1565e9a5622f",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "83f9f7a6-b1af-4c64-baa0-1565e9a5622f@6c48a",
"displayName": "10015_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "83f9f7a6-b1af-4c64-baa0-1565e9a5622f",
"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": "83f9f7a6-b1af-4c64-baa0-1565e9a5622f@f9941",
"displayName": "10015_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-220.5,
0,
221,
-220.5,
0,
-221,
220.5,
0,
221,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
1,
442,
1
],
"nuv": [
0,
0.0022624434389140274,
1,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-221,
-220.5,
0
],
"maxPos": [
221,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "83f9f7a6-b1af-4c64-baa0-1565e9a5622f@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "83f9f7a6-b1af-4c64-baa0-1565e9a5622f@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "2c082fcd-6499-42b3-ac08-d9fe9aab16f3",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "2c082fcd-6499-42b3-ac08-d9fe9aab16f3@6c48a",
"displayName": "10016_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "2c082fcd-6499-42b3-ac08-d9fe9aab16f3",
"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": "2c082fcd-6499-42b3-ac08-d9fe9aab16f3@f9941",
"displayName": "10016_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-221,
0,
221,
-221,
0,
-221,
221,
0,
221,
221,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
0,
442,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-221,
-221,
0
],
"maxPos": [
221,
221,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "2c082fcd-6499-42b3-ac08-d9fe9aab16f3@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"fixAlphaTransparencyArtifacts": false,
"redirect": "2c082fcd-6499-42b3-ac08-d9fe9aab16f3@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "9cd39ba9-b6c7-418e-9afd-cb0597c13e37",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "9cd39ba9-b6c7-418e-9afd-cb0597c13e37@6c48a",
"displayName": "10017_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "9cd39ba9-b6c7-418e-9afd-cb0597c13e37",
"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": "9cd39ba9-b6c7-418e-9afd-cb0597c13e37@f9941",
"displayName": "10017_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 441,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-220.5,
-221,
0,
220.5,
-221,
0,
-220.5,
221,
0,
220.5,
221,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
441,
442,
0,
0,
441,
0
],
"nuv": [
0,
0,
0.997737556561086,
0,
0,
1,
0.997737556561086,
1
],
"minPos": [
-220.5,
-221,
0
],
"maxPos": [
220.5,
221,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "9cd39ba9-b6c7-418e-9afd-cb0597c13e37@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "9cd39ba9-b6c7-418e-9afd-cb0597c13e37@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 296 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "6d04144d-02e0-4f5a-9f65-3965765ad4f1",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "6d04144d-02e0-4f5a-9f65-3965765ad4f1@6c48a",
"displayName": "10018_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "6d04144d-02e0-4f5a-9f65-3965765ad4f1",
"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": "6d04144d-02e0-4f5a-9f65-3965765ad4f1@f9941",
"displayName": "10018_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-221,
0,
221,
-221,
0,
-221,
221,
0,
221,
221,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
0,
442,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-221,
-221,
0
],
"maxPos": [
221,
221,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "6d04144d-02e0-4f5a-9f65-3965765ad4f1@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"fixAlphaTransparencyArtifacts": false,
"redirect": "6d04144d-02e0-4f5a-9f65-3965765ad4f1@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "ab77c324-5368-40e6-87f4-30c049871121",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "ab77c324-5368-40e6-87f4-30c049871121@6c48a",
"displayName": "10019_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "ab77c324-5368-40e6-87f4-30c049871121",
"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": "ab77c324-5368-40e6-87f4-30c049871121@f9941",
"displayName": "10019_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-221,
0,
221,
-221,
0,
-221,
221,
0,
221,
221,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
0,
442,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-221,
-221,
0
],
"maxPos": [
221,
221,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "ab77c324-5368-40e6-87f4-30c049871121@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"fixAlphaTransparencyArtifacts": false,
"redirect": "ab77c324-5368-40e6-87f4-30c049871121@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "ab86c91d-0a35-4321-9199-b98bf0e94680",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "ab86c91d-0a35-4321-9199-b98bf0e94680@6c48a",
"displayName": "10020_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "ab86c91d-0a35-4321-9199-b98bf0e94680",
"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": "ab86c91d-0a35-4321-9199-b98bf0e94680@f9941",
"displayName": "10020_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-221,
0,
221,
-221,
0,
-221,
221,
0,
221,
221,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
0,
442,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-221,
-221,
0
],
"maxPos": [
221,
221,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "ab86c91d-0a35-4321-9199-b98bf0e94680@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"fixAlphaTransparencyArtifacts": false,
"redirect": "ab86c91d-0a35-4321-9199-b98bf0e94680@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "2cf8b894-6ee4-4edd-aaa7-7465d0cedec8",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "2cf8b894-6ee4-4edd-aaa7-7465d0cedec8@6c48a",
"displayName": "10021_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "2cf8b894-6ee4-4edd-aaa7-7465d0cedec8",
"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": "2cf8b894-6ee4-4edd-aaa7-7465d0cedec8@f9941",
"displayName": "10021_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-220.5,
0,
221,
-220.5,
0,
-221,
220.5,
0,
221,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
1,
442,
1
],
"nuv": [
0,
0.0022624434389140274,
1,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-221,
-220.5,
0
],
"maxPos": [
221,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "2cf8b894-6ee4-4edd-aaa7-7465d0cedec8@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "2cf8b894-6ee4-4edd-aaa7-7465d0cedec8@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "aa1ef6ff-3f6e-4890-a3ea-9796b972053e",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "aa1ef6ff-3f6e-4890-a3ea-9796b972053e@6c48a",
"displayName": "10022_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "aa1ef6ff-3f6e-4890-a3ea-9796b972053e",
"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": "aa1ef6ff-3f6e-4890-a3ea-9796b972053e@f9941",
"displayName": "10022_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 441,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-220.5,
-220.5,
0,
220.5,
-220.5,
0,
-220.5,
220.5,
0,
220.5,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
441,
442,
0,
1,
441,
1
],
"nuv": [
0,
0.0022624434389140274,
0.997737556561086,
0.0022624434389140274,
0,
1,
0.997737556561086,
1
],
"minPos": [
-220.5,
-220.5,
0
],
"maxPos": [
220.5,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "aa1ef6ff-3f6e-4890-a3ea-9796b972053e@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "aa1ef6ff-3f6e-4890-a3ea-9796b972053e@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 336 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "4599e277-c1a8-4623-8a1f-754ed773f5d1",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "4599e277-c1a8-4623-8a1f-754ed773f5d1@6c48a",
"displayName": "10023_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "4599e277-c1a8-4623-8a1f-754ed773f5d1",
"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": "4599e277-c1a8-4623-8a1f-754ed773f5d1@f9941",
"displayName": "10023_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-220.5,
0,
221,
-220.5,
0,
-221,
220.5,
0,
221,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
1,
442,
1
],
"nuv": [
0,
0.0022624434389140274,
1,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-221,
-220.5,
0
],
"maxPos": [
221,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "4599e277-c1a8-4623-8a1f-754ed773f5d1@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "4599e277-c1a8-4623-8a1f-754ed773f5d1@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "05d60b39-0743-461b-8cea-f701051c61e5",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "05d60b39-0743-461b-8cea-f701051c61e5@6c48a",
"displayName": "10024_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "05d60b39-0743-461b-8cea-f701051c61e5",
"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": "05d60b39-0743-461b-8cea-f701051c61e5@f9941",
"displayName": "10024_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-220.5,
0,
221,
-220.5,
0,
-221,
220.5,
0,
221,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
1,
442,
1
],
"nuv": [
0,
0.0022624434389140274,
1,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-221,
-220.5,
0
],
"maxPos": [
221,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "05d60b39-0743-461b-8cea-f701051c61e5@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "05d60b39-0743-461b-8cea-f701051c61e5@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "e3ba4bf9-775c-438f-818e-aaadfdc86a83",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "e3ba4bf9-775c-438f-818e-aaadfdc86a83@6c48a",
"displayName": "10025_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "e3ba4bf9-775c-438f-818e-aaadfdc86a83",
"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": "e3ba4bf9-775c-438f-818e-aaadfdc86a83@f9941",
"displayName": "10025_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-220.5,
0,
221,
-220.5,
0,
-221,
220.5,
0,
221,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
1,
442,
1
],
"nuv": [
0,
0.0022624434389140274,
1,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-221,
-220.5,
0
],
"maxPos": [
221,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "e3ba4bf9-775c-438f-818e-aaadfdc86a83@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "e3ba4bf9-775c-438f-818e-aaadfdc86a83@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "6d4b2c25-a63b-422d-a6a9-98cfbf56f8bd",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "6d4b2c25-a63b-422d-a6a9-98cfbf56f8bd@6c48a",
"displayName": "10026_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "6d4b2c25-a63b-422d-a6a9-98cfbf56f8bd",
"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": "6d4b2c25-a63b-422d-a6a9-98cfbf56f8bd@f9941",
"displayName": "10026_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-220.5,
0,
221,
-220.5,
0,
-221,
220.5,
0,
221,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
1,
442,
1
],
"nuv": [
0,
0.0022624434389140274,
1,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-221,
-220.5,
0
],
"maxPos": [
221,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "6d4b2c25-a63b-422d-a6a9-98cfbf56f8bd@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "6d4b2c25-a63b-422d-a6a9-98cfbf56f8bd@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 358 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "ecd01dfc-32cb-4cb5-89f4-12c79e07a965",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "ecd01dfc-32cb-4cb5-89f4-12c79e07a965@6c48a",
"displayName": "10027_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "ecd01dfc-32cb-4cb5-89f4-12c79e07a965",
"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": "ecd01dfc-32cb-4cb5-89f4-12c79e07a965@f9941",
"displayName": "10027_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 441,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-220.5,
-220.5,
0,
220.5,
-220.5,
0,
-220.5,
220.5,
0,
220.5,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
441,
442,
0,
1,
441,
1
],
"nuv": [
0,
0.0022624434389140274,
0.997737556561086,
0.0022624434389140274,
0,
1,
0.997737556561086,
1
],
"minPos": [
-220.5,
-220.5,
0
],
"maxPos": [
220.5,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "ecd01dfc-32cb-4cb5-89f4-12c79e07a965@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "ecd01dfc-32cb-4cb5-89f4-12c79e07a965@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "66b1dd3e-904a-4fcc-aa04-8afe2373552d",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "66b1dd3e-904a-4fcc-aa04-8afe2373552d@6c48a",
"displayName": "10028_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "66b1dd3e-904a-4fcc-aa04-8afe2373552d",
"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": "66b1dd3e-904a-4fcc-aa04-8afe2373552d@f9941",
"displayName": "10028_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-220.5,
0,
221,
-220.5,
0,
-221,
220.5,
0,
221,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
1,
442,
1
],
"nuv": [
0,
0.0022624434389140274,
1,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-221,
-220.5,
0
],
"maxPos": [
221,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "66b1dd3e-904a-4fcc-aa04-8afe2373552d@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "66b1dd3e-904a-4fcc-aa04-8afe2373552d@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "e202d04f-973a-4d5d-899b-456ab43e170e",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "e202d04f-973a-4d5d-899b-456ab43e170e@6c48a",
"displayName": "10029_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "e202d04f-973a-4d5d-899b-456ab43e170e",
"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": "e202d04f-973a-4d5d-899b-456ab43e170e@f9941",
"displayName": "10029_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0.5,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 441,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-220.5,
0,
221,
-220.5,
0,
-221,
220.5,
0,
221,
220.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
1,
442,
1
],
"nuv": [
0,
0.0022624434389140274,
1,
0.0022624434389140274,
0,
1,
1,
1
],
"minPos": [
-221,
-220.5,
0
],
"maxPos": [
221,
220.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "e202d04f-973a-4d5d-899b-456ab43e170e@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "e202d04f-973a-4d5d-899b-456ab43e170e@6c48a"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

@@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "ccba57fa-d0c5-4c67-ac69-8bc64ff2acd4",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "ccba57fa-d0c5-4c67-ac69-8bc64ff2acd4@6c48a",
"displayName": "10030_avatar",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "ccba57fa-d0c5-4c67-ac69-8bc64ff2acd4",
"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": "ccba57fa-d0c5-4c67-ac69-8bc64ff2acd4@f9941",
"displayName": "10030_avatar",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 442,
"height": 442,
"rawWidth": 442,
"rawHeight": 442,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-221,
-221,
0,
221,
-221,
0,
-221,
221,
0,
221,
221,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
442,
442,
442,
0,
0,
442,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-221,
-221,
0
],
"maxPos": [
221,
221,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "ccba57fa-d0c5-4c67-ac69-8bc64ff2acd4@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"fixAlphaTransparencyArtifacts": false,
"redirect": "ccba57fa-d0c5-4c67-ac69-8bc64ff2acd4@6c48a"
}
}