Refactored to 2 namespaces: Wootook & Legacies
Signed-off-by: Gregory PLANCHAT <g.planchat@gmail.com>
This commit is contained in:
parent
cfeb6aca6d
commit
ec7e40e1aa
1004 changed files with 4808 additions and 2971 deletions
7
application/code/core/Wootook/Empire/Block/Overview.php
Normal file
7
application/code/core/Wootook/Empire/Block/Overview.php
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
class Wootook_Empire_Block_Overview
|
||||
extends Wootook_Core_Block_Template
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
class Wootook_Empire_Block_Overview_DestroyPlanet
|
||||
extends Wootook_Core_Block_Html_Form
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
class Wootook_Empire_Block_Overview_RenamePlanet
|
||||
extends Wootook_Core_Block_Html_Form
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
<?php
|
||||
|
||||
abstract class Wootook_Empire_Block_Planet_Builder_ItemAbstract
|
||||
extends Wootook_Core_Block_Template
|
||||
{
|
||||
protected $_user = null;
|
||||
protected $_planet = null;
|
||||
protected $_itemId = null;
|
||||
|
||||
public function setUser(Wootook_Empire_Model_User $user)
|
||||
{
|
||||
$this->_user = $user;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getUser()
|
||||
{
|
||||
if ($this->_user === null) {
|
||||
$this->_user = Wootook_Empire_Model_User::getSingleton();
|
||||
}
|
||||
|
||||
return $this->_user;
|
||||
}
|
||||
|
||||
public function setPlanet(Wootook_Empire_Model_Planet $planet)
|
||||
{
|
||||
$this->_planet = $planet;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPlanet()
|
||||
{
|
||||
if ($this->_planet === null) {
|
||||
$this->_planet = $this->getUser()->getCurrentPlanet();
|
||||
}
|
||||
|
||||
return $this->_planet;
|
||||
}
|
||||
|
||||
public function setItemId($itemId)
|
||||
{
|
||||
$this->_itemId = $itemId;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getItemId()
|
||||
{
|
||||
return $this->_itemId;
|
||||
}
|
||||
|
||||
public function getItemInfoUrl()
|
||||
{
|
||||
return $this->getUrl('infos.php', array('gid' => $this->getItemId()));
|
||||
}
|
||||
|
||||
public function getItemImageUrl()
|
||||
{
|
||||
// TODO : Upgrade theme
|
||||
return $this->getSkinUrl('graphics/gebaeude/' . $this->getItemId() . '.gif');
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
static $lang = null;
|
||||
if ($lang === null) {
|
||||
// FIXME: implement a cleaner way to get names
|
||||
$lang = includeLang('tech');
|
||||
}
|
||||
|
||||
if (isset($lang['tech']) && isset($lang['tech'][$this->getItemId()])) {
|
||||
return $this->__($lang['tech'][$this->getItemId()]);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
public function getDescription()
|
||||
{
|
||||
static $lang = null;
|
||||
if ($lang === null) {
|
||||
// FIXME: implement a cleaner way to get names
|
||||
$lang = includeLang('tech');
|
||||
}
|
||||
|
||||
if (isset($lang['res']) && isset($lang['res']['descriptions']) && isset($lang['res']['descriptions'][$this->getItemId()])) {
|
||||
return $this->__($lang['res']['descriptions'][$this->getItemId()]);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
public function getResourceName($resourceId)
|
||||
{
|
||||
static $lang = null;
|
||||
if ($lang === null) {
|
||||
// FIXME: implement a cleaner way to get names
|
||||
$lang = includeLang('imperium');
|
||||
}
|
||||
if ($resourceId == 'cristal') {
|
||||
$resourceId = 'crystal';
|
||||
}
|
||||
|
||||
if (isset($lang[$resourceId])) {
|
||||
return $this->__($lang[$resourceId]);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
public function getNextLevel()
|
||||
{
|
||||
return $this->getQueuedLevel() + 1;
|
||||
}
|
||||
|
||||
abstract public function getResourcesNeeded($level);
|
||||
|
||||
abstract public function getBuildingTime($level);
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
|
||||
abstract class Wootook_Empire_Block_Planet_Builder_Queue_ItemAbstract
|
||||
extends Wootook_Empire_Block_Planet_Builder_ItemAbstract
|
||||
{
|
||||
protected $_item = null;
|
||||
|
||||
protected $_itemIdField = null;
|
||||
|
||||
public function setItem(Wootook_Empire_Model_Builder_Item $item)
|
||||
{
|
||||
$this->_item = $item;
|
||||
$this->setItemId($item->getData($this->_itemIdField));
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getItem()
|
||||
{
|
||||
return $this->_item;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
<?php
|
||||
|
||||
abstract class Wootook_Empire_Block_Planet_Builder_QueueAbstract
|
||||
extends Wootook_Core_Block_Template
|
||||
{
|
||||
protected $_user = null;
|
||||
protected $_planet = null;
|
||||
protected $_itemTemplate = null;
|
||||
protected $_itemBlock = null;
|
||||
|
||||
public function setUser(Wootook_Empire_Model_User $user)
|
||||
{
|
||||
$this->_user = $user;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getUser()
|
||||
{
|
||||
if ($this->_user === null) {
|
||||
$this->_user = Wootook_Empire_Model_User::getSingleton();
|
||||
}
|
||||
|
||||
return $this->_user;
|
||||
}
|
||||
|
||||
public function setPlanet(Wootook_Empire_Model_Planet $planet)
|
||||
{
|
||||
$this->_planet = $planet;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPlanet()
|
||||
{
|
||||
if ($this->_planet === null) {
|
||||
$this->_planet = $this->getUser()->getCurrentPlanet();
|
||||
}
|
||||
|
||||
return $this->_planet;
|
||||
}
|
||||
|
||||
public function setItemTemplate($template)
|
||||
{
|
||||
$this->_itemTemplate = $template;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getItemTemplate()
|
||||
{
|
||||
return $this->_itemTemplate;
|
||||
}
|
||||
|
||||
public function setItemBlockType($blockType)
|
||||
{
|
||||
$this->_itemBlockType = $blockType;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getItemBlockType()
|
||||
{
|
||||
return $this->_itemBlockType;
|
||||
}
|
||||
|
||||
public function getItemBlock(Wootook_Empire_Model_Builder_Item $item)
|
||||
{
|
||||
$index = $item->getIndex();
|
||||
$blockName = "item({$index})";
|
||||
|
||||
return $this->getLayout()
|
||||
->createBlock($this->getItemBlockType(), $blockName)
|
||||
->setTemplate($this->getItemTemplate())
|
||||
->setPlanet($this->getPlanet())
|
||||
->setItem($item);
|
||||
}
|
||||
|
||||
public function prepareLayout()
|
||||
{
|
||||
$parentBlock = $this->getLayout()
|
||||
->createBlock('core/concat', $this->getNameInLayout() . '.item-list')
|
||||
;
|
||||
$this->setPartial('item-list', $parentBlock);
|
||||
|
||||
foreach ($this->getQueue() as $item) {
|
||||
$block = $this->getItemBlock($item);
|
||||
$parentBlock->setPartial($block->getNameInLayout(), $block);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
abstract public function getQueue();
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
<?php
|
||||
|
||||
abstract class Wootook_Empire_Block_Planet_BuilderAbstract
|
||||
extends Wootook_Core_Block_Template
|
||||
{
|
||||
protected $_itemTemplate = null;
|
||||
protected $_itemBlock = null;
|
||||
|
||||
public function setItemTemplate($template)
|
||||
{
|
||||
$this->_itemTemplate = $template;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getItemTemplate()
|
||||
{
|
||||
return $this->_itemTemplate;
|
||||
}
|
||||
|
||||
public function setItemBlockType($blockType)
|
||||
{
|
||||
$this->_itemBlockType = $blockType;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getItemBlockType()
|
||||
{
|
||||
return $this->_itemBlockType;
|
||||
}
|
||||
|
||||
public function getItemBlock($itemId)
|
||||
{
|
||||
$blockName = "item({$itemId})";
|
||||
|
||||
return $this->getLayout()
|
||||
->createBlock($this->getItemBlockType(), $blockName)
|
||||
->setTemplate($this->getItemTemplate())
|
||||
->setPlanet($this->getPlanet())
|
||||
->setItemId($itemId);
|
||||
}
|
||||
|
||||
public function prepareLayout()
|
||||
{
|
||||
parent::prepareLayout();
|
||||
|
||||
$this->_initChildBlocks();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
abstract protected function _initChildBlocks();
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
|
||||
class Wootook_Empire_Block_Planet_Buildings
|
||||
extends Wootook_Empire_Block_Planet_BuilderAbstract
|
||||
{
|
||||
protected $_planet = null;
|
||||
|
||||
public function setPlanet(Wootook_Empire_Model_Planet $planet)
|
||||
{
|
||||
$this->_planet = $planet;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPlanet()
|
||||
{
|
||||
if ($this->_planet === null) {
|
||||
$this->_planet = Wootook_Empire_Model_User::getSingleton()
|
||||
->getCurrentPlanet()
|
||||
;
|
||||
}
|
||||
return $this->_planet;
|
||||
}
|
||||
|
||||
public function _initChildBlocks()
|
||||
{
|
||||
$types = Wootook_Empire_Model_Game_Types::getSingleton();
|
||||
$type = Legacies_Empire::TYPE_BUILDING_PLANET;
|
||||
if ($this->getPlanet()->isMoon()) {
|
||||
$type = Legacies_Empire::TYPE_BUILDING_MOON;
|
||||
}
|
||||
|
||||
/** @var Wootook_Core_Block_Concat $parentBlock */
|
||||
$parentBlock = $this->getLayout()->getBlock('item-list.items');
|
||||
foreach ($types->getData($type) as $itemId) {
|
||||
if (!$this->getPlanet()->checkAvailability($itemId)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$block = $this->getItemBlock($itemId);
|
||||
$parentBlock->setPartial($block->getName(), $block);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
|
||||
class Wootook_Empire_Block_Planet_Buildings_Item
|
||||
extends Wootook_Empire_Block_Planet_Builder_ItemAbstract
|
||||
{
|
||||
public function getLevel()
|
||||
{
|
||||
return $this->getPlanet()->getElement($this->getItemId());
|
||||
}
|
||||
|
||||
public function getResourcesNeeded($level)
|
||||
{
|
||||
return $this->getPlanet()->getResourcesNeeded($this->getItemId(), $level);
|
||||
}
|
||||
|
||||
public function getQueuedLevel()
|
||||
{
|
||||
return $this->getPlanet()->getBuildingLevelQueued($this->getItemId());
|
||||
}
|
||||
|
||||
public function getBuildingTime($level)
|
||||
{
|
||||
return $this->getPlanet()->getBuildingTime($this->getItemId(), $level);
|
||||
}
|
||||
|
||||
public function getResourcesConfigForLevel($level)
|
||||
{
|
||||
$resources = $this->getResourcesNeeded($level);
|
||||
|
||||
$resourceConfig = array();
|
||||
foreach ($resources as $resourceId => $resourceValue) {
|
||||
$resourceConfig[$resourceId] = new Wootook_Object(array(
|
||||
'resource_id' => $resourceId,
|
||||
'value' => $resourceValue
|
||||
));
|
||||
|
||||
$amount = $this->getPlanet()->getResourceAmount($resourceId);
|
||||
if (Math::comp($amount, $resourceValue) < 0) {
|
||||
$resourceConfig[$resourceId]->setData('requirement', Math::sub($amount, $resourceValue));
|
||||
} else {
|
||||
$resourceConfig[$resourceId]->setData('overflow', Math::sub($amount, $resourceValue));
|
||||
}
|
||||
}
|
||||
return $resourceConfig;
|
||||
}
|
||||
|
||||
public function getResourcesConfigForNextLevel()
|
||||
{
|
||||
return $this->getResourcesConfigForLevel($this->getNextLevel());
|
||||
}
|
||||
|
||||
public function getBuildingTimeForNextLevel()
|
||||
{
|
||||
return $this->getBuildingTime($this->getNextLevel());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
|
||||
class Wootook_Empire_Block_Planet_Buildings_Queue
|
||||
extends Wootook_Empire_Block_Planet_Builder_QueueAbstract
|
||||
{
|
||||
public function getQueue()
|
||||
{
|
||||
return $this->getPlanet()->getBuildingQueue();
|
||||
}
|
||||
|
||||
public function isEmpty()
|
||||
{
|
||||
return $this->getQueue()->count() == 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
<?php
|
||||
|
||||
class Wootook_Empire_Block_Planet_Buildings_Queue_Item
|
||||
extends Wootook_Empire_Block_Planet_Builder_Queue_ItemAbstract
|
||||
{
|
||||
protected $_itemIdField = 'building_id';
|
||||
|
||||
public function getLevel()
|
||||
{
|
||||
return $this->getPlanet()->getElement($this->getItemId());
|
||||
}
|
||||
|
||||
public function getResourcesNeeded($level)
|
||||
{
|
||||
return $this->getPlanet()->getResourcesNeeded($this->getItemId(), $this->getQueuedLevel() + 1);
|
||||
}
|
||||
|
||||
public function getItemQueuedLevel()
|
||||
{
|
||||
return $this->getItem()->getData('level');
|
||||
}
|
||||
|
||||
public function getQueuedLevel()
|
||||
{
|
||||
return $this->getPlanet()->getBuildingLevelQueued($this->getItemId());
|
||||
}
|
||||
|
||||
public function getBuildingTime($level)
|
||||
{
|
||||
return $this->getPlanet()->getBuildingTime($this->getItemId(), $level);
|
||||
}
|
||||
|
||||
public function getResourcesConfigForLevel($level)
|
||||
{
|
||||
$resources = $this->getResourcesNeeded($level);
|
||||
|
||||
$resourceConfig = array();
|
||||
foreach ($resources as $resourceId => $resourceValue) {
|
||||
$resourceConfig[$resourceId] = new Wootook_Object(array(
|
||||
'resource_id' => $resourceId,
|
||||
'value' => $resourceValue
|
||||
));
|
||||
|
||||
$amount = $this->getPlanet()->getResourceAmount($resourceId);
|
||||
if (Math::comp($amount, $resourceValue) < 0) {
|
||||
$resourceConfig[$resourceId]->setData('requirement', Math::sub($amount, $resourceValue));
|
||||
} else {
|
||||
$resourceConfig[$resourceId]->setData('overflow', Math::sub($amount, $resourceValue));
|
||||
}
|
||||
}
|
||||
return $resourceConfig;
|
||||
}
|
||||
|
||||
public function getResourcesConfigForNextLevel()
|
||||
{
|
||||
return $this->getResourcesConfigForLevel($this->getNextLevel());
|
||||
}
|
||||
|
||||
public function getBuildingTimeForNextLevel()
|
||||
{
|
||||
return $this->getBuildingTime($this->getNextLevel());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
class Wootook_Empire_Block_PlanetList
|
||||
extends Wootook_Core_Block_Template
|
||||
{
|
||||
|
||||
}
|
||||
32
application/code/core/Wootook/Empire/Block/Topnav.php
Normal file
32
application/code/core/Wootook/Empire/Block/Topnav.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
class Wootook_Empire_Block_Topnav
|
||||
extends Wootook_Core_Block_Template
|
||||
{
|
||||
/**
|
||||
*
|
||||
* @return Wootook_Empire_Model_User
|
||||
*/
|
||||
public function getCurrentUser()
|
||||
{
|
||||
return Wootook_Empire_Model_User::getSingleton();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return Wootook_Empire_Model_Planet
|
||||
*/
|
||||
public function getCurrentPlanet()
|
||||
{
|
||||
return $this->getCurrentUser()->getCurrentPlanet();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return Wootook_Core_Collection
|
||||
*/
|
||||
public function getPlanetCollection()
|
||||
{
|
||||
return $this->getCurrentUser()->getPlanetCollection();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue