diff options
| author | Code WvS <code-wvs@quantentunnel.de> | 2015-01-25 19:09:55 +0100 |
|---|---|---|
| committer | Code WvS <code-wvs@quantentunnel.de> | 2015-01-25 19:09:55 +0100 |
| commit | aa801f4c58398343f1ba6a7cae3c797c68fd7d30 (patch) | |
| tree | 82c52f24a75c8713a3e73777b9970e594dc3a185 | |
| parent | 7c567632f21d37509b656cf820ffbbc08e3d98f2 (diff) | |
| download | snap-byow-aa801f4c58398343f1ba6a7cae3c797c68fd7d30.tar.gz snap-byow-aa801f4c58398343f1ba6a7cae3c797c68fd7d30.zip | |
clean up the code
| -rw-r--r-- | blocks.js | 13 | ||||
| -rw-r--r-- | byow.js | 68 | ||||
| -rw-r--r-- | gui.js | 65 | ||||
| -rw-r--r-- | objects.js | 14 |
4 files changed, 41 insertions, 119 deletions
@@ -1243,6 +1243,19 @@ SyntaxElementMorph.prototype.labelPart = function (spec) { ); break; + // Build Your Own World changes + case '%pointOfView': + part = new InputSlotMorph( + null, + false, + { + 'first' : ['first'], + 'third' : ['third'] + }, + true + ); + break; + // symbols: case '%turtle': @@ -6,54 +6,6 @@ window.fly = require('voxel-fly'); window.walk = require('voxel-walk'); window.skin = require('minecraft-skin'); -function generator(x, y, z) { - return y === 1 ? 1 : 0; -} - -module.exports = function(setup) { - function generator(x, y, z) { - return y === 1 ? 1 : 0; - } - - // BYOW changes - var options = { - generate: generator, - chunkDistance: 2 - }; - window.game = createGame(options); - window.gameWorld = document.createElement('div'); - window.game.appendTo(window.gameWorld); - window.createPlayer = window.player(window.game); - window.gamePlayer = createPlayer('greg.png'); - window.gamePlayer.possess(); - window.gamePlayer.yaw.position.set(2, 14, 4); - defaultSetup(window.game, window.gamePlayer); - /* - var options = { - generate: generator,//voxel.generator['Valley'], - chunkDistance: 2 - }; - // setup the game and add some trees - var game = createGame(options); - window.game = game; - gameWorld = document.createElement('div'); - game.appendTo(gameWorld); - window.gameWorld = gameWorld; - if (game.notCapable()) return game; - var createPlayer = player(game); - - var activeplayer = createPlayer('greg.png'); - window.createPlayer = createPlayer; - window.gamePlayer = activeplayer; - activeplayer.possess(); - activeplayer.yaw.position.set(2, 14, 4); - - defaultSetup(game, activeplayer); - - return game; - */ -}; - function defaultSetup(game, avatar) { var makeFly = fly(game); var target = game.controls.target(); @@ -89,3 +41,23 @@ function defaultSetup(game, avatar) { else walk.startWalking(); }); } +window.initGame = function() { + function generator(x, y, z) { + return y === 1 ? 1 : 0; + } + + var options = { + generate: generator, + chunkDistance: 2 + }; + window.game = createGame(options); + window.gameWorld = document.createElement('div'); + window.game.appendTo(window.gameWorld); + window.createPlayer = window.player(window.game); + window.gamePlayer = createPlayer('greg.png'); + window.gamePlayer.possess(); + window.gamePlayer.yaw.position.set(2, 14, 4); + defaultSetup(window.game, window.gamePlayer); +}; + +module.exports = window.initGame; @@ -2954,60 +2954,7 @@ IDE_Morph.prototype.openProjectString = function (str) { IDE_Morph.prototype.rawOpenProjectString = function (str) { // BYOW changes - // TODO too messy, split things up function - function generator(x, y, z) { - return y === 1 ? 1 : 0; - } - function defaultSetup(game, avatar) { - var makeFly = fly(game); - var target = game.controls.target(); - game.flyer = makeFly(target); - - // highlight blocks when you look at them, hold <Ctrl> for block placement - var blockPosPlace, blockPosErase; - var hl = game.highlighter = highlight(game, { color: 0xff0000 }); - hl.on('highlight', function (voxelPos) { blockPosErase = voxelPos; }); - hl.on('remove', function (voxelPos) { blockPosErase = null; }); - hl.on('highlight-adjacent', function (voxelPos) { blockPosPlace = voxelPos; }); - hl.on('remove-adjacent', function (voxelPos) { blockPosPlace = null; }); - - // block interaction stuff, uses highlight data - var currentMaterial = 1; - - game.on('fire', function (target, state) { - var position = blockPosPlace; - if (position) { - game.createBlock(position, currentMaterial); - } - else { - position = blockPosErase; - if (position) game.setBlock(position, 0); - } - }); - - game.on('tick', function() { - walk.render(target.playerSkin); - var vx = Math.abs(target.velocity.x); - var vz = Math.abs(target.velocity.z); - if (vx > 0.001 || vz > 0.001) walk.stopWalking(); - else walk.startWalking(); - }); - } - - window.game = window.gameWorld = undefined; - - var options = { - generate: generator, - chunkDistance: 2 - }; - window.game = createGame(options); - window.gameWorld = document.createElement('div'); - window.game.appendTo(window.gameWorld); - window.createPlayer = window.player(window.game); - window.gamePlayer = createPlayer('greg.png'); - window.gamePlayer.possess(); - window.gamePlayer.yaw.position.set(2, 14, 4); - defaultSetup(window.game, window.gamePlayer); + window.initGame(); this.toggleAppMode(false); this.spriteBar.tabBar.tabTo('scripts'); @@ -3427,17 +3374,13 @@ IDE_Morph.prototype.toggleAppMode = function (appMode) { } this.setExtent(this.world().extent()); // resume trackChanges - /* BYOW changes */ + // BYOW changes if (this.isAppMode) { document.body.appendChild(window.gameWorld); document.getElementById('world').style.display = 'none'; } else { - for (j = 0; j < document.body.children.length; j++) { - // TODO refactor - if (document.body.children[j] == window.gameWorld) { - document.body.removeChild(window.gameWorld); - break; - } + if (document.body.contains(window.gameWorld)) { + document.body.removeChild(window.gameWorld); } document.getElementById('world').style.display = null; } @@ -1207,7 +1207,7 @@ SpriteMorph.prototype.initBlocks = function () { only: StageMorph, type: 'command', category: 'player', - spec: 'set point of view to %s' // TODO + spec: 'set point of view to %pointOfView' }, playerTogglePOV: { only: StageMorph, @@ -1412,9 +1412,6 @@ SpriteMorph.prototype.init = function (globals) { physics.blocksCreation = true; this.player = physics; - console.log("Player created");//DEBUG - console.log(this.name); - console.log(globals); }; // SpriteMorph duplicating (fullCopy) @@ -4348,12 +4345,9 @@ SpriteMorph.prototype.getPlayerPosition = function () { return [vecPos.x, vecPos.y, vecPos.z]; }; -SpriteMorph.prototype.playerPOV = function (mode) { // TODO - if (mode == 'first' || mode == 'third') { - this.player.pov(mode); - } else { - throw new Error('Must be either "first" or "third"!'); - } +SpriteMorph.prototype.playerPOV = function (modefn) { + var mode = modefn[0]; + this.player.pov(mode); }; SpriteMorph.prototype.playerTogglePOV = function () { |
