diff --git a/hwe/sammo/Constraint/ConstraintHelper.php b/hwe/sammo/Constraint/ConstraintHelper.php index b3842a88..e354eaf6 100644 --- a/hwe/sammo/Constraint/ConstraintHelper.php +++ b/hwe/sammo/Constraint/ConstraintHelper.php @@ -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__]; } diff --git a/hwe/sammo/Constraint/NeutralCity.php b/hwe/sammo/Constraint/NeutralCity.php new file mode 100644 index 00000000..718e4852 --- /dev/null +++ b/hwe/sammo/Constraint/NeutralCity.php @@ -0,0 +1,32 @@ +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; + } +} \ No newline at end of file