getPersonalityClass 추가

This commit is contained in:
2018-09-13 02:21:42 +09:00
parent bc4983c771
commit b89d37c8c5
15 changed files with 43 additions and 13 deletions
+20
View File
@@ -238,6 +238,26 @@ function getNationTypeClass(?string $type){
new \InvalidArgumentException("{$type}은 올바른 국가 타입 클래스가 아님"); new \InvalidArgumentException("{$type}은 올바른 국가 타입 클래스가 아님");
} }
function getPersonalityClass(?string $type){
if($type === null){
$type = GameConst::$neutralPersonality;
}
static $basePath = __NAMESPACE__.'\\TriggerPersonality\\';
$classPath = ($basePath.$type);
if(class_exists($classPath)){
return $classPath;
}
$classPath = ($basePath.'che_'.$type);
if(class_exists($classPath)){
return $classPath;
}
new \InvalidArgumentException("{$type}은 올바른 성격 클래스가 아님");
}
function getGeneralSpecialDomesticClass(?string $type){ function getGeneralSpecialDomesticClass(?string $type){
if($type === null){ if($type === null){
$type = GameConst::$defaultSpecial; $type = GameConst::$defaultSpecial;
+8
View File
@@ -107,4 +107,12 @@ class GameConstBase
]; ];
/** @var array 기본 특기(공용) */ /** @var array 기본 특기(공용) */
public static $defaultSpecial = 'None'; public static $defaultSpecial = 'None';
/** @var array 기본 성향(공용) */
public static $neutralPersonality = 'None';
/** @var array 선택 가능한 성향 */
public static $availablePersonality = [
'che_안전', 'che_유지', 'che_재간', 'che_출세', 'che_할거', 'che_정복',
'che_패권', 'che_의협', 'che_대의', 'che_왕좌'
];
} }
+3 -1
View File
@@ -20,10 +20,11 @@ class General{
protected $logActivatedSkill = []; protected $logActivatedSkill = [];
protected $isFinished = false; protected $isFinished = false;
protected $nationType; protected $nationType;
protected $levelObj; protected $levelObj;
protected $specialDomesticObj; protected $specialDomesticObj;
protected $characteristicObj;
public function __construct(array $raw, ?array $city, int $year, int $month){ public function __construct(array $raw, ?array $city, int $year, int $month){
//TODO: 밖에서 가져오도록 하면 버그 확률이 높아짐. 필요한 raw 값을 직접 구해야함. //TODO: 밖에서 가져오도록 하면 버그 확률이 높아짐. 필요한 raw 값을 직접 구해야함.
@@ -45,6 +46,7 @@ class General{
$nationTypeClass = getNationTypeClass($staticNation['type']); $nationTypeClass = getNationTypeClass($staticNation['type']);
$this->nationType = new $nationTypeClass; $this->nationType = new $nationTypeClass;
$this->levelObj = new TriggerGeneralLevel($this->raw, $city); $this->levelObj = new TriggerGeneralLevel($this->raw, $city);
$this->levelObj = new TriggerGeneralLevel($this->raw, $city);
} }
protected function clearActivatedSkill(){ protected function clearActivatedSkill(){
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
class None implements iActionTrigger{ class None implements iActionTrigger{
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;
@@ -1,5 +1,5 @@
<?php <?php
namespace sammo\TriggerCharacter; namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger; use \sammo\iActionTrigger;
use \sammo\General; use \sammo\General;