mirror of
				https://github.com/potato47/ccc-devtools.git
				synced 2025-10-31 19:35:51 +00:00 
			
		
		
		
	船新版本
This commit is contained in:
		
							
								
								
									
										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; | ||||
| } */ | ||||
		Reference in New Issue
	
	Block a user