feat: 소재 도시가 공백지여야하는 조건 작성

This commit is contained in:
2023-03-15 23:19:01 +09:00
parent 3ff4d51778
commit fb5946fba5
2 changed files with 47 additions and 11 deletions
+15 -11
View File
@@ -3,7 +3,7 @@
namespace sammo\Constraint;
class ConstraintHelper{
static function AdhocCallback(callable $callback):array{
return [__FUNCTION__, $callback];
}
@@ -19,7 +19,7 @@ class ConstraintHelper{
static function AllowDiplomacyWithTerm(int $allowDipCode, int $allowMinTerm, string $errMsg):array{
return [__FUNCTION__, [$allowDipCode, $allowMinTerm, $errMsg]];
}
static function AllowJoinAction():array{
return [__FUNCTION__];
}
@@ -67,11 +67,11 @@ class ConstraintHelper{
static function BeOpeningPart(int $relYear):array{
return [__FUNCTION__, $relYear];
}
static function CheckNationNameDuplicate(string $nationName):array{
return [__FUNCTION__, $nationName];
}
static function ConstructableCity():array{
return [__FUNCTION__];
}
@@ -99,11 +99,11 @@ class ConstraintHelper{
static function ExistsDestGeneral():array{
return [__FUNCTION__];
}
static function ExistsDestNation():array{
return [__FUNCTION__];
}
static function FriendlyDestGeneral():array{
return [__FUNCTION__];
}
@@ -123,7 +123,7 @@ class ConstraintHelper{
static function MustBeTroopLeader():array{
return [__FUNCTION__];
}
static function NearCity(int $distance):array{
return [__FUNCTION__, $distance];
}
@@ -132,6 +132,10 @@ class ConstraintHelper{
return [__FUNCTION__];
}
static function NeutralCity():array{
return [__FUNCTION__];
}
static function NotBeNeutral():array{
return [__FUNCTION__];
}
@@ -175,11 +179,11 @@ class ConstraintHelper{
static function OccupiedDestCity():array{
return [__FUNCTION__];
}
static function RemainCityCapacity($key, string $actionName):array{
return [__FUNCTION__, [$key, $actionName]];
}
static function RemainCityTrust(string $actionName):array{
return [__FUNCTION__, $actionName];
}
@@ -187,7 +191,7 @@ class ConstraintHelper{
static function ReqCityCapacity($key, string $keyNick, $reqVal):array{
return [__FUNCTION__, [$key, $keyNick, $reqVal]];
}
static function ReqCityTrust(float $minTrust):array{
return [__FUNCTION__, $minTrust];
}
@@ -267,7 +271,7 @@ class ConstraintHelper{
static function SuppliedDestCity():array{
return [__FUNCTION__];
}
static function WanderingNation():array{
return [__FUNCTION__];
}
+32
View File
@@ -0,0 +1,32 @@
<?php
namespace sammo\Constraint;
class NeutralCity extends Constraint{
const REQ_VALUES = Constraint::REQ_CITY;
public function checkInputValues(bool $throwExeception=true):bool{
if(!parent::checkInputValues($throwExeception) && !$throwExeception){
return false;
}
if(!key_exists('nation', $this->city)){
if(!$throwExeception){return false; }
throw new \InvalidArgumentException("require nation in city");
}
return true;
}
public function test():bool{
$this->checkInputValues();
$this->tested = true;
if($this->city['nation'] == 0){
return true;
}
$this->reason = "공백지가 아닙니다.";
return false;
}
}