try{engine.camera.lookAt( new THREE.Vector3(engine.players[engine.viewTarget].position.x,engine.players[engine.viewTarget].position.y,engine.player[engine.viewTarget].position.z) );}
catch(e){engine.camera.lookAt( new THREE.Vector3(engine.logicalBox.center.x*engine.REAL_ARENA_SIZE_FACTOR,engine.logicalBox.center.y*engine.REAL_ARENA_SIZE_FACTOR,0) );}
console.warn("Deprecated call to simulatePlayer");
cycle.update(timestep);
}
function getGoing()
{
if(!engine.gameRunning) game();
if(!engine.renderRunning) render();
}
function pauseRender()
{
engine.paused = true;//cuts off the loop
engine.startOfPause = performance.now();
audioStop();
}
function unpauseRender()
{
for(var ctrl in engine.controls)
{
engine.controls[ctrl] = [];
}
//renderLoop = true;//replaces cutoff
if(engine.paused)
{
engine.paused = false;
audioStart();
engine.lastGameTime = engine.lastRenderTime = engine.fpsTime = performance.now();//resets delta so we don't pretend the game should have been playing the entire time we were paused
+ //maybe a bit hacky but it's the best way I can think of to ensure everything is correct, short of destroying and recreating the zone entirely (which would likely be too slow)
+ engine.zones[zone.id].constructor(zone);
+ }
+ else
+ {
+ try
+ {
+ var s = new Zone(zone).spawn();
+
+ //we don't need to process the zone ourselves (as that will all be handled by the server), however we should still know the type for our chatbot.
+ s.netObject = true;
+ }
+ catch(e)
+ {
+ engine.console.print("0xff7f7fAn error occurred when syncing zones. You may be missing some important elements of the game.\n");