mirror of
https://github.com/potato47/ccc-devtools.git
synced 2024-12-26 03:39:16 +00:00
船新版本
This commit is contained in:
parent
caf54f3d04
commit
515259a06b
176
preview-templates/boot.js
Normal file
176
preview-templates/boot.js
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
// init device resolutions
|
||||||
|
var devices = [
|
||||||
|
{ name: 'Apple iPhone 5', width: 320, height: 568, ratio: 2 },
|
||||||
|
{ name: 'Apple iPhone 6', width: 375, height: 667, ratio: 2 },
|
||||||
|
{ name: 'Apple iPhone 6 Plus', width: 414, height: 736, ratio: 3 },
|
||||||
|
{ name: 'Apple iPhone 7', width: 375, height: 667, ratio: 2 },
|
||||||
|
{ name: 'Apple iPhone 7 Plus', width: 414, height: 736, ratio: 3 },
|
||||||
|
{ name: 'Apple iPhone X', width: 375, height: 812, ratio: 3 },
|
||||||
|
|
||||||
|
{ name: 'Apple iPad', width: 1024, height: 768, ratio: 2 },
|
||||||
|
{ name: 'Apple iPad Air 2', width: 768, height: 1024, ratio: 2 },
|
||||||
|
{ name: 'Apple iPad Pro 10.5-inch', width: 834, height: 1112, ratio: 2 },
|
||||||
|
{ name: 'Apple iPad Pro 12.9-inch', width: 1024, height: 1366, ratio: 2 },
|
||||||
|
|
||||||
|
{ name: 'Huawei P9', width: 540, height: 960, ratio: 2 },
|
||||||
|
{ name: 'Huawei Mate9 Pro', width: 720, height: 1280, ratio: 2 },
|
||||||
|
|
||||||
|
{ name: 'Goolge Nexus 5', width: 360, height: 640, ratio: 3 },
|
||||||
|
{ name: 'Goolge Nexus 5X', width: 411, height: 731, ratio: 2.625 },
|
||||||
|
{ name: 'Goolge Nexus 6', width: 412, height: 732, ratio: 3.5 },
|
||||||
|
{ name: 'Goolge Nexus 7', width: 960, height: 600, ratio: 2 },
|
||||||
|
];
|
||||||
|
|
||||||
|
var designWidth = _CCSettings.designWidth;
|
||||||
|
var designHeight = _CCSettings.designHeight;
|
||||||
|
|
||||||
|
var rotated = false;
|
||||||
|
|
||||||
|
var canvas = document.getElementById('GameCanvas');
|
||||||
|
window.onload = function () {
|
||||||
|
if (window.__quick_compile__) {
|
||||||
|
window.__quick_compile__.load(onload);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
onload();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function getEmulatedScreenSize () {
|
||||||
|
var w, h;
|
||||||
|
// var idx = optsDevice.value;
|
||||||
|
var idx = '4';
|
||||||
|
rotated = true;
|
||||||
|
if ( idx === '0' ) {
|
||||||
|
w = designWidth;
|
||||||
|
h = designHeight;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var info = devices[parseInt(idx) - 1];
|
||||||
|
w = info.width;
|
||||||
|
h = info.height;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
width: rotated ? h : w,
|
||||||
|
height: rotated ? w : h
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function onload() {
|
||||||
|
|
||||||
|
// socket
|
||||||
|
// =======================
|
||||||
|
|
||||||
|
// Receives a refresh event from the editor, which triggers the reload of the page
|
||||||
|
var socket = window.io();
|
||||||
|
socket.on('browser:reload', function () {
|
||||||
|
window.location.reload();
|
||||||
|
});
|
||||||
|
socket.on('browser:confirm-reload', function () {
|
||||||
|
var r = confirm('Reload?');
|
||||||
|
if (r) {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function updateResolution () {
|
||||||
|
var size = getEmulatedScreenSize();
|
||||||
|
var gameDiv = document.getElementById('GameDiv');
|
||||||
|
gameDiv.style.width = size.width + 'px';
|
||||||
|
gameDiv.style.height = size.height + 'px';
|
||||||
|
|
||||||
|
cc.view.setCanvasSize(size.width, size.height);
|
||||||
|
}
|
||||||
|
|
||||||
|
// init engine
|
||||||
|
// =======================
|
||||||
|
|
||||||
|
var AssetOptions = {
|
||||||
|
libraryPath: 'res/import',
|
||||||
|
rawAssetsBase: 'res/raw-',
|
||||||
|
rawAssets: _CCSettings.rawAssets
|
||||||
|
};
|
||||||
|
|
||||||
|
// jsList
|
||||||
|
var jsList = _CCSettings.jsList || [];
|
||||||
|
jsList = jsList.map(function (x) { return AssetOptions.rawAssetsBase + x; });
|
||||||
|
if (_CCSettings.jsBundleForWebPreview) {
|
||||||
|
jsList.push(_CCSettings.jsBundleForWebPreview);
|
||||||
|
}
|
||||||
|
|
||||||
|
window.__modular.init(_CCSettings.scripts);
|
||||||
|
jsList = jsList.concat(window.__modular.srcs);
|
||||||
|
|
||||||
|
var option = {
|
||||||
|
id: canvas,
|
||||||
|
scenes: _CCSettings.scenes,
|
||||||
|
debugMode: _CCSettings.debug ? cc.debug.DebugMode.INFO : cc.debug.DebugMode.ERROR,
|
||||||
|
showFPS: _CCSettings.debug,
|
||||||
|
frameRate: 60,
|
||||||
|
groupList: _CCSettings.groupList,
|
||||||
|
collisionMatrix: _CCSettings.collisionMatrix,
|
||||||
|
jsList: jsList
|
||||||
|
};
|
||||||
|
|
||||||
|
cc.AssetLibrary.init(AssetOptions);
|
||||||
|
|
||||||
|
cc.game.run(option, function () {
|
||||||
|
|
||||||
|
updateResolution();
|
||||||
|
|
||||||
|
cc.view.enableRetina(true);
|
||||||
|
cc.debug.setDisplayStats(true);
|
||||||
|
|
||||||
|
// Loading splash scene
|
||||||
|
// var splash = document.getElementById('splash');
|
||||||
|
// var progressBar = splash.querySelector('.progress-bar span');
|
||||||
|
|
||||||
|
cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () {
|
||||||
|
// splash.style.display = 'none';
|
||||||
|
});
|
||||||
|
|
||||||
|
cc.game.pause();
|
||||||
|
|
||||||
|
// load stashed scene
|
||||||
|
cc.loader.load('preview-scene.json', function (error, json) {
|
||||||
|
if (error) {
|
||||||
|
cc.error(error.stack);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
cc.loader.onProgress = function (completedCount, totalCount, item) {
|
||||||
|
var percent = 100 * completedCount / totalCount;
|
||||||
|
// if (progressBar) {
|
||||||
|
// progressBar.style.width = percent.toFixed(2) + '%';
|
||||||
|
// }
|
||||||
|
};
|
||||||
|
|
||||||
|
cc.AssetLibrary.loadJson(json,
|
||||||
|
function (err, sceneAsset) {
|
||||||
|
if (err) {
|
||||||
|
cc.error(err.stack);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var scene = sceneAsset.scene;
|
||||||
|
scene._name = sceneAsset._name;
|
||||||
|
cc.director.runSceneImmediate(scene, function () {
|
||||||
|
// play game
|
||||||
|
cc.game.resume();
|
||||||
|
});
|
||||||
|
|
||||||
|
cc.loader.onProgress = null;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
// purge
|
||||||
|
//noinspection JSUnresolvedVariable
|
||||||
|
_CCSettings = undefined;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
})();
|
||||||
|
|
BIN
preview-templates/favicon.ico
Normal file
BIN
preview-templates/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 318 B |
88
preview-templates/index.html
Normal file
88
preview-templates/index.html
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<link rel="icon" href="app/editor/static/preview-templates/favicon.ico">
|
||||||
|
</link>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title><%=title%></title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||||
|
<!-- <link href="libs/css/googlefonts.css" rel="stylesheet" type="text/css"> -->
|
||||||
|
<link href="libs/css/materialdesignicons.min.css" rel="stylesheet" type="text/css">
|
||||||
|
<link href="libs/css/vuetify.min.css" rel="stylesheet" type="text/css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<v-app id="app">
|
||||||
|
<v-app-bar app clipped-left color="gray" dense>
|
||||||
|
<v-app-bar-nav-icon @click.stop="drawer = !drawer"></v-app-bar-nav-icon>
|
||||||
|
<v-toolbar-title class="mr-5 align-center">
|
||||||
|
<span class="title">Title</span>
|
||||||
|
</v-toolbar-title>
|
||||||
|
<v-spacer></v-spacer>
|
||||||
|
</v-app-bar>
|
||||||
|
|
||||||
|
<v-navigation-drawer v-model="drawer" app clipped fixed width="512">
|
||||||
|
<v-container style="height: 50%;overflow: auto;">
|
||||||
|
<v-text-field v-model="search" dense label="Search Node or Component" dark flat solo-inverted hide-details clearable
|
||||||
|
clear-icon="mdi-close-circle-outline"></v-text-field>
|
||||||
|
<v-treeview :items="nodes" item-key="id" dense activatable :search="search" @click="handleNodeClick">
|
||||||
|
<template v-slot:label="{ item, open }">
|
||||||
|
<label v-if="item.active" style="color: white;">{{ item.name }}</label>
|
||||||
|
<label v-else style="color: gray;">{{ item.name }}</label>
|
||||||
|
</template>
|
||||||
|
</v-treeview>
|
||||||
|
</v-container>
|
||||||
|
<v-container style="border-top: 2px solid darkgray;overflow-y: auto;">
|
||||||
|
<v-row>
|
||||||
|
<v-col cols="4">
|
||||||
|
<label>Position</label>
|
||||||
|
</v-col>
|
||||||
|
<v-col cols="8">
|
||||||
|
<label>12,12</label>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
<v-row>
|
||||||
|
<v-col cols="4">
|
||||||
|
<label>width</label>
|
||||||
|
</v-col>
|
||||||
|
<v-col cols="8">
|
||||||
|
<label>250</label>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
<v-row>
|
||||||
|
<v-col cols="4">
|
||||||
|
<label>height</label>
|
||||||
|
</v-col>
|
||||||
|
<v-col cols="8">
|
||||||
|
<label>250</label>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
</v-container>
|
||||||
|
</v-navigation-drawer>
|
||||||
|
|
||||||
|
<v-content>
|
||||||
|
<v-container fill-height>
|
||||||
|
<v-card id="GameDiv" class="mx-auto" outlined>
|
||||||
|
<canvas id="GameCanvas" oncontextmenu="event.preventDefault()" tabindex="0"></canvas>
|
||||||
|
</v-card>
|
||||||
|
</v-container>
|
||||||
|
</v-content>
|
||||||
|
|
||||||
|
</v-app>
|
||||||
|
|
||||||
|
<!-- <div id="splash">
|
||||||
|
<div class="progress-bar stripes">
|
||||||
|
<span style="width: 0%"></span>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<script src="libs/js/vue.min.js"></script>
|
||||||
|
<script src="libs/js/vuetify.js"></script>
|
||||||
|
<script src="preview.js"></script>
|
||||||
|
<script src="settings.js" charset="utf-8"></script>
|
||||||
|
<script src="app/editor/static/preview-templates/modular.js" charset="utf-8"></script>
|
||||||
|
<script src="boot.js" charset="utf-8"></script>
|
||||||
|
<script src="/socket.io/socket.io.js" charset="utf-8"></script>
|
||||||
|
<script src="app/engine/bin/<%=cocos2d%>" charset="utf-8"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
336
preview-templates/libs/css/googlefonts.css
Normal file
336
preview-templates/libs/css/googlefonts.css
Normal file
@ -0,0 +1,336 @@
|
|||||||
|
/* cyrillic-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100;
|
||||||
|
src: local('Roboto Thin'), local('Roboto-Thin'), url(../fonts/googlefonts-base.woff2) format('woff2');
|
||||||
|
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||||
|
}
|
||||||
|
/* cyrillic */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100;
|
||||||
|
src: local('Roboto Thin'), local('Roboto-Thin'), url(../fonts/googlefonts-base.woff22) format('woff2');
|
||||||
|
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||||
|
}
|
||||||
|
/* greek-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100;
|
||||||
|
src: local('Roboto Thin'), local('Roboto-Thin'), url(../fonts/googlefonts-base.woff22) format('woff2');
|
||||||
|
unicode-range: U+1F00-1FFF;
|
||||||
|
}
|
||||||
|
/* greek */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100;
|
||||||
|
src: local('Roboto Thin'), local('Roboto-Thin'), url(../fonts/googlefonts-base.woff22) format('woff2');
|
||||||
|
unicode-range: U+0370-03FF;
|
||||||
|
}
|
||||||
|
/* vietnamese */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100;
|
||||||
|
src: local('Roboto Thin'), local('Roboto-Thin'), url(../fonts/googlefonts-base.woff22) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100;
|
||||||
|
src: local('Roboto Thin'), local('Roboto-Thin'), url(../fonts/googlefonts-base.woff22) format('woff2');
|
||||||
|
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100;
|
||||||
|
src: local('Roboto Thin'), local('Roboto-Thin'), url(../fonts/googlefonts-base.woff2format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* cyrillic-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: local('Roboto Light'), local('Roboto-Light'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||||
|
}
|
||||||
|
/* cyrillic */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: local('Roboto Light'), local('Roboto-Light'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||||
|
}
|
||||||
|
/* greek-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: local('Roboto Light'), local('Roboto-Light'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+1F00-1FFF;
|
||||||
|
}
|
||||||
|
/* greek */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: local('Roboto Light'), local('Roboto-Light'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0370-03FF;
|
||||||
|
}
|
||||||
|
/* vietnamese */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: local('Roboto Light'), local('Roboto-Light'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: local('Roboto Light'), local('Roboto-Light'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: local('Roboto Light'), local('Roboto-Light'), url(../fonts/googlefonts-base.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* cyrillic-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Roboto'), local('Roboto-Regular'), url(../fonts/googlefonts-base.woff2format('woff2');
|
||||||
|
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||||
|
}
|
||||||
|
/* cyrillic */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Roboto'), local('Roboto-Regular'), url(../fonts/googlefonts-base.woff2format('woff2');
|
||||||
|
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||||
|
}
|
||||||
|
/* greek-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Roboto'), local('Roboto-Regular'), url(../fonts/googlefonts-base.woff2format('woff2');
|
||||||
|
unicode-range: U+1F00-1FFF;
|
||||||
|
}
|
||||||
|
/* greek */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Roboto'), local('Roboto-Regular'), url(../fonts/googlefonts-base.woff2format('woff2');
|
||||||
|
unicode-range: U+0370-03FF;
|
||||||
|
}
|
||||||
|
/* vietnamese */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Roboto'), local('Roboto-Regular'), url(../fonts/googlefonts-base.woff2format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Roboto'), local('Roboto-Regular'), url(../fonts/googlefonts-base.woff2format('woff2');
|
||||||
|
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Roboto'), local('Roboto-Regular'), url(../fonts/googlefonts-base.woff2rmat('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* cyrillic-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local('Roboto Medium'), local('Roboto-Medium'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||||
|
}
|
||||||
|
/* cyrillic */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local('Roboto Medium'), local('Roboto-Medium'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||||
|
}
|
||||||
|
/* greek-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local('Roboto Medium'), local('Roboto-Medium'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+1F00-1FFF;
|
||||||
|
}
|
||||||
|
/* greek */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local('Roboto Medium'), local('Roboto-Medium'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0370-03FF;
|
||||||
|
}
|
||||||
|
/* vietnamese */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local('Roboto Medium'), local('Roboto-Medium'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local('Roboto Medium'), local('Roboto-Medium'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local('Roboto Medium'), local('Roboto-Medium'), url(../fonts/googlefonts-base.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* cyrillic-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Roboto Bold'), local('Roboto-Bold'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||||
|
}
|
||||||
|
/* cyrillic */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Roboto Bold'), local('Roboto-Bold'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||||
|
}
|
||||||
|
/* greek-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Roboto Bold'), local('Roboto-Bold'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+1F00-1FFF;
|
||||||
|
}
|
||||||
|
/* greek */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Roboto Bold'), local('Roboto-Bold'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0370-03FF;
|
||||||
|
}
|
||||||
|
/* vietnamese */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Roboto Bold'), local('Roboto-Bold'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Roboto Bold'), local('Roboto-Bold'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Roboto Bold'), local('Roboto-Bold'), url(../fonts/googlefonts-base.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* cyrillic-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 900;
|
||||||
|
src: local('Roboto Black'), local('Roboto-Black'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||||
|
}
|
||||||
|
/* cyrillic */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 900;
|
||||||
|
src: local('Roboto Black'), local('Roboto-Black'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||||
|
}
|
||||||
|
/* greek-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 900;
|
||||||
|
src: local('Roboto Black'), local('Roboto-Black'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+1F00-1FFF;
|
||||||
|
}
|
||||||
|
/* greek */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 900;
|
||||||
|
src: local('Roboto Black'), local('Roboto-Black'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0370-03FF;
|
||||||
|
}
|
||||||
|
/* vietnamese */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 900;
|
||||||
|
src: local('Roboto Black'), local('Roboto-Black'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 900;
|
||||||
|
src: local('Roboto Black'), local('Roboto-Black'), url(../fonts/googlefonts-base.woff2f2) format('woff2');
|
||||||
|
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 900;
|
||||||
|
src: local('Roboto Black'), local('Roboto-Black'), url(../fonts/googlefonts-base.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
3
preview-templates/libs/css/materialdesignicons.min.css
vendored
Normal file
3
preview-templates/libs/css/materialdesignicons.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
8
preview-templates/libs/css/vuetify.min.css
vendored
Normal file
8
preview-templates/libs/css/vuetify.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
preview-templates/libs/fonts/googlefonts-base.woff2
Normal file
BIN
preview-templates/libs/fonts/googlefonts-base.woff2
Normal file
Binary file not shown.
BIN
preview-templates/libs/fonts/materialdesignicons-webfont.eot
Normal file
BIN
preview-templates/libs/fonts/materialdesignicons-webfont.eot
Normal file
Binary file not shown.
BIN
preview-templates/libs/fonts/materialdesignicons-webfont.ttf
Normal file
BIN
preview-templates/libs/fonts/materialdesignicons-webfont.ttf
Normal file
Binary file not shown.
BIN
preview-templates/libs/fonts/materialdesignicons-webfont.woff
Normal file
BIN
preview-templates/libs/fonts/materialdesignicons-webfont.woff
Normal file
Binary file not shown.
BIN
preview-templates/libs/fonts/materialdesignicons-webfont.woff2
Normal file
BIN
preview-templates/libs/fonts/materialdesignicons-webfont.woff2
Normal file
Binary file not shown.
6
preview-templates/libs/js/vue.min.js
vendored
Normal file
6
preview-templates/libs/js/vue.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
41499
preview-templates/libs/js/vuetify.js
Normal file
41499
preview-templates/libs/js/vuetify.js
Normal file
File diff suppressed because it is too large
Load Diff
103
preview-templates/preview.js
Normal file
103
preview-templates/preview.js
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
/* eslint-disable no-undef */
|
||||||
|
const app = new Vue({
|
||||||
|
el: '#app',
|
||||||
|
vuetify: new Vuetify({
|
||||||
|
theme: { dark: true }
|
||||||
|
}),
|
||||||
|
data: {
|
||||||
|
drawer: false,
|
||||||
|
loading: true,
|
||||||
|
nodes: [],
|
||||||
|
intervalId: -1,
|
||||||
|
search: null,
|
||||||
|
node: null,
|
||||||
|
nodeSchema: {},
|
||||||
|
componentsSchema: [],
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// this.$vuetify.theme.dark = true;
|
||||||
|
this.updateTree();
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
filter() {
|
||||||
|
return (item, search, textKey) => item[textKey].indexOf(search) > -1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
showTree: function () {
|
||||||
|
if (!this.$data.drawer || !window.cc || !cc.director.getScene() || !cc.director.getScene().children) return;
|
||||||
|
this.$data.nodes = getChildren(cc.director.getScene());
|
||||||
|
},
|
||||||
|
updateTree: function () {
|
||||||
|
this.$data.intervalId = setInterval(() => {
|
||||||
|
this.showTree();
|
||||||
|
}, 200);
|
||||||
|
},
|
||||||
|
stopUpdateTree: function () {
|
||||||
|
clearInterval(this.$data.intervalId);
|
||||||
|
},
|
||||||
|
handleNodeClick(node) {
|
||||||
|
console.log(node);
|
||||||
|
return;
|
||||||
|
if (node) {
|
||||||
|
this.$data.node = node;
|
||||||
|
if (!node.hex_color) {
|
||||||
|
cc.js.getset(node, 'hex_color', () => {
|
||||||
|
return '#' + node.color.toHEX('#rrggbb');
|
||||||
|
}, (hex) => {
|
||||||
|
node.color = new cc.Color().fromHEX(hex);
|
||||||
|
}, false, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
let superPreLoad = node._onPreDestroy;
|
||||||
|
node._onPreDestroy = () => {
|
||||||
|
superPreLoad.apply(node);
|
||||||
|
if (this.$data && this.$data.node === node) {
|
||||||
|
this.$data.node = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.$data.nodeSchema = this.$data.is3DNode ? NEX_CONFIG.nodeSchema.node3d : NEX_CONFIG
|
||||||
|
.nodeSchema.node2d;
|
||||||
|
let componentsSchema = [];
|
||||||
|
for (let component of node._components) {
|
||||||
|
let schema = NEX_CONFIG.componentsSchema[component.__classname__];
|
||||||
|
if (schema) {
|
||||||
|
node[schema.key] = node.getComponent(schema.key);
|
||||||
|
for (let i = 0; i < schema.rows.length; i++) {
|
||||||
|
for (let j = 0; j < schema.rows[i].length; j++) {
|
||||||
|
if (schema.rows[i][j].type === 'color') {
|
||||||
|
if (!node[schema.key][schema.rows[i][j].field]) {
|
||||||
|
cc.js.getset(node[schema.key], schema.rows[i][j].field, () => {
|
||||||
|
return '#' + node.getComponent(schema.key)[schema.rows[i][j]
|
||||||
|
.rawField].toHEX('#rrggbb');
|
||||||
|
}, (hex) => {
|
||||||
|
node.getComponent(schema.key)[schema.rows[i][j].rawField] =
|
||||||
|
new cc.Color().fromHEX(hex);
|
||||||
|
}, false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
schema = {
|
||||||
|
title: component.__classname__,
|
||||||
|
key: component.__classname__
|
||||||
|
};
|
||||||
|
node[schema.key] = node.getComponent(schema.key);
|
||||||
|
}
|
||||||
|
componentsSchema.push(schema);
|
||||||
|
}
|
||||||
|
this.$data.componentsSchema = componentsSchema;
|
||||||
|
} else {
|
||||||
|
this.$data.node = null;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function getChildren(node) {
|
||||||
|
return node.children.map(child => {
|
||||||
|
let children = (child.children && child.children.length > 0) ? getChildren(child) : [];
|
||||||
|
return { id: child._id, name: child.name, active: child.activeInHierarchy, children };
|
||||||
|
});
|
||||||
|
}
|
BIN
preview-templates/splash.png
Normal file
BIN
preview-templates/splash.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
99
preview-templates/style.css
Normal file
99
preview-templates/style.css
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
body {
|
||||||
|
cursor: default;
|
||||||
|
color: #888;
|
||||||
|
background-color: #333;
|
||||||
|
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
-webkit-flex-direction: column;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
height: 100%; /* for firefox */
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
padding: 0px;
|
||||||
|
border: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body, canvas, div {
|
||||||
|
outline: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
canvas {
|
||||||
|
background-color: rgba(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #splash {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
background: #171717 url(./splash.png) no-repeat center;
|
||||||
|
background-size: 40%;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.content {
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
-webkit-justify-content: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
-webkit-align-items: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
-webkit-flex-direction: column;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
-webkit-flex: auto;
|
||||||
|
flex: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar {
|
||||||
|
background-color: #1a1a1a;
|
||||||
|
position: absolute;
|
||||||
|
left: 25%;
|
||||||
|
top: 80%;
|
||||||
|
height: 15px;
|
||||||
|
padding: 5px;
|
||||||
|
width: 50%;
|
||||||
|
/*margin: 0 -175px; */
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar span {
|
||||||
|
display: block;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 3px;
|
||||||
|
box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
|
||||||
|
transition: width .4s ease-in-out;
|
||||||
|
background-color: #34c2e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stripes span {
|
||||||
|
background-size: 30px 30px;
|
||||||
|
background-image: linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
|
||||||
|
transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
|
||||||
|
transparent 75%, transparent);
|
||||||
|
|
||||||
|
animation: animate-stripes 1s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
#GameDiv {
|
||||||
|
margin:0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #Cocos2dGameContainer {
|
||||||
|
margin:0 auto;
|
||||||
|
} */
|
Loading…
Reference in New Issue
Block a user