code_uisceneview.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // UISceneView application source code
  2. // some code from UISceneview2D sample program
  3. 'use strict';
  4. var utils = require("Scripts/utils");
  5. exports.init = function(mylayout,mylogger) {
  6. var msvw = mylayout.getWidget("UISceneViewDemo"); // get the container
  7. if (msvw !== null) {
  8. mylogger.setText( "UISceneView : already initialized");
  9. return; // already initialized.
  10. }
  11. //
  12. // action functions
  13. //
  14. // note : the UISceneView widget does not have a corresponding Turbobadger widget, its ALL Atomic.
  15. // so we have to build it in source code / scripting, no problem.
  16. var mysceneview = new Atomic.UISceneView(); // make a scene...view
  17. mysceneview.id = "UISceneViewDemo"; // tag it, in case we want to get it again later
  18. if ( mysceneview !== null ) {
  19. var myscene = Atomic.player.loadScene("Scenes/sceneview.scene"); // creates a new scene, but doesn't load it to the player
  20. if ( myscene !== null ) {
  21. var mycamera = myscene.getComponents("Camera", true)[0]; // get camera from the scene
  22. mysceneview.setView(myscene, mycamera);
  23. mysceneview.autoUpdate = true;
  24. } else mylogger.setText( "UISceneView: Cant load Scenes/sceneview.scene");
  25. } else mylogger.setText( "UISceneView: Didnt create UISceneViewDemo widget");
  26. var lpx = new Atomic.UILayoutParams(); // size it just right
  27. lpx.width = 640;
  28. lpx.height = 320;
  29. lpx.minWidth = 640;
  30. lpx.minHeight = 320;
  31. lpx.maxWidth = 640;
  32. lpx.maxHeight = 320;
  33. mysceneview.layoutParams = lpx;
  34. var lower = mylayout.getWidget("uisceneviewlower");
  35. var mysvc = mylayout.getWidget("sceneviewcontainer"); // get the container layout
  36. mysvc.addChildBefore(mysceneview, lower); // drop it in
  37. //
  38. // support functions
  39. //
  40. var button1 = mylayout.getWidget("uisceneviewcode");
  41. button1.onClick = function () {
  42. mylogger.setText( "UISceneView support : " + button1.id + " was pressed ");
  43. utils.viewCode ( "Components/code_uisceneview.js", mylayout );
  44. };
  45. var button2 = mylayout.getWidget("uisceneviewlayout");
  46. button2.onClick = function () {
  47. mylogger.setText( "UISceneView support : " + button2.id + " was pressed ");
  48. utils.viewCode ( "Scenes/layout_uisceneview.ui.txt", mylayout );
  49. };
  50. };