消除我特牛
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

649 lines
27 KiB

import LoadingView from "./View/Logo/LoadingView";
import AppPlatform from "./Util/AppPlatform";
import AppConfig from "./Config/AppConfig";
import AppSwitchConfig from "./Config/AppSwitchConfig";
import { LogUtils } from "./Util/LogUtils";
import BundleMgr from "./Mgr/BundleMgr";
import GameMgr from "./Mgr/GameMgr";
import User from "./User/User";
import RYSDK from "./RYSDK/RYSDK";
import HttpUnit from "./NetWork/HttpUnit";
import WudianMgr from "./Mgr/WudianMgr";
import DialogLoading from "./View/Logo/DialogLoading";
import { UmengMgr } from "./Mgr/UmengMgr";
import DebugInfoMgr from "./Mgr/DebugInfoMgr";
import EventMgr from "./Event/EventMgr";
import { ryw_Event } from "./Event/EventEnum";
import Common5 from "../Platform/th/Common5";
import CommonDefine from "../Platform/th/CommonDefine";
import GameReport from "./Report/ZyZyReport";
const { ccclass, property } = cc._decorator;
/**
* 主页场景
*/
@ccclass
export default class Main extends cc.Component {
public static isBack_custom: boolean = false; //是否从后台回到前台
//加载页面
@property({ tooltip: "加载页面预支", type: cc.Node })
private loadingPrefab: cc.Node = null;
@property({ tooltip: "登录失败", type: cc.Node })
private dialogLoadPrefab: cc.Node = null;
// @property({ tooltip: "广告预支", type: cc.Prefab })
// private adPrefab: cc.Prefab = null;
//-----------------
private loadView_custom: LoadingView;
private dialogLoading_custom: DialogLoading;
//加载分包的进度最终位置
private readonly loadSubpackageTotal_custom: number = 0.8;
//网络加载的最终位置
private readonly loadHttpNetworkTotal_custom: number = 1;
//当前加载的分包下标
private subpackageIndex_custom: number = 0;
//公共的包大小
private subpackageSum_custom: number = 0;
//下一步要到达的进度最大值(0-1)
private needProcessNum_custom: number = 0;
//加载的状态 0未开始 1加载正常进度 2加载慢慢速度 3结束,进度条快速完成 4等待加载场景
private loadingState_custom: number = 0;
//速度
private loadingSpeed_custom: number = 0;
private isLoadScene: boolean = false;
onLoad() {
ZYSDK.ZYSDK.initSdk();
if (AppPlatform.is_TT_GAME_custom()) {
AppConfig.AppID_custom = AppConfig.TT_APP_ID_custom;
AppConfig.state_custom = AppConfig.TT_state_custom;
AppConfig.gameid_custom = AppConfig.TT_gameid_custom;
AppConfig.ResServer_custom = AppConfig.TT_ResServer_custom;
AppConfig.Versions_custom = AppConfig.TT_Versions_custom;
AppConfig.UseRYSDK_custom = false;
AppConfig.LoopAdLocationID_custom = AppConfig.TT_LoopAdLocationID_custom;
AppConfig.BannerAdLocationID_custom = AppConfig.TT_BannerAdLocationID_custom;
AppConfig.InsertAdLocationID_custom = AppConfig.TT_InsertAdLocationID_custom;
AppConfig.AniAdLocationID_custom = AppConfig.TT_AniAdLocationID_custom;
AppConfig.HistoryLocationID_custom = AppConfig.TT_HistoryLocationID_custom;
AppConfig.MoreGameLocationID_custom = AppConfig.TT_MoreGameLocationID_custom;
} else if (AppPlatform.is_WECHAT_GAME_custom()) {
AppConfig.AppID_custom = AppConfig.WX_APP_ID_custom;
AppConfig.state_custom = AppConfig.WX_state_custom;
AppConfig.gameid_custom = AppConfig.WX_gameid_custom;
AppConfig.ResServer_custom = AppConfig.WX_ResServer_custom;
AppConfig.Versions_custom = AppConfig.WX_Versions_custom;
AppConfig.UseRYSDK_custom = true;
if (AppConfig.closeUseRYSDK_custom) {//强制关闭的情况
AppConfig.UseRYSDK_custom = false;
}
AppConfig.LoopAdLocationID_custom = AppConfig.WX_LoopAdLocationID_custom;
AppConfig.BannerAdLocationID_custom = AppConfig.WX_BannerAdLocationID_custom;
AppConfig.InsertAdLocationID_custom = AppConfig.WX_InsertAdLocationID_custom;
AppConfig.AniAdLocationID_custom = AppConfig.WX_AniAdLocationID_custom;
AppConfig.HistoryLocationID_custom = AppConfig.WX_HistoryLocationID_custom;
AppConfig.MoreGameLocationID_custom = AppConfig.WX_MoreGameLocationID_custom;
} else if (AppPlatform.is_QQ_PLAY_custom()) {
AppConfig.AppID_custom = AppConfig.QQ_APP_ID_custom;
AppConfig.state_custom = AppConfig.QQ_state_custom;
AppConfig.gameid_custom = AppConfig.QQ_gameid_custom;
AppConfig.ResServer_custom = AppConfig.QQ_ResServer_custom;
AppConfig.Versions_custom = AppConfig.QQ_Versions_custom;
AppConfig.UseRYSDK_custom = false;
AppConfig.LoopAdLocationID_custom = AppConfig.QQ_LoopAdLocationID_custom;
AppConfig.BannerAdLocationID_custom = AppConfig.QQ_BannerAdLocationID_custom;
AppConfig.InsertAdLocationID_custom = AppConfig.QQ_InsertAdLocationID_custom;
AppConfig.AniAdLocationID_custom = AppConfig.QQ_AniAdLocationID_custom;
AppConfig.HistoryLocationID_custom = AppConfig.QQ_HistoryLocationID_custom;
AppConfig.MoreGameLocationID_custom = AppConfig.QQ_MoreGameLocationID_custom;
} else if (AppPlatform.is_OPPO_GAME_custom()) {
AppConfig.AppID_custom = AppConfig.OPPO_APP_ID_custom;
AppConfig.state_custom = AppConfig.OPPO_state_custom;
AppConfig.gameid_custom = AppConfig.OPPO_gameid_custom;
AppConfig.ResServer_custom = AppConfig.OPPO_ResServer_custom;
AppConfig.Versions_custom = AppConfig.OPPO_Versions_custom;
AppConfig.UseRYSDK_custom = false;
AppConfig.LoopAdLocationID_custom = AppConfig.OPPO_LoopAdLocationID_custom;
AppConfig.BannerAdLocationID_custom = AppConfig.OPPO_BannerAdLocationID_custom;
AppConfig.InsertAdLocationID_custom = AppConfig.OPPO_InsertAdLocationID_custom;
AppConfig.AniAdLocationID_custom = AppConfig.OPPO_AniAdLocationID_custom;
AppConfig.HistoryLocationID_custom = AppConfig.OPPO_HistoryLocationID_custom;
AppConfig.MoreGameLocationID_custom = AppConfig.OPPO_MoreGameLocationID_custom;
} else if (AppPlatform.is_VIVO_GAME_custom()) {
AppConfig.AppID_custom = AppConfig.VIVO_APP_ID_custom;
AppConfig.state_custom = AppConfig.VIVO_state_custom;
AppConfig.gameid_custom = AppConfig.VIVO_gameid_custom;
AppConfig.ResServer_custom = AppConfig.VIVO_ResServer_custom;
AppConfig.Versions_custom = AppConfig.VIVO_Versions_custom;
AppConfig.UseRYSDK_custom = false;
AppConfig.LoopAdLocationID_custom = AppConfig.VIVO_LoopAdLocationID_custom;
AppConfig.BannerAdLocationID_custom = AppConfig.VIVO_BannerAdLocationID_custom;
AppConfig.InsertAdLocationID_custom = AppConfig.VIVO_InsertAdLocationID_custom;
AppConfig.AniAdLocationID_custom = AppConfig.VIVO_AniAdLocationID_custom;
AppConfig.HistoryLocationID_custom = AppConfig.VIVO_HistoryLocationID_custom;
AppConfig.MoreGameLocationID_custom = AppConfig.VIVO_MoreGameLocationID_custom;
} else if (AppPlatform.is_Android_custom() || AppPlatform.is_Iphone_custom()) {//android
AppConfig.AppID_custom = AppConfig.APK_APP_ID_custom;
AppConfig.state_custom = AppConfig.APK_state_custom;
AppConfig.gameid_custom = AppConfig.APK_gameid_custom;
AppConfig.ResServer_custom = AppConfig.APK_ResServer_custom;
AppConfig.Versions_custom = AppConfig.APK_Versions_custom;
AppConfig.UseRYSDK_custom = false;
} else {//其他开发 用微信的
AppConfig.AppID_custom = AppConfig.TT_APP_ID_custom;
AppConfig.state_custom = AppConfig.TT_state_custom;
AppConfig.gameid_custom = AppConfig.TT_gameid_custom;
AppConfig.ResServer_custom = AppConfig.TT_ResServer_custom;
AppConfig.Versions_custom = AppConfig.TT_Versions_custom;
AppConfig.UseRYSDK_custom = false;//开发模式不支持
AppConfig.LoopAdLocationID_custom = AppConfig.TT_LoopAdLocationID_custom;
AppConfig.BannerAdLocationID_custom = AppConfig.TT_BannerAdLocationID_custom;
AppConfig.InsertAdLocationID_custom = AppConfig.TT_InsertAdLocationID_custom;
AppConfig.AniAdLocationID_custom = AppConfig.TT_AniAdLocationID_custom;
AppConfig.HistoryLocationID_custom = AppConfig.TT_HistoryLocationID_custom;
AppConfig.MoreGameLocationID_custom = AppConfig.TT_MoreGameLocationID_custom;
}
//先调用
// WudianMgr.UpdateIpBlockState_custom();
this.loadView_custom = this.loadingPrefab.getComponent(LoadingView);
// this.dialogLoading_custom = this.dialogLoadPrefab.getComponent(DialogLoading);
// this.dialogLoading_custom.closeView();
// this.dialogLoading_custom.onListenerEventView_custom(handleFM_custom((event) => {
// if (event == this.dialogLoading_custom.EventEnumView_custom.ClickLoad) {//重新登录
// this.login_custom();
// } else if (event == this.dialogLoading_custom.EventEnumView_custom.ClickVisitor) {//游客登录
// this.Login_fail_custom("游客登录");
// }
// }, this));
this.subpackageSum_custom = AppConfig.subResArray_custom.length;
this.loadView_custom.setProcess_custom(0);
Common5.loadConfigLocal_custom();
// Common5.loadPassConfig_custom();
this.loadSubpackage_custom();
//加载配置AppSwitchConfig
// AppSwitchConfig.getInstance_custom().loadUrlConfig_custom(handleFM_custom(() => {
// LogUtils.log_custom("加载 AppSwitchConfig 完成")
// Common5.initPowerConfig();
// DebugInfoMgr.setDebug_custom();
// this.setUserScan_custom();
// // //实例化广告常驻节点
// // if (this.adPrefab) {
// // console.log("实例化广告节点");
// // let ad = cc.instantiate(this.adPrefab);
// // cc.game.addPersistRootNode(ad);
// // }
// }, this), handleFM_custom(() => {
// console.log("加载失败。。。")
// }, this))
// 2023 12 16 打开版本检测
if(AppPlatform.is_TT_GAME_custom()){
}else if(AppPlatform.is_WECHAT_GAME_custom()){
AppPlatform.checkUpdate_custom();
}
}
start() {
}
/**
* 加载分包
*/
private loadSubpackage_custom() {
var self = this;
//有分包没有加载完成
if (this.subpackageIndex_custom < this.subpackageSum_custom) {
let platform = "";
let subpackageName = AppConfig.subResArray_custom[this.subpackageIndex_custom];
if (AppPlatform.is_TT_GAME_custom()) {
platform = "tt";
} else if (AppPlatform.is_WECHAT_GAME_custom()) {
platform = "wx";
}
else if (AppPlatform.is_OPPO_GAME_custom()) {
platform = "qg";
}
else if (AppPlatform.is_QQ_PLAY_custom()) {
platform = "qq";
}
LogUtils.log_custom("加载分包 " + subpackageName + " platform " + platform);
let proSum = ((this.subpackageIndex_custom + 1) / this.subpackageSum_custom) * self.loadSubpackageTotal_custom;
this.setStartLoadingPerNum_custom(proSum)
BundleMgr.loadBundleByName_custom(subpackageName, handleFM_custom((err, bundle) => {
if (err) {
console.error(err);
} else {
self.subpackageIndex_custom = self.subpackageIndex_custom + 1;
AppPlatform.loadSubpackageFinish_custom(subpackageName);
// this.scheduleOnce(()=>{
// if(!this.isLoadScene){
// this.isLoadScene = true
// this.onLoadResComplate_custom();//预加载完成 只需要加载完成一个就进入场景 WordGame游戏里面使用
// }
self.loadSubpackage_custom();
// },0.5);
}
}, this));
// }
} else {//加载完成了
this.onLoadResComplate_custom();
}
}
/**
* 设置下一个加载步骤可以到的位置
* @param preNum
*/
private setStartLoadingPerNum_custom(preNum: number) {
this.setLoadingState_custom(1, preNum);
}
/**
* 设置加载的进度状态
* @param state
*/
private setLoadingState_custom(state: number, preNum: number) {
this.loadingState_custom = state;
this.needProcessNum_custom = preNum;
switch (state) {
case 0:
break;
case 1:
this.loadingSpeed_custom = 1 / 80;
break;
case 2:
this.loadingSpeed_custom = 1 / 200;
break;
case 3://下载完成了
{
let precess = this.loadView_custom.getProcess_custom();
let psum = 1 - precess;
if (psum > 0) {
this.loadingSpeed_custom = psum / 20;
} else {
this.loadingSpeed_custom = 1 / 2;
}
}
break;
default:
break;
}
}
/**
* 假的进度
* @param dt
*/
protected update(dt: number): void {
if (this.loadView_custom) {
let precess = this.loadView_custom.getProcess_custom();
let nextPrecess = precess + this.loadingSpeed_custom;
switch (this.loadingState_custom) {
case 0:
break;
case 1://正常速度
if (nextPrecess >= this.needProcessNum_custom * 0.7) {
//nextPrecess = this.needProcessNum * 0.7;
if (nextPrecess >= this.needProcessNum_custom) {
nextPrecess = this.needProcessNum_custom;
}
//进入慢速度
this.setLoadingState_custom(2, this.needProcessNum_custom);
}
break;
case 2://慢速度
if (nextPrecess >= this.needProcessNum_custom) {
nextPrecess = this.needProcessNum_custom;
}
break;
case 3://急速进度
if (nextPrecess >= 1) {
nextPrecess = 1;
this.loadingState_custom = 4;
}
break;
default:
break;
}
if (precess != nextPrecess) {
this.loadView_custom.setProcess_custom(nextPrecess);
}
}
}
/**
* 设置下载全部完成,可以进游戏了
*/
private setDownloadOver_custom() {
this.initGame_custom();
this.setLoadingState_custom(3, 1);
}
/**
* 登录失败
*/
private Login_fail_custom(res?: any) {
console.log("登陆失败!!!" + res);
EventMgr.emitEvent_custom(ryw_Event.ryw_PlatformLoginState_custom, { state: 1, info: "平台登录失败" })
if (res) {
UmengMgr.sendLoginReportInfo_custom("平台登录", 1, "平台登录失败," + res);
} else {
UmengMgr.sendLoginReportInfo_custom("平台登录", 1, "平台登录失败");
}
let data = cc.sys.localStorage.getItem("data" + AppConfig.AppID_custom);
if (data) {
console.log("ly+++++++++ 有存档");
User.initiUser_custom(JSON.parse(data));
} else {
console.log("ly+++++++++ 无存档");
User.initiUser_custom(null);
}
this.setDownloadOver_custom();
}
/**
* 各个平台登录成功后 来自己服务器登录
* @param code
*/
private go_Login_custom(code: any) {
User.code_custom = code
EventMgr.emitEvent_custom(ryw_Event.ryw_PlatformLoginState_custom, { state: 0, info: "平台登录成功" })
UmengMgr.sendLoginReportInfo_custom("平台登录", 0, "平台登录成功");
console.log("准备登陆自己的平台")
// if (AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().isNetWorkGame_custom != 1) {
//存本地
let data = cc.sys.localStorage.getItem("data" + AppConfig.AppID_custom);
if (data) {
console.log("ly+++++++++ 有存档");
User.initiUser_custom(JSON.parse(data));
} else {
console.log("ly+++++++++ 无存档");
User.initiUser_custom(null);
}
this.setDownloadOver_custom();
// }
// else {
// //登录公司服务器
// this.login_custom();
// }
}
//登录
private login_custom() {
HttpUnit.login_custom((res: any) => {
if (res.code == 1) {
LogUtils.log_custom("登陆成功!!!");
User.token_custom = res.data.token;
User.openId_custom = res.data.openid;
EventMgr.emitEvent_custom(ryw_Event.ryw_NetLoginState_custom, { state: 0, info: "登录成功" })
UmengMgr.sendLoginReportInfo_custom("登录", 0, "登录成功");
//ALD.aldSendOpenId_custom(User.openId_custom);
HttpUnit.getGameData_custom((res: any) => {
LogUtils.log_custom("获取用户数据成功!!!");
if (1 == res.code) {
User.initiUser_custom(res.data);
EventMgr.emitEvent_custom(ryw_Event.ryw_NetUserDataState_custom, { state: 0, info: "获取用户数据成功" })
UmengMgr.sendLoginReportInfo_custom("用户数据", 0, "获取用户数据成功");
} else {
User.initiUser_custom(null);
let str = res.code;
if (res.msg) {
str = str + ':' + res.msg;
}
EventMgr.emitEvent_custom(ryw_Event.ryw_NetUserDataState_custom, { state: 2, info: str })
UmengMgr.sendLoginReportInfo_custom("用户数据", 2, "获取用户数据失败,业务异常:" + res.code);
}
this.setDownloadOver_custom();
}, (res: any) => {
LogUtils.log_custom("获取用户数据失败!!!");
EventMgr.emitEvent_custom(ryw_Event.ryw_NetUserDataState_custom, { state: 1, info: "获取用户数据失败,网络异常或超时" })
UmengMgr.sendLoginReportInfo_custom("用户数据", 1, "获取用户数据失败,网络异常或超时");
User.token_custom = "";
User.openId_custom = "";
User.initiUser_custom(null);
this.setDownloadOver_custom();
})
}
else {
let str = res.code;
if (res.msg) {
str = str + ':' + res.msg;
}
this.dialogLoading_custom.openView(str);
EventMgr.emitEvent_custom(ryw_Event.ryw_NetLoginState_custom, { state: 2, info: "登录失败,业务异常:" + res.code })
UmengMgr.sendLoginReportInfo_custom("登录", 2, "登录失败,业务异常" + str);
}
}, (res: any) => {
EventMgr.emitEvent_custom(ryw_Event.ryw_NetLoginState_custom, { state: 1, info: "登录失败,网络异常或超时" })
UmengMgr.sendLoginReportInfo_custom("登录", 1, "登录失败,网络异常或超时");
this.dialogLoading_custom.openView(res);
})
}
/**
* 分包等相关资源全部加载完成了
*/
private onLoadResComplate_custom() {
var self = this;
this.setStartLoadingPerNum_custom(this.loadHttpNetworkTotal_custom);
//预加载用到的场景
GameMgr.getInstance_custom().preloadScene_custom();
AppPlatform.loginPlatform_custom(function (code) {
self.go_Login_custom(code)
CommonDefine.loginCode = code;
}, () => {
self.Login_fail_custom();
}, () => {
// console.log("pc登录,数据存本地");
//存本地
let data = cc.sys.localStorage.getItem("data" + AppConfig.AppID_custom);
if (data) {
console.log("ly+++++++++ 有存档");
User.initiUser_custom(JSON.parse(data));
} else {
console.log("ly+++++++++ 无存档");
User.initiUser_custom(null);
}
self.setDownloadOver_custom();
});
//加载配置AppSwitchConfig
GameReport.setLoadingTime((new Date()).getTime());
GameReport.init();
}
//初始游戏
public initGame_custom() {
if (AppPlatform.is_WECHAT_GAME_custom()) {
console.log("小游戏设置转发按钮");
window["wx"].showShareMenu({
withShareTicket: false,
success: () => {
},
fail: () => {
},
complete: () => {
}
});
window["wx"].onShareAppMessage(function () {
return {
title: "",
imageUrl: ""
}
});
window["wx"].onShow(function () {
console.log('微信 显示在前台');
AppPlatform.isBackGameWX = true;
});
//初始化放到后面
let self = this;
AppPlatform.loginPlatform_custom(function (code) {
//初始 ry sdk
console.log('登陆成功,进行初始化');
GameMgr.getInstance_custom().onLoadToWorldScene_custom();
if (AppConfig.UseRYSDK_custom) { RYSDK.init_custom(code); }
}, null)
} else {
GameMgr.getInstance_custom().onLoadToWorldScene_custom();
}
// this.reportLaunchOptions_custom();
AppPlatform.initGame_custom();
}
/**
* 开启扫码登录功能
*/
setUserScan_custom() {
if (AppPlatform.is_WECHAT_GAME_custom()) {
if (AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wxcfg_custom.setUserScan_custom == 1) {
AppPlatform.loginPlatform_custom((code) => {
console.log(">>>>扫码功能:开始请求UserScan...");
let isShield = WudianMgr.isEnterBySerach_custom;
console.log(">>>>扫码功能:当前状态EnterBySerach......" + isShield);
User.code_custom = code;//临时记录下 不能不写
if (!isShield) {
console.log(">>>>扫码功能:扫码进入的,发送记录");
DebugInfoMgr.addDebugInfo_custom("扫码功能:扫码进入的,发送记录");
HttpUnit.userScanCode_custom({
code: code,
state: AppConfig.state_custom,
// gameid: AppConfig.gameid_custom,
type: 0,
scan: 1,
}, () => {
console.log(">>>>扫码功能:发送成功send pack success");
}, () => {
console.log(">>>>扫码功能:发送失败send pack fail");
})
AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudian_custom = 0;
} else {
DebugInfoMgr.addDebugInfo_custom("扫码功能:正常进入,拉取记录");
console.log("扫码功能:正常进入,拉取记录");
HttpUnit.userScanCode_custom({
code: code,
state: AppConfig.state_custom,
// gameid: AppConfig.gameid_custom,
type: 1,
scan: 0,
}, (result) => {
if (result.data != null) {
console.log(">>>>扫码功能:result.data" + result.data);
if (result.data > 0) {
console.log(">>>>扫码功能:正常进入,拉取记录,屏蔽扫码人员");
DebugInfoMgr.addDebugInfo_custom("扫码功能:正常进入,拉取记录,屏蔽扫码人员");
AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().wudian_custom = 0;
}
}
}, (err) => {
console.log(">>>>扫码功能:获取失败send pack fail");
})
}
}, null)
}
else {
console.log(">>>>扫码功能:没有启动");
DebugInfoMgr.addDebugInfo_custom("扫码功能:没有启动");
}
}
}
/**
* 获取IP
*/
// private reportLaunchOptions_custom() {
// HttpUnit.Getuserip_custom((res) => {
// if (1 == res.code) {
// console.log("获取玩家ip,地区成功 :", res.data.dqip, res.data.ipxq);
// let opt: any = null;
// if (AppPlatform.is_WECHAT_GAME_custom()) {
// opt = AppPlatform.getLaunchOptionsSync_custom();
// }
// else if (AppPlatform.is_QQ_PLAY_custom()) {
// opt = AppPlatform.getLaunchOptionsSync_custom();
// }
// if (null != opt) {
// //ALD.aldSendReportLaunchOptions_custom(opt.scene, res.data.dqip, res.data.ipxq);
// UmengMgr.sendReportLaunchOptions_custom(opt.scene, res.data.dqip, res.data.ipxq);
// }
// }
// }, (res) => {
// console.log("获取玩家ip,地区失败");
// let opt: any = null;
// if (AppPlatform.is_WECHAT_GAME_custom()) {
// opt = AppPlatform.getLaunchOptionsSync_custom();
// }
// else if (AppPlatform.is_QQ_PLAY_custom()) {
// opt = AppPlatform.getLaunchOptionsSync_custom();
// }
// if (null != opt) {
// //ALD.aldSendReportLaunchOptions_custom(opt.scene, "", "");
// UmengMgr.sendReportLaunchOptions_custom(opt.scene, "", "");
// }
// })
// }
}