手机横屏

This commit is contained in:
草莓 2025-01-03 13:50:29 +08:00
parent 53b43bb6e1
commit 6e2e6149f9
3 changed files with 283 additions and 228 deletions

View File

@ -861,14 +861,32 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
],
"startText": [
{
"type": "setValue",
"name": "item:book",
"value": "1"
"type": "function",
"function": "function(){\ncore.addItem('book', 1)\ncore.addItem('fly', 1)\n}"
},
{
"type": "setValue",
"name": "item:fly",
"value": "1"
"type": "if",
"condition": "((!main.replayChecking )&&(!core.isReplaying()))",
"true": [
{
"type": "if",
"condition": "(!core.platform.isPC)",
"true": [
{
"type": "confirm",
"default": true,
"text": "手机用户横屏体验更佳,是否切换",
"yes": [
{
"type": "function",
"function": "function(){\ncore.triggerFullscreenture\n}"
}
],
"no": []
}
]
}
]
}
],
"shops": [

View File

@ -1071,6 +1071,25 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// TODO增加自己的一些读档处理
core.ui.statusBar.clearItemInfo()
core.ui.statusBar.update();
core.insertAction([{
"type": "if",
"condition": "((!main.replayChecking )&&(!core.isReplaying()))",
"true": [{
"type": "if",
"condition": "(!core.platform.isPC)",
"true": [{
"type": "confirm",
"default": true,
"text": "手机用户横屏体验更佳,是否切换",
"yes": [
{ "type": "function", "function": "function(){\ncore.triggerFullscreenture\n}" },
],
"no": [
]
}, ]
}, ]
}])
// 切换到对应的楼层
core.changeFloor(data.floorId, null, data.hero.loc, 0, function () {
// TODO可以在这里设置读档后播放BGM

View File

@ -1,183 +1,182 @@
var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
init: function () {
this._afterLoadResources = function () {
// 本函数将在所有资源加载完毕后,游戏开启前被执行
core.ui.statusBar.init();
core.registerEvent("changeMouse", function (data) {
if (!main.replayChecking && !core.isReplaying())
core.changeMouse(
data.icon,
data.div,
data.translate[0],
data.translate[1],
data.scale[0],
data.scale[1],
data.angel,
data.px,
data.py
);
core.doAction();
});
core.registerEvent("removeMouse", function (data) {
if (!main.replayChecking && !core.isReplaying())
core.removeMouse(data.div);
core.doAction();
});
core.registerEvent("addPop", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
data.value = core.replaceText(data.value);
core.addPop(
data.value,
data.px,
data.py,
data.color,
data.boldColor,
data.left,
data.jump,
data.time,
data.show,
data.font,
data.speed
);
}
core.doAction();
});
core.registerEvent("drawWarning", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
data.text = core.replaceText(data.text);
data.text2 = core.replaceText(data.text2);
core.drawWarning(
data.x,
data.y,
data.size,
data?.text,
data?.text2,
data?.warning
);
setTimeout(() => core.doAction(), 3100);
} else {
core.doAction();
}
});
core.registerEvent("playStereo", function (data) {
if (!main.replayChecking && !core.isReplaying())
core.playStereo(data.name, data.left, data.right, data.split);
core.doAction();
});
core.registerEvent("moveStereo", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
const id = core.playStereo(
data.name,
data.left,
data.right,
data.split
);
core.moveStereo(id, data.leftTo, data.rightTo, data.time);
}
core.doAction();
});
core.registerEvent("over", function (data) {
let image = data.image ?? "";
let time = data.time ?? 3000;
let sound = data.sound ?? "";
let textColor = data.textColor ?? "#FFFFFF";
let boldColor = data.boldColor ?? "#000000";
let font = data.font ?? "bold 48px Verdana";
let text = data.text ?? "";
let hidetime = data.hidetime ?? 100;
if (!main.replayChecking && !core.isReplaying()) {
core.over(
image,
data.memory,
time,
hidetime,
sound,
textColor,
boldColor,
font,
text
);
} else {
core.doAction();
}
});
core.registerEvent("changebg", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
core.changebg(
data.img1,
data.memory1,
data.img2,
data.memory2,
data.time,
data.style
);
} else {
core.doAction();
}
});
core.registerEvent("overlist", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
core.overlist(
data.image,
data.memory,
data.hidetime || 30,
data.list || [
{
text: "",
sound: "",
time: 50,
textColor: "#FFFFFF",
boldColor: "#000000",
font: "bold 48px Verdana",
frame: 0,
},
]
);
} else {
core.doAction();
}
});
core.registerEvent("op", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
core.openvideo();
} else {
core.doAction();
}
});
core.registerEvent("animationDrawable", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
core.animationDrawable(
data.allFarme,
data.color,
data.globalAlpha,
data.imageList,
data.soundList
);
} else {
core.doAction();
}
});
core.registerEvent("cgtext", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
core.ui.cgText.image = data.bg;
core.ui.cgText.memory = data.memory;
core.ui.cgText.head = core.clone(data.head);
core.ui.cgText.name = data.name;
core.ui.cgText.text = data.text;
core.ui.cgText.time = data.time;
core.ui.cgText.wait = data.wait;
core.ui.cgText.WindowSkin = data.WindowSkin;
core.ui.cgText.sound = data.sound || "";
core.ui.cgText.bodyList = core.clone(data.bodyList);
main.dom.cgText.style.display = "block";
core.ui.cgText.update();
} else {
core.doAction();
}
});
};
},
drawLight: function () {
var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
{
"init": function () {
this._afterLoadResources = function () {
// 本函数将在所有资源加载完毕后,游戏开启前被执行
core.ui.statusBar.init();
core.registerEvent("changeMouse", function (data) {
if (!main.replayChecking && !core.isReplaying())
core.changeMouse(
data.icon,
data.div,
data.translate[0],
data.translate[1],
data.scale[0],
data.scale[1],
data.angel,
data.px,
data.py
);
core.doAction();
});
core.registerEvent("removeMouse", function (data) {
if (!main.replayChecking && !core.isReplaying())
core.removeMouse(data.div);
core.doAction();
});
core.registerEvent("addPop", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
data.value = core.replaceText(data.value);
core.addPop(
data.value,
data.px,
data.py,
data.color,
data.boldColor,
data.left,
data.jump,
data.time,
data.show,
data.font,
data.speed
);
}
core.doAction();
});
core.registerEvent("drawWarning", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
data.text = core.replaceText(data.text);
data.text2 = core.replaceText(data.text2);
core.drawWarning(
data.x,
data.y,
data.size,
data?.text,
data?.text2,
data?.warning
);
setTimeout(() => core.doAction(), 3100);
} else {
core.doAction();
}
});
core.registerEvent("playStereo", function (data) {
if (!main.replayChecking && !core.isReplaying())
core.playStereo(data.name, data.left, data.right, data.split);
core.doAction();
});
core.registerEvent("moveStereo", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
const id = core.playStereo(
data.name,
data.left,
data.right,
data.split
);
core.moveStereo(id, data.leftTo, data.rightTo, data.time);
}
core.doAction();
});
core.registerEvent("over", function (data) {
let image = data.image ?? "";
let time = data.time ?? 3000;
let sound = data.sound ?? "";
let textColor = data.textColor ?? "#FFFFFF";
let boldColor = data.boldColor ?? "#000000";
let font = data.font ?? "bold 48px Verdana";
let text = data.text ?? "";
let hidetime = data.hidetime ?? 100;
if (!main.replayChecking && !core.isReplaying()) {
core.over(
image,
data.memory,
time,
hidetime,
sound,
textColor,
boldColor,
font,
text
);
} else {
core.doAction();
}
});
core.registerEvent("changebg", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
core.changebg(
data.img1,
data.memory1,
data.img2,
data.memory2,
data.time,
data.style
);
} else {
core.doAction();
}
});
core.registerEvent("overlist", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
core.overlist(
data.image,
data.memory,
data.hidetime || 30,
data.list || [{
text: "",
sound: "",
time: 50,
textColor: "#FFFFFF",
boldColor: "#000000",
font: "bold 48px Verdana",
frame: 0,
}, ]
);
} else {
core.doAction();
}
});
core.registerEvent("op", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
core.openvideo();
} else {
core.doAction();
}
});
core.registerEvent("animationDrawable", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
core.animationDrawable(
data.allFarme,
data.color,
data.globalAlpha,
data.imageList,
data.soundList
);
} else {
core.doAction();
}
});
core.registerEvent("cgtext", function (data) {
if (!main.replayChecking && !core.isReplaying()) {
core.ui.cgText.image = data.bg;
core.ui.cgText.memory = data.memory;
core.ui.cgText.head = core.clone(data.head);
core.ui.cgText.name = data.name;
core.ui.cgText.text = data.text;
core.ui.cgText.time = data.time;
core.ui.cgText.wait = data.wait;
core.ui.cgText.WindowSkin = data.WindowSkin;
core.ui.cgText.sound = data.sound || "";
core.ui.cgText.bodyList = core.clone(data.bodyList);
main.dom.cgText.style.display = "block";
core.ui.cgText.update();
} else {
core.doAction();
}
});
};
},
"drawLight": function () {
// 绘制灯光/漆黑层效果。调用方式 core.plugin.drawLight(...)
// 【参数说明】
// name必填要绘制到的画布名可以是一个系统画布或者是个自定义画布如果不存在则创建
@ -243,7 +242,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
// 可以在任何地方如afterXXX或自定义脚本事件调用函数方法为 core.plugin.xxx();
};
},
shop: function () {
"shop": function () {
// 【全局商店】相关的功能
//
// 打开一个全局商店
@ -519,7 +518,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
60
);
},
removeMap: function () {
"removeMap": function () {
// 高层塔砍层插件,删除后不会存入存档,不可浏览地图也不可飞到。
// 推荐用法:
// 对于超高层或分区域塔当在1区时将2区以后的地图删除1区结束时恢复2区进二区时删除1区地图以此类推
@ -608,7 +607,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
});
};
},
fiveLayers: function () {
"fiveLayers": function () {
// 是否启用五图层增加背景2层和前景2层 将__enable置为true即会启用启用后请保存后刷新编辑器
// 背景层2将会覆盖背景层 被事件层覆盖 前景层2将会覆盖前景层
// 另外 请注意加入两个新图层 会让大地图的性能降低一些
@ -810,7 +809,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
};
};
},
itemShop: function () {
"itemShop": function () {
// 道具商店相关的插件
// 可在全塔属性-全局商店中使用「道具商店」事件块进行编辑(如果找不到可以在入口方块中找)
@ -1212,7 +1211,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
]);
};
},
enemyLevel: function () {
"enemyLevel": function () {
// 此插件将提供怪物手册中的怪物境界显示
// 使用此插件需要先给每个怪物定义境界,方法如下:
// 点击怪物的【配置表格】,找到“【怪物】相关的表格配置”,然后在【名称】仿照增加境界定义:
@ -1380,7 +1379,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
);
};
},
multiHeros: function () {
"multiHeros": function () {
// 多角色插件
// Step 1: 启用本插件
// Step 2: 定义每个新的角色各项初始数据(参见下方注释)
@ -1534,7 +1533,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
core.setFlag("heroId", toHeroId); // 保存切换到的角色ID
};
},
heroFourFrames: function () {
"heroFourFrames": function () {
// 样板的勇士/跟随者移动时只使用2、4两帧观感较差。本插件可以将四帧全用上。
// 是否启用本插件
@ -1597,7 +1596,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
return false;
};
},
routeFixing: function () {
"routeFixing": function () {
// 是否开启本插件true 表示启用false 表示禁用。
var __enable = true;
if (!__enable) return;
@ -1721,7 +1720,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
100
);
},
numpad: function () {
"numpad": function () {
// 样板自带的整数输入事件为白屏弹窗且可以误输入任意非法内容但不支持负整数观感较差。本插件可以将其美化成仿RM样式使其支持负整数同时带有音效
// 另一方面4399等第三方平台不允许使用包括 core.myprompt() 和 core.myconfirm() 在内的弹窗,因此也需要此插件来替代,不然类似生命魔杖的道具就不好实现了
// 关于负整数输入V2.8.2原生支持其录像的压缩和解压,只是默认的 core.events._action_input() 函数将负数取了绝对值,可以只复写下面的 core.isReplaying() 部分来取消
@ -1978,7 +1977,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
};
},
sprites: function () {
"sprites": function () {
// 基于canvas的sprite化摘编整理自万宁魔塔
//
// ---------------------------------------- 第一部分 js代码 (必装) --------------------------------------- //
@ -2182,7 +2181,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
window.Sprite = Sprite;
},
hotReload: function () {
"hotReload": function () {
/* ---------- ---------- *
1. libs/ main.js index.html 中的任意一个文件被更改后会自动刷新塔的页面
@ -2439,7 +2438,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
})();
},
statusBar: function () {
"statusBar": function () {
main.dom.floorMsgGroup.style.display = "none";
main.dom.statusBar.style.display = "none";
main.dom.toolBar.style.display = "none";
@ -3636,7 +3635,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
};
// init() called in `afterLoadResources`.
},
override: function () {
"override": function () {
core.statusBar.icons = {
floor: 0,
name: null,
@ -3986,7 +3985,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
ctx.fillText(text, x, y);
};
},
额外信息: function () {
"额外信息": function () {
/*
* 注意不要在道具属性中直接操作flags使用core.status.hero.flags或core.setFlag系列函数代替
* 需要将 变量itemDetail改为true才可正常运行
@ -4143,7 +4142,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
}
},
编辑器显伤: function () {
"编辑器显伤": function () {
// 在此增加新插件
/////// 用户设置 ///////
// 将__enable置为false将关闭插件
@ -4417,7 +4416,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
};
},
手册区分特殊属性: function () {
"手册区分特殊属性": function () {
// 在此增加新插件
this.arrsame = function (Arraya, Arrayb) {
let a = Arraya || [];
@ -4769,7 +4768,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
return [enemy, texts];
};
},
一防减伤: function () {
"一防减伤": function () {
// 在此增加新插件
ui.prototype._drawBook_drawRow3 = function (
index,
@ -4843,7 +4842,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
return this.getDefDamage(enemy, null, x, y, floorId);
};
},
"新道具栏/装备栏": function () {
"新道具栏/装备栏": function () {
// 在此增加新插件
// 注:///// *** 裹起来的区域: 该区域内参数可以随意更改调整ui绘制 不会影响总体布局
// 请尽量修改该区域而不是其他区域 修改的时候最好可以对照现有ui修改
@ -6241,7 +6240,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
core.registerReplayAction("equip", core.control._replayAction_equip);
core.registerReplayAction("unEquip", core.control._replayAction_unEquip);
},
技能树: function () {
"技能树": function () {
// 在此增加新插件
//
// 已学习的技能等级 flags._hasSkill_
@ -7043,7 +7042,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
};
core.registerReplayAction("skill", control.prototype._replayAction_skill);
},
animate: function () {
"animate": function () {
// -------------------- 插件说明 -------------------- //
// github仓库https://github.com/unanmed/animate
@ -7922,7 +7921,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
shake: B,
};
},
func: function () {
"func": function () {
// 功能函数集,具体有哪些函数看每个函数前的注释即可
// 安装方式:直接复制到插件里面,注意新建插件自带的 function () { } 不能删
// 使用方式:可以直接使用对象解构按需引入
@ -8362,7 +8361,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
};
},
怪物碎裂特效: function () {
"怪物碎裂特效": function () {
// 在此增加新插件
// -------------------- 安装说明 -------------------- //
// 先安装两个在插件简介中说明的前置插件
@ -8606,7 +8605,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
applyFragWith,
};
},
自定义常用事件: function () {
"自定义常用事件": function () {
// editorBlocklyconfigPlus.js
// 自訂常見事件模板插件
// 本插件引用了通用函數插件(Utility.js)
@ -9887,7 +9886,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
.split("// end mark sfergsvae")[0];
}
},
夹击激光动画: function () {
"夹击激光动画": function () {
function createCanvas(name, zIndex) {
if (!name) return;
var canvas = document.createElement("canvas");
@ -10118,7 +10117,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
};
},
瞬移轨迹: function () {
"瞬移轨迹": function () {
// 在此增加新插件
function popMove() {
var ctx = core.getContextByName("popMove");
@ -10197,7 +10196,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
};
},
"墓碑(编辑器)": function () {
"墓碑(编辑器)": function () {
// 在此增加新插件
if (main.mode != "editor") return; // 编辑器模式下使用
var mapData = null;
@ -10268,7 +10267,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
core.setAlpha("event2", alpha);
};
},
小地图: function () {
"小地图": function () {
// 在此增加新插件
// ----- 不可自定义 杂七杂八的变量
/** @type {{[x: string]: BFSResult}} */
@ -10683,7 +10682,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
};
},
楼传: function () {
"楼传": function () {
// 在此增加新插件
core.canMoveFloor = function () {
@ -11791,7 +11790,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
0
);
},
CG回廊: function () {
"CG回廊": function () {
// 在此增加新插件
const CGUI = document.createElement("canvas"); //CGui画布设置
CGUI.style.position = "absolute";
@ -12312,7 +12311,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
main.core.ui.CG.update();
};
},
光标设置: function () {
"光标设置": function () {
// 在此增加新插件
this.changeMouse = function (
icon,
@ -12349,7 +12348,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
core.dom[div].style.cursor = "auto";
};
},
信息弹出: function () {
"信息弹出": function () {
// 在此增加新插件
/*
* 使用方法core.addPop(px, py, value, color, boldColor, left, jump, time, show, font, speed)
@ -12448,7 +12447,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
else core.status.pop.push(data);
};
},
warning: function () {
"warning": function () {
// 在此增加新插件
// 默认音效名
var defaultSound = "jingbao.mp3";
@ -12511,7 +12510,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}, 1600);
};
},
立体声音效: function () {
"立体声音效": function () {
// 在此增加新插件
// 音效双声道播放
var can = true;
@ -12615,7 +12614,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}, 10);
};
},
滑动转场: function () {
"滑动转场": function () {
// 在此增加新插件
const defaultChange = {
left: "leftPortal", // 左箭头
@ -12805,7 +12804,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}, 25);
};
},
剧情cg: function () {
"剧情cg": function () {
// 在此增加新插件
const cg = document.createElement("canvas"); //cg画布设置
cg.style.position = "absolute";
@ -13319,7 +13318,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
core.ui.cgText = new cgText();
},
旁白: function () {
"旁白": function () {
// 在此增加新插件
const over = document.createElement("canvas"); //over画布设置
over.style.position = "absolute";
@ -13809,7 +13808,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
};
},
属性映射: function () {
"属性映射": function () {
// 在此增加新插件
this.statusEquip = function () {
const hero = core.status.hero;
@ -13875,7 +13874,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
core.status.hero = hero;
};
},
回合制boss战: function () {
"回合制boss战": function () {
// 在此增加新插件
const boss = document.createElement("canvas"); //boss战画布设置
boss.style.position = "absolute";
@ -13923,7 +13922,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
}
core.ui.boss = new boss1();
},
剧情视频引用: function () {
"剧情视频引用": function () {
// 在此增加新插件
let a;
let bgm;
@ -14094,7 +14093,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
});
};
},
"帧动画/图片叠拼": function () {
"帧动画/图片叠拼": function () {
// 在此增加新插件
this.animationDrawable = function (
allFarme,
@ -14216,7 +14215,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
);
};
},
musicMode: function () {
"musicMode": function () {
// 在此增加新插件
const music = document.createElement("canvas"); //CGui画布设置
music.style.position = "absolute";
@ -14397,4 +14396,23 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
main.core.ui.music.update();
};
},
};
"横屏切换": function () {
// 在此增加新插件
this.triggerFullscreen = async function (full) {
if (!!document.fullscreenElement && !full) {
if (window.jsinterface) {
window.jsinterface.requestPortrait();
return;
}
await document.exitFullscreen();
}
if (full && !document.fullscreenElement) {
if (window.jsinterface) {
window.jsinterface.requestLandscape();
return;
}
await document.body.requestFullscreen();
}
}
}
}