diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-08-11 13:22:02 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-08-11 13:22:02 -0400 |
| commit | 8d749201d661f62766b4e3a84735c3307ff7ab5e (patch) | |
| tree | 4e9beb7950c38f653b7a0a5126c1121f1515f64e | |
| parent | e61e94f5d2f570f0cba3a3f7d91a18d8db524d79 (diff) | |
refactor environment loading
| -rw-r--r-- | public/assets/javascripts/app.js | 30 | ||||
| -rw-r--r-- | public/assets/javascripts/rectangles/_env.js | 34 | ||||
| -rw-r--r-- | public/assets/javascripts/ui/_router.js | 11 | ||||
| -rw-r--r-- | public/assets/javascripts/ui/builder/BlueprintUpload.js | 120 | ||||
| -rw-r--r-- | public/assets/test/ortho4.html | 9 | ||||
| -rw-r--r-- | views/modal.ejs | 3 | ||||
| -rw-r--r-- | views/partials/scripts.ejs | 17 |
7 files changed, 68 insertions, 156 deletions
diff --git a/public/assets/javascripts/app.js b/public/assets/javascripts/app.js index 6ebcda5..3cafeca 100644 --- a/public/assets/javascripts/app.js +++ b/public/assets/javascripts/app.js @@ -21,40 +21,12 @@ app.init = function () { app.launch = function () { if ($.browser.msie || ! has3d()) { return app.fallback() } - scene = new MX.Scene().addTo('#scene') - scene.width = window.innerWidth - scene.height = window.innerHeight - scene.perspective = window.innerHeight - - window.onresize = function () { - scene.width = window.innerWidth - scene.height = window.innerHeight - scene.perspective = window.innerHeight - scene.update() - } - - cam = scene.camera - cam.y = viewHeight - - if (MX.Map) map = app.map = new MX.Map() - - if (is_mobile) { - app.movements = new MX.MobileMovements(cam, viewHeight) - } - else { - app.movements = new MX.Movements(cam, viewHeight) - } - app.movements.init() - var last_t = 0 function animate (t) { var dt = t - last_t last_t = t requestAnimationFrame(animate) - environment.update(t) - window.path && path.update(t) - app.movements.update(dt || 0) - scene.update() + environment.update(t, dt) } var loader = new Loader(function(){ diff --git a/public/assets/javascripts/rectangles/_env.js b/public/assets/javascripts/rectangles/_env.js index 14f73e3..b3c7d66 100644 --- a/public/assets/javascripts/rectangles/_env.js +++ b/public/assets/javascripts/rectangles/_env.js @@ -1,6 +1,22 @@ var environment = new function(){} environment.init = function(){ + scene = new MX.Scene().addTo('#scene') + scene.width = window.innerWidth + scene.height = window.innerHeight + scene.perspective = window.innerHeight + + cam = scene.camera + cam.y = viewHeight + + if (is_mobile) { + app.movements = new MX.MobileMovements(cam, viewHeight) + } + else { + app.movements = new MX.Movements(cam, viewHeight) + } + app.movements.init() + map = new Map () if (window.scene) { @@ -16,7 +32,14 @@ environment.init = function(){ scene.camera.radius = 20 } - + + window.onresize = function () { + scene.width = window.innerWidth + scene.height = window.innerHeight + scene.perspective = window.innerHeight + scene.update() + } + Rooms.init() Walls.init() Scenery.init() @@ -52,8 +75,13 @@ environment.init = function(){ } }) } -environment.update = function(t){ +environment.minimal = function(){ + environment.update = function(t){} +} +environment.update = function(t, dt){ + app.movements.update(dt || 0) + scene.update() map.update() - window.minimap && window.minimap.update && minimap.update() + window.minimap && minimap.update && minimap.update() z = false } diff --git a/public/assets/javascripts/ui/_router.js b/public/assets/javascripts/ui/_router.js index 1bdce19..857377c 100644 --- a/public/assets/javascripts/ui/_router.js +++ b/public/assets/javascripts/ui/_router.js @@ -44,6 +44,8 @@ var SiteRouter = Router.extend({ "/project/:name": 'projectViewer', "/project/:name/edit": 'projectEditor', "/project/:name/view": 'projectViewer', + + "/test/blueprint": 'blueprintEditor', }, mobileRoutes: { @@ -157,6 +159,15 @@ var SiteRouter = Router.extend({ this.readerView = app.controller = new ReaderView() this.readerView.load(name) }, + + blueprintEditor: function(e){ + environment.init = environment.minimal + app.launch() + if (app.unsupported) return + + this.blueprintView = app.controller = new BlueprintView () + this.blueprintView.load() + }, signup: function(e){ e && e.preventDefault() diff --git a/public/assets/javascripts/ui/builder/BlueprintUpload.js b/public/assets/javascripts/ui/builder/BlueprintUpload.js deleted file mode 100644 index dbc6f12..0000000 --- a/public/assets/javascripts/ui/builder/BlueprintUpload.js +++ /dev/null @@ -1,120 +0,0 @@ - -var BlueprintUpload = UploadView.extend({ - el: ".blueprintUpload", - - mediaTag: "blueprint", - createAction: "/api/media/new", - uploadAction: "/api/media/upload", - listAction: "/api/media/user", - destroyAction: "/api/media/destroy", - - events: { - "mousedown": 'stopPropagation', - "change .url": "enterUrl", - "keydown .url": "enterSetUrl", - - "click .blueprint": "choose", - "change [name=blueprint-dimensions]": "changeDimensions", - "change [name=blueprint-units]": "changeUnits", - "click #saveBlueprint": "save", - }, - - initialize: function(opt){ - this.parent = opt.parent - this.__super__.initialize.call(this) - - this.$url = this.$(".url") - - this.$blueprintMap = this.$("#blueprintMap") - this.$blueprintDimensionsRapper = this.$("#blueprintDimensions") - this.$dimensions = this.$("[name=blueprint-dimensions]") - this.$units = this.$("[name=blueprint-units]") - this.$save = this.$("#saveBlueprint") - - this.map = new Map ({ type: ortho }) - - this.load() - }, - - loaded: false, - load: function(){ - $.get(this.listAction, { tag: this.mediaTag }, this.populate.bind(this)) - }, - - populate: function(data){ - this.loaded = true - if (data && data.length) { - data.forEach(this.append.bind(this)) - this.$(".txt").hide() - } - else { - this.$(".txt").show() - } - }, - - append: function(media){ - var $el = $("<div>") - $el.data("id", media._id) - $el.addClass("blueprint") - this.$blueprints.append($el) - }, - - pick: function(e){ - var $el = $(e.currentTarget) - // load map with it - }, - - destroy: function(_id, cb){ - $.ajax({ - type: "delete", - url: this.destroyAction, - data: { _id: _id, _csrf: $("[name=_csrf]").val() } - }).complete(cb || function(){}) - }, - - show: function(){ - this.toggle(true) - }, - hide: function(){ - this.toggle(false) - }, - toggle: function (state) { - this.$el.toggleClass("active", state) - }, - - addUrl: function (url){ - Parser.loadImage(url, function(media){ - if (! media) return - media._csrf = $("[name=_csrf]").val() - media.tag = this.mediaTag - - var request = $.ajax({ - type: "post", - url: this.createAction, - data: media, - }) - request.done(this.add.bind(this)) - - }.bind(this)) - }, - enterUrl: function(){ - var url = this.$url.sanitize() - this.addUrl(url) - this.$url.val("") - }, - enterSetUrl: function (e) { - e.stopPropagation() - if (e.keyCode == 13) { - setTimeout(this.enterUrl.bind(this), 100) - } - }, - - add: function(media){ - this.append(media) - }, - changeDimensions: function(){ - }, - changeUnits: function(){ - }, - -}) diff --git a/public/assets/test/ortho4.html b/public/assets/test/ortho4.html index 12b6ab2..1c1adef 100644 --- a/public/assets/test/ortho4.html +++ b/public/assets/test/ortho4.html @@ -91,14 +91,16 @@ body { </div> </div> -<script src="/assets/javascripts/util.js"></script> -<script src="/assets/javascripts/defaults.js"></script> <script src="/assets/javascripts/vendor/bower_components/jquery/dist/jquery.min.js"></script> <script src="/assets/javascripts/vendor/bower_components/lodash/lodash.min.js"></script> <script src="/assets/javascripts/vendor/bower_components/hidpi-canvas/dist/hidpi-canvas.js"></script> <script src="/assets/javascripts/vendor/bower_components/fiber/src/fiber.min.js"></script> <script src="/assets/javascripts/vendor/polyfill.js"></script> <script src="/assets/javascripts/vendor/tube.js"></script> + +<script src="/assets/javascripts/util.js"></script> +<script src="/assets/javascripts/defaults.js"></script> + <script src="/assets/javascripts/mx/mx.js"></script> <script src="/assets/javascripts/mx/extensions/mx.scene.js"></script> <script src="/assets/javascripts/mx/extensions/mx.orbitCamera.js"></script> @@ -126,8 +128,10 @@ body { <script src="/assets/javascripts/rectangles/engine/shapes/polyline.js"></script> <script src="/assets/javascripts/ui/lib/View.js"></script> <script src="/assets/javascripts/ui/lib/ModalView.js"></script> +<script src="/assets/javascripts/ui/lib/UploadView.js"></script> <script src="/assets/javascripts/ui/lib/Parser.js"></script> <script src="/assets/javascripts/ui/lib/Toolbar.js"></script> +<script src="/assets/javascripts/ui/builder/BlueprintUpload.js"></script> <script> var app = window.app || {} @@ -199,6 +203,7 @@ OrthographicToolbar.add("eraser-mode", function(){ }) OrthographicToolbar.pick("ortho-polyline-mode") +var BlueprintUpload = new BlueprintUploadView ({}) document.addEventListener('DOMContentLoaded', build) function build () { diff --git a/views/modal.ejs b/views/modal.ejs index 732953d..433861e 100644 --- a/views/modal.ejs +++ b/views/modal.ejs @@ -10,7 +10,8 @@ <div style="height: 70%; clear: both;" id="content"></div> - [[ include partials/confirm-modal ]] + [[ include controls/builder/blueprint ]] + [[ include partials/confirm-modal ]] [[ include partials/sign-in ]] [[ include projects/layouts-modal ]] [[ include projects/edit-project ]] diff --git a/views/partials/scripts.ejs b/views/partials/scripts.ejs index 2de32fb..64ac135 100644 --- a/views/partials/scripts.ejs +++ b/views/partials/scripts.ejs @@ -28,6 +28,8 @@ <script type="text/javascript" src="/assets/javascripts/mx/primitives/mx.youtube.js"></script> <script type="text/javascript" src="/assets/javascripts/mx/primitives/mx.vimeo.js"></script> <script type="text/javascript" src="/assets/javascripts/mx/primitives/mx.soundcloud.js"></script> +<script type="text/javascript" src="/assets/javascripts/mx/primitives/mx.grid.js"></script> +<script type="text/javascript" src="/assets/javascripts/mx/primitives/mx.polyline.js"></script> <script type="text/javascript" src="/assets/javascripts/rectangles/_env.js"></script> @@ -79,10 +81,20 @@ <script type="text/javascript" src="/assets/javascripts/rectangles/engine/sculpture/types/_object.js"></script> <script type="text/javascript" src="/assets/javascripts/rectangles/engine/sculpture/types/image.js"></script> +<script type="text/javascript" src="/assets/javascripts/rectangles/engine/shapes/shapelist.js"></script> +<script type="text/javascript" src="/assets/javascripts/rectangles/engine/shapes/polyline.js"></script> + <script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/_map.js"></script> +<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/draw.js"></script> <script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/ui/editor.js"></script> <script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/ui/minimap.js"></script> -<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/draw.js"></script> +<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/ui/ortho.js"></script> +<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/_base.js"></script> +<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/arrow.js"></script> +<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/eraser.js"></script> +<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/ortho.js"></script> +<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/polyline.js"></script> +<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/tools/position.js"></script> <script type="text/javascript" src="/assets/javascripts/ui/lib/View.js"></script> <script type="text/javascript" src="/assets/javascripts/ui/lib/Router.js"></script> @@ -115,6 +127,9 @@ <script type="text/javascript" src="/assets/javascripts/ui/builder/BuilderToolbar.js"></script> <script type="text/javascript" src="/assets/javascripts/ui/builder/BuilderInfo.js"></script> +<script type="text/javascript" src="/assets/javascripts/ui/blueprint/BlueprintView.js"></script> +<script type="text/javascript" src="/assets/javascripts/ui/blueprint/BlueprintUpload.js"></script> + <script type="text/javascript" src="/assets/javascripts/ui/editor/EditorView.js"></script> <script type="text/javascript" src="/assets/javascripts/ui/editor/EditorSettings.js"></script> <script type="text/javascript" src="/assets/javascripts/ui/editor/EditorToolbar.js"></script> |
