Ejemplo n.º 1
0
	public function saveMapAction() {
		$this->setParam('post', $_POST);
		$this->setParam('mapData', $_POST['mapData']);
		foreach ($_POST as $key => $value) {
			$this->setParam($key, $value);
		}
		$mapData = $this->frontController->getParam('mapData', false);
		if ($mapData) {
			$mapData = json_decode($mapData, true);
			$mapData['extend'] = 'Redokes.map.MapData';
			foreach($mapData as $key => &$value) {
				if (is_numeric($value)) {
					$value = intval($value);
				}
			}
			
			$mapDir = PUBLIC_PATH . 'js/redokes/src/map/data/';
			$mapPath = $mapDir . $mapData['fileName'] . '.js';
			
			$mapDataTemplate = new Redokes_View_Template();
			$mapDataTemplate->html = "Ext.define('Redokes.map.data.{fileName}',{data})";
			$mapDataTemplate->setValues(array(
				'fileName' => $mapData['fileName'],
				'data' => json_encode($mapData)
			));
			
			$mapDataStr = $mapDataTemplate->render();
			file_put_contents($mapPath, $mapDataStr);
//			chmod($mapPath, 0777);
		}
	}
Ejemplo n.º 2
0
	public function render() {
		$numCssFiles = count($this->cssFiles);
		if ($this->useMinify) {

		}
		else {
			for ($i = 0; $i < $numCssFiles; $i++) {
				$link = new Redokes_View_Link(array(
					'href' => $this->cssFiles[$i]
				));
				$this->values['head'] .= $link->render();
			}
		}

		$numJsFiles = count($this->jsFiles);
		if ($this->useMinify) {

		}
		else {
			for ($i = 0; $i < $numJsFiles; $i++) {
				$js = new Redokes_View_Js(array(
					'src' => $this->jsFiles[$i]
				));
				$this->values['head'] .= $js->render();
			}
		}

		return parent::render();
	}
Ejemplo n.º 3
0
	public function createAction() {
		$this->setParam('post', $_POST);
		$title = $this->frontController->getParam('title', false);
		if ($title) {
			$safeTitle = preg_replace('/[^a-z\d]/i', '', $title);
			$mapFile = $this->getMapsDir() . $safeTitle . '.js';
			if (is_file($mapFile)) {
				$this->addError('Map already exists');
			}
			else {
				// Build map object
				$mapData = array(
					'title' => $title,
					'fileName' => $safeTitle,
					'numLayers' => 3,
					'width' => 1,
					'height' => 1,
					'tileSize' => 32,
					'tileData' => false,
					'tileSheet' => '/modules/wes/img/sprites/maps/jidoor/sheet.png',
					'spawnX' => 0,
					'spawnY' => 0,
					'spawnLayer' => 0,
					'music' => false,
					'extend' => 'Redokes.map.MapData'
				);

				$mapDataTemplate = new Redokes_View_Template();
				$mapDataTemplate->html = "Ext.define('Redokes.map.data.{fileName}',{data})";
				$mapDataTemplate->setValues(array(
					'fileName' => $mapData['fileName'],
					'data' => json_encode($mapData)
				));

				$mapDataStr = $mapDataTemplate->render();
				file_put_contents($mapFile, $mapDataStr);
			}


			$this->setParam('safeTitle', $safeTitle);
		}
	}