new file: Files/flashplayer_32_sa.exe new file: favicon.ico new file: globe.gif new file: imgs/download.png new file: imgs/zuck.jpg new file: index.html new file: other.ico new file: script.js new file: site.webmanifest new file: sitemap.html new file: styles/backround.css new file: styles/border.css new file: styles/fonts/Titillium_Web/OFL.txt new file: styles/fonts/Titillium_Web/TitilliumWeb-Black.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Bold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Italic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Light.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Regular.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf new file: styles/fonts/webfontkit-20221027-163353/generator_config.txt new file: styles/fonts/webfontkit-20221027-163353/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-163353/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-demo.html new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff2 new file: styles/fonts/webfontkit-20221027-165950/generator_config.txt new file: styles/fonts/webfontkit-20221027-165950/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-165950/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-demo.html new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff2 new file: styles/style.css new file: tools/2048/.gitignore new file: tools/2048/.jshintrc new file: tools/2048/CONTRIBUTING.md new file: tools/2048/LICENSE.txt new file: tools/2048/README.md new file: tools/2048/Rakefile new file: tools/2048/favicon.ico new file: tools/2048/index.html new file: tools/2048/js/animframe_polyfill.js new file: tools/2048/js/application.js new file: tools/2048/js/bind_polyfill.js new file: tools/2048/js/classlist_polyfill.js new file: tools/2048/js/game_manager.js new file: tools/2048/js/grid.js new file: tools/2048/js/html_actuator.js new file: tools/2048/js/keyboard_input_manager.js new file: tools/2048/js/local_storage_manager.js new file: tools/2048/js/tile.js new file: tools/2048/meta/apple-touch-icon.png new file: tools/webretro/cores/neocd_libretro.js new file: tools/webretro/cores/neocd_libretro.wasm new file: tools/webretro/cores/nestopia_libretro.js new file: tools/webretro/cores/nestopia_libretro.wasm new file: tools/webretro/cores/o2em_libretro.js new file: tools/webretro/cores/o2em_libretro.wasm new file: tools/webretro/cores/opera_libretro.js new file: tools/webretro/cores/opera_libretro.wasm
122 lines
2.3 KiB
JavaScript
122 lines
2.3 KiB
JavaScript
var pgli = pgli || {};
|
|
pgli.diagram = pgli.diagram || {};
|
|
|
|
pgli.diagram.Node = gamecore.Base.extend('Node',
|
|
{ // static
|
|
layersWidth: 20,
|
|
layersMargin: 20,
|
|
layersHeight: 16,
|
|
headerHeight: 40,
|
|
slotX: 10,
|
|
slotY: 14,
|
|
slotRadius: 6
|
|
},
|
|
{ // instance
|
|
module: null,
|
|
|
|
key: null,
|
|
|
|
shape: null,
|
|
background: null,
|
|
name: null,
|
|
layers: null,
|
|
slot: null,
|
|
|
|
sockets: [],
|
|
|
|
width: 150,
|
|
height: 200,
|
|
|
|
init: function(key, module, x, y)
|
|
{
|
|
var static = pgli.diagram.Node;
|
|
|
|
this.key = key;
|
|
this.module = module;
|
|
|
|
this.shape = new Kinetic.Group({
|
|
x: x == undefined ? 0 : x,
|
|
y: y == undefined ? 0 : y,
|
|
draggable: true
|
|
});
|
|
|
|
var layerCount = (module.layers != undefined ? module.layers.length : 0) + 1;
|
|
|
|
this.height = static.headerHeight + layerCount * static.layersHeight;
|
|
|
|
this.background = new Kinetic.Rect({
|
|
x: 0,
|
|
y: 0,
|
|
width: this.width,
|
|
height: this.height,
|
|
fill: "#222",
|
|
stroke: "#000",
|
|
strokeWidth: 0.5,
|
|
shadow: {
|
|
color: "black",
|
|
blur: 6,
|
|
offset: [0, 0],
|
|
opacity: 0.5
|
|
}
|
|
});
|
|
|
|
this.layers = new Kinetic.Shape({
|
|
drawFunc: function(ctx){
|
|
ctx.beginPath();
|
|
for(var i=0, len = this.attrs.count; i < len; ++i)
|
|
ctx.arc(10, 10+i*static.layersHeight, static.slotRadius, 0, Math.PI*2, true);
|
|
ctx.closePath();
|
|
this.fill(ctx);
|
|
},
|
|
x: this.width-static.layersWidth,
|
|
y: static.layersMargin,
|
|
count: layerCount,
|
|
fill: "#111"
|
|
});
|
|
|
|
this.slot = new Kinetic.Circle({
|
|
x: static.slotX,
|
|
y: static.slotY,
|
|
radius: static.slotRadius,
|
|
fill: "#111"
|
|
});
|
|
|
|
this.name = new Kinetic.Text({
|
|
x: 20,
|
|
y: 6,
|
|
text: module.name,
|
|
fontSize: 13,
|
|
fontFamily: "Ubuntu Mono",
|
|
textFill: "#aaa"
|
|
});
|
|
|
|
this.shape.on('mousedown', function(){
|
|
this.moveToTop();
|
|
});
|
|
|
|
this.shape.add(this.background);
|
|
this.shape.add(this.name);
|
|
this.shape.add(this.layers);
|
|
this.shape.add(this.slot);
|
|
},
|
|
|
|
updateLayers: function()
|
|
{
|
|
var layerCount = (module.layers != undefined ? module.layers.length : 0) + 1;
|
|
this.layers.attrs.count = layerCount;
|
|
},
|
|
|
|
getSlot: function()
|
|
{
|
|
var static = pgli.diagram.Node;
|
|
return [this.shape.getX()+static.slotX,
|
|
this.shape.getY()+static.slotY];
|
|
},
|
|
|
|
getLayerSlot: function(index)
|
|
{
|
|
var static = pgli.diagram.Node;
|
|
return [this.shape.getX()+this.width-static.layersWidth/2,
|
|
this.shape.getY()+10+index*static.layersHeight+static.layersMargin];
|
|
}
|
|
}); |