editor: import main.js
editor完全使用core的数据
This commit is contained in:
parent
5438001ea0
commit
4f6bf850f8
121
drawMapGUI.html
121
drawMapGUI.html
@ -519,105 +519,19 @@ function editor() {
|
|||||||
this.version = "1.2";
|
this.version = "1.2";
|
||||||
this.material = {};
|
this.material = {};
|
||||||
}
|
}
|
||||||
// 重构这一堆回调
|
|
||||||
editor.prototype.init = function(callback){
|
editor.prototype.init = function(callback){
|
||||||
var mapsdatajsUrl = 'libs/project/maps.js';
|
editor.main=main;
|
||||||
var iconsdatajsUrl = 'libs/project/icons.js';
|
editor.core=core;
|
||||||
var mapsjsUrl = 'libs/maps.js';
|
editor.fs=fs;
|
||||||
var iconsjsUrl = 'libs/icons.js';
|
editor.file=editor_file;
|
||||||
|
editor.material.images=core.material.images;
|
||||||
var p1_data = editor.loadjs(mapsdatajsUrl).then(function(){ // 加载maps.js的数据
|
editor.idsInit(core.maps, core.icons.icons); // 初始化图片素材信息
|
||||||
return 'complete';
|
editor.drawInitData(core.icons.icons); // 初始化绘图
|
||||||
});
|
editor.listen(); // 开始监听事件
|
||||||
var p2_data = editor.loadjs(iconsdatajsUrl).then(function(){ // 加载icons.js的数据
|
if(Boolean(callback))callback();
|
||||||
return 'complete';
|
|
||||||
});
|
|
||||||
|
|
||||||
Promise.all([p1_data, p2_data]).then(function([p1_data, p2_data]){
|
|
||||||
|
|
||||||
var p1 = editor.loadjs(mapsjsUrl).then(function(){ // 加载maps.js
|
|
||||||
var maps_ = new maps(); //实例化maps
|
|
||||||
maps_.init();
|
|
||||||
return maps_
|
|
||||||
});
|
|
||||||
var p2 = editor.loadjs(iconsjsUrl) // 加载icons.js
|
|
||||||
.then(function(){ // 实例化并获取icons
|
|
||||||
var ic = new icons();
|
|
||||||
ic.init();
|
|
||||||
return ic.getIcons();
|
|
||||||
});
|
|
||||||
var p3 = p2.then(function(icons){ // 加载所有图片
|
|
||||||
return editor.loadAllImgs(icons);
|
|
||||||
})
|
|
||||||
.catch(function(err){
|
|
||||||
console.log('发生错误!', err);
|
|
||||||
});
|
|
||||||
|
|
||||||
Promise.all([p1, p2, p3])
|
|
||||||
.then(function([maps, icons, img]){
|
|
||||||
editor.idsInit(maps, icons); // 初始化图片素材信息
|
|
||||||
editor.drawInitData(icons); // 初始化绘图
|
|
||||||
editor.listen(); // 开始监听事件
|
|
||||||
if(Boolean(callback))callback();
|
|
||||||
})
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
editor.prototype.loadjs = function(url){
|
|
||||||
return new Promise(function(resolve, reject){
|
|
||||||
var script = document.createElement('script');
|
|
||||||
script.src = url + '?' + editor.version;
|
|
||||||
document.body.appendChild(script);
|
|
||||||
script.onload = function () {
|
|
||||||
resolve( console.log(url+"加载完成"));
|
|
||||||
}
|
|
||||||
script.onerror = function(){
|
|
||||||
reject(new Error('Load js error at '+url))
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
editor.prototype.loadImg = function(url){
|
|
||||||
return new Promise(function(resolve, reject){
|
|
||||||
var img = new Image();
|
|
||||||
img.src = url;
|
|
||||||
img.onload = function(){
|
|
||||||
resolve(img);
|
|
||||||
}
|
|
||||||
img.onerror = function(){
|
|
||||||
reject(new Error('Load image error at '+url));
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
editor.prototype.loadAllImgs = function(icons){
|
|
||||||
editor.material.images = {};
|
|
||||||
var imgs = Object.keys(icons);
|
|
||||||
var autotiles = null;
|
|
||||||
if(hasOwnProp(icons, 'hero')){ // hero 图片不加载
|
|
||||||
var index = imgs.indexOf('hero');
|
|
||||||
imgs.splice(index, 1);
|
|
||||||
}
|
|
||||||
if(hasOwnProp(icons, 'autotile')){
|
|
||||||
editor.material.images['autotile'] = {};
|
|
||||||
var index = imgs.indexOf('autotile');
|
|
||||||
imgs.splice(index, 1);
|
|
||||||
autotiles = Object.keys(icons.autotile);
|
|
||||||
imgs = imgs.concat(autotiles);
|
|
||||||
}
|
|
||||||
var p = imgs.map(function(im){
|
|
||||||
var url = 'images/'+im+'.png'
|
|
||||||
return editor.loadImg(url).then(function(image){
|
|
||||||
if(autotiles.indexOf(im) >= 0){
|
|
||||||
editor.material.images['autotile'][im] = image;
|
|
||||||
}else editor.material.images[im] = image;
|
|
||||||
}).catch(function(err){
|
|
||||||
console.log('发生错误!', err);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
return Promise.all(p);
|
|
||||||
}
|
|
||||||
editor.prototype.idsInit = function(maps, icons){
|
editor.prototype.idsInit = function(maps, icons){
|
||||||
editor.ids = [];
|
editor.ids = [];
|
||||||
editor.indexs = [];
|
editor.indexs = [];
|
||||||
@ -1068,15 +982,6 @@ editor = new editor();
|
|||||||
main.init('editor');
|
main.init('editor');
|
||||||
//main.listen();
|
//main.listen();
|
||||||
var afterMainInit = function(){
|
var afterMainInit = function(){
|
||||||
//main.editor.mapIntoBlocks(editor.map.map(function(v){return v.map(function(v){return v.idnum||v||0})}),{'events':{},'changeFloor':{},'defaultGround':null});
|
|
||||||
//main.editor.drawMapBg();
|
|
||||||
//main.editor.updateMap();
|
|
||||||
|
|
||||||
main.instance={};
|
|
||||||
editor.main=main;
|
|
||||||
editor.core=core;
|
|
||||||
editor.fs=fs;
|
|
||||||
editor.file=editor_file;
|
|
||||||
|
|
||||||
main.editor.disableGlobalAnimate=false;
|
main.editor.disableGlobalAnimate=false;
|
||||||
//core.status.maps = core.clone(core.maps.initMaps(floorIds));
|
//core.status.maps = core.clone(core.maps.initMaps(floorIds));
|
||||||
@ -1094,12 +999,6 @@ var startgame = function(){
|
|||||||
setTimeout(startgame, 300);
|
setTimeout(startgame, 300);
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript">
|
|
||||||
//Vue
|
|
||||||
//var listenByVue = function() {
|
|
||||||
|
|
||||||
//}
|
|
||||||
//listenByVue()
|
|
||||||
</script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user