| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 | 
							- var _TrinGame;
 
- function Tringine(width, height, initialState, frameRate, screenWidth, screenHeight) {
 
-     //Test local storage is avaiable
 
-     try {
 
-         TrinStorage.prototype.supportsStorage = 'localStorage' in window && window['localStorage'] !== null;
 
-     } catch (e) {
 
-         TrinStorage.prototype.supportsStorage = false;
 
-     }
 
-     //Overload parameters
 
-     if (screenWidth === undefined) {
 
-         screenWidth = 640;
 
-     }
 
-     if (screenHeight === undefined) {
 
-         screenHeight = 712;
 
-     }
 
-     if (frameRate === undefined) {
 
-         frameRate = 30;
 
-     }
 
-     //Set up game container
 
-     var container = document.getElementById("GameContainer");
 
-     container.style.position = "absolute";
 
-     container.style.left = "50%";
 
-     container.style.top = "50%";
 
-     //Create canvas
 
-     var canvas = document.createElement("Canvas");
 
-     canvas.width = width;
 
-     canvas.height = height;
 
-     canvas.style.width = "100%";
 
-     canvas.style.height = "100%";
 
-     container.appendChild(canvas);
 
-     //Init game engine
 
-     this.width = width;
 
-     this.height = height;
 
-     this.screenWidth = screenWidth;
 
-     this.screenHeight = screenHeight;
 
-     this.frameRate = frameRate;
 
-     this.scaleFactor = 1;
 
-     this.gameContainer = container;
 
-     this.canvas = canvas;
 
-     this.context = canvas.getContext("2d");
 
-     this.state = null;
 
-     this.nextState = new initialState();
 
-     this.mouse = new TrinMouse();
 
-     this.isMobile = TrinUtil.prototype.detectmob();
 
-     this.isAndroid = TrinUtil.prototype.isAndroid();
 
-     this.isIDevice = TrinUtil.prototype.isIDevice();
 
-     this.visibleArea = {left: 0, top: 0, right: this.screenWidth, bottom: this.screenHeight, width: this.screenWidth, height: this.screenHeight};
 
-     this.widthToHeight = this.width / this.height;
 
-     this.paused = false;
 
-     this.SPIL_API = null;
 
-     this.SPIL_SPLASH = {
 
-         action: function() {
 
-             if (GameAPI.IS_STANDALONE) {
 
-                 //window.open("http://play68.com", "_blank");
 
-             } else {
 
-                 GameAPI.Branding.getSplashScreen().action();
 
-             }
 
-         }
 
-     };
 
-     this.SPIL_LOGO = {
 
-         image: "img/a10Logo.png",
 
-         action: function() {
 
-             if (GameAPI.IS_STANDALONE) {
 
-                 //window.open("http://play68.com", "_blank");
 
-             } else {
 
-                 GameAPI.Branding.getLogo().action();
 
-             }
 
-         }
 
-     };
 
-     this.SPIL_MOREGAMES = {
 
-         action: function() {
 
-             if (GameAPI.IS_STANDALONE) {
 
-                 //window.open("http://play68.com", "_blank");
 
-             } else {
 
-                 //GameAPI.Branding.getLink("more_games").action();
 
-             }
 
-         }
 
-     };
 
-     _TrinGame = this;
 
-     //Add mouse/touch event listeners
 
-     if (this.isMobile) {
 
-         window.addEventListener("touchstart", function() {
 
-         });
 
-         this.mouse.onTouchStart.mouse = this.mouse;
 
-         this.mouse.onTouchEnd.mouse = this.mouse;
 
-         this.canvas.addEventListener('touchmove', this.getMouseXY, false);
 
-         this.canvas.addEventListener('touchstart', this.mouse.onTouchStart, false);
 
-         this.canvas.addEventListener('touchend', this.mouse.onTouchEnd, false);
 
-     } else {
 
-         this.mouse.onMouseDown.mouse = this.mouse;
 
-         this.mouse.onMouseUp.mouse = this.mouse;
 
-         this.canvas.addEventListener('mousedown', this.mouse.onMouseDown, false);
 
-         this.canvas.addEventListener('mouseup', this.mouse.onMouseUp, false);
 
-         this.canvas.addEventListener('mousemove', this.getMouseXY, false);
 
-         this.canvas.addEventListener('mouseout', this.mouse.onMouseUp, false);
 
-     }
 
-     //Add resize eventListeners
 
-     window.addEventListener('resize', this.resizeGame, false);
 
-     window.addEventListener('orientationchange', this.resizeGame, false);
 
-     //Resizing game
 
-     this.resizeGame();
 
-     GameAPI.loadAPI(function(API) {
 
-         var logoData = API.IS_STANDALONE ? {logo: "logo_A10_202x50.png", action: function() {window.open("http://play68.com/", "_blank");}} : API.Branding.getLogo();
 
-         var splashScreenData = API.Branding.getSplashScreen();
 
-         _TrinGame.SPIL_API = API;
 
-       
 
-         _TrinGame.start();
 
-     });
 
- }
 
- Tringine.prototype = {
 
-     state: null,
 
-     update: function() {
 
-         this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
 
- 		this.canvas.width = this.canvas.width;
 
-         if (this.state !== null && !this.paused) {
 
-             this.state.update();
 
-             this.state.draw(this.canvas.getContext("2d"));
 
-             this.mouse.update();
 
-         }
 
-         //Switching states
 
-         if (this.nextState !== null) {
 
-             if (this.state !== null) {
 
-                 this.state.destroy();
 
-             }
 
-             this.mouse.reset();
 
-             this.state = this.nextState;
 
-             this.state.create();
 
-             this.nextState = null;
 
-         }
 
-     },
 
-     start: function() {
 
-         //Add a main game cycle
 
-         setInterval(function() {
 
-             _TrinGame.update();
 
-         }, 1000 / _TrinGame.frameRate);
 
-     },
 
-     switchState: function(newState) {
 
-         this.nextState = newState;
 
-     },
 
-     getMouseXY: function(event) {
 
-         event.preventDefault();
 
-         var mx;
 
-         var my;
 
-         if (_TrinGame.isAndroid) {
 
-             mx = (event.touches[0].pageX + event.layerX) / _TrinGame.scaleFactor;
 
-             my = (event.touches[0].pageY + event.layerY) / _TrinGame.scaleFactor;
 
-         } else {
 
-             if (event.offsetX === undefined) {
 
-                 mx = event.layerX / _TrinGame.scaleFactor;
 
-                 my = event.layerY / _TrinGame.scaleFactor;
 
-             } else {
 
-                 mx = event.offsetX / _TrinGame.scaleFactor;
 
-                 my = event.offsetY / _TrinGame.scaleFactor;
 
-             }
 
-         }
 
-         _TrinGame.mouse.rawX = mx;
 
-         _TrinGame.mouse.rawY = my;
 
-         return false;
 
-     },
 
-     log: function(msg) {
 
-         if (detectmob()) {
 
-             document.getElementById("info").innerHTML = msg;
 
-         } else {
 
-             console.log(msg);
 
-         }
 
-     },
 
-     resizeGame: function() {
 
-         //Calculate new size
 
-         var innerWidth = window.innerWidth;
 
-         var innerHeight = window.innerHeight;
 
-         var newWidth = innerWidth + (_TrinGame.width - _TrinGame.screenWidth) * (innerWidth / _TrinGame.screenWidth);
 
-         var newHeight = innerHeight + (_TrinGame.height - _TrinGame.screenHeight) * (innerHeight / _TrinGame.screenHeight);
 
-         var newWidthToHeight = newWidth / newHeight;
 
-         if (newWidthToHeight > _TrinGame.widthToHeight) {
 
-             newWidth = newHeight * _TrinGame.widthToHeight;
 
-         } else {
 
-             newHeight = newWidth / _TrinGame.widthToHeight;
 
-         }
 
-         //Change container size
 
-         _TrinGame.gameContainer.style.width = newWidth + "px";
 
-         _TrinGame.gameContainer.style.height = newHeight + "px";
 
-         _TrinGame.gameContainer.style.marginTop = (-newHeight / 2) + 'px';
 
-         _TrinGame.gameContainer.style.marginLeft = (-newWidth / 2) + 'px';
 
-         _TrinGame.gameContainer.style.fontSize = Math.floor(newWidth / _TrinGame.width) + "em";
 
-         _TrinGame.scaleFactor = newWidth / _TrinGame.width;
 
-         //Calculate visible area.
 
-         var vw = Math.min(innerWidth, newWidth) / _TrinGame.scaleFactor;
 
-         var vh = Math.min(innerHeight, newHeight) / _TrinGame.scaleFactor;
 
-         _TrinGame.visibleArea.width = vw;
 
-         _TrinGame.visibleArea.height = vh;
 
-         _TrinGame.visibleArea.left = (_TrinGame.width / 2) - vw / 2;
 
-         _TrinGame.visibleArea.top = (_TrinGame.height / 2) - vh / 2;
 
-         _TrinGame.visibleArea.right = _TrinGame.visibleArea.left + vw;
 
-         _TrinGame.visibleArea.bottom = _TrinGame.visibleArea.top + vh;
 
-         //Call sate resize function
 
-         if (_TrinGame.state !== null) {
 
-             _TrinGame.state.resized();
 
-         }
 
-     },
 
-     globalPause: function() {
 
-         this.paused = true;
 
-     },
 
-     globalResume: function() {
 
-         this.paused = false;
 
-     }
 
- };
 
 
  |