UnitConstBase 적용용

This commit is contained in:
2025-01-21 16:02:24 +00:00
parent 01094d376f
commit 7cffa68d04
6 changed files with 69 additions and 61 deletions
@@ -0,0 +1,18 @@
<?php
namespace sammo\GameUnitConstraint;
use sammo\General;
class Impossible extends BaseGameUnitConstraint {
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
{
return false;
}
public function getInfo(): string
{
return "불가능";
}
}
+3 -2
View File
@@ -7,8 +7,10 @@ use sammo\General;
class ReqCities extends BaseGameUnitConstraint {
public function __construct(public readonly array $reqCities)
public readonly array $reqCities;
public function __construct(...$reqCities)
{
$this->reqCities = $reqCities;
}
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
@@ -16,7 +18,6 @@ class ReqCities extends BaseGameUnitConstraint {
foreach ($this->reqCities as $city) {
if (key_exists($city, $ownCities)) {
return true;
break;
}
}
+1 -23
View File
@@ -19,26 +19,4 @@ class ReqMinRelYear extends BaseGameUnitConstraint {
{
return "{$this->reqMinRelYear}년 경과 후 사용 가능";
}
}
/*
if($reqTech > 0){
$info[] = "기술력 {$reqTech} 이상 필요";
}
if($reqCities !== null){
$reqCities = array_map(function($reqCity) use (&$info){
$info[] = "{$reqCity} 소유시 가능";
return CityConst::byName($reqCity)->id;
}, $reqCities);
}
if($reqRegions !== null){
$reqRegions = array_map(function($reqRegion) use (&$info){
$info[] = "{$reqRegion} 지역 소유시 가능";
return CityConst::$regionMap[$reqRegion];
}, $reqRegions);
}
*/
}
+3 -1
View File
@@ -7,8 +7,10 @@ use sammo\General;
class ReqRegions extends BaseGameUnitConstraint {
public function __construct(public readonly array $reqRegions)
public readonly array $reqRegions;
public function __construct(...$reqRegions)
{
$this->reqRegions = $reqRegions;
}
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
+1
View File
@@ -16,6 +16,7 @@ class ReqTech extends BaseGameUnitConstraint {
if ($tech < $this->reqTech) {
return false;
}
return true;
}
public function getInfo(): string