From fb5946fba5f974518591331e460002eadc5b5509 Mon Sep 17 00:00:00 2001 From: Hide_D Date: Wed, 15 Mar 2023 23:19:01 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=86=8C=EC=9E=AC=20=EB=8F=84=EC=8B=9C?= =?UTF-8?q?=EA=B0=80=20=EA=B3=B5=EB=B0=B1=EC=A7=80=EC=97=AC=EC=95=BC?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=EC=A1=B0=EA=B1=B4=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/sammo/Constraint/ConstraintHelper.php | 26 ++++++++++-------- hwe/sammo/Constraint/NeutralCity.php | 32 +++++++++++++++++++++++ 2 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 hwe/sammo/Constraint/NeutralCity.php 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