test: expose legacy trait catalog
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace sammo;
|
||||
|
||||
if (PHP_SAPI !== 'cli') {
|
||||
http_response_code(404);
|
||||
exit;
|
||||
}
|
||||
|
||||
chdir(dirname(__DIR__));
|
||||
require_once 'lib.php';
|
||||
require_once 'func.php';
|
||||
|
||||
$groups = [
|
||||
'nation' => ['ActionNationType', 'ActionNationType'],
|
||||
'domestic' => ['ActionSpecialDomestic', 'ActionSpecialDomestic'],
|
||||
'war' => ['ActionSpecialWar', 'ActionSpecialWar'],
|
||||
'personality' => ['ActionPersonality', 'ActionPersonality'],
|
||||
];
|
||||
|
||||
$result = [];
|
||||
foreach ($groups as $kind => [$directory, $namespace]) {
|
||||
foreach (glob(__DIR__ . "/../sammo/{$directory}/*.php") ?: [] as $path) {
|
||||
$key = basename($path, '.php');
|
||||
if ($key === 'None' || str_starts_with($key, 'che_event_') || $key === 'che_거상') {
|
||||
continue;
|
||||
}
|
||||
$className = "\\sammo\\{$namespace}\\{$key}";
|
||||
$trait = new $className();
|
||||
$result[$kind][$key] = [
|
||||
'name' => $trait->getName(),
|
||||
'info' => $trait->getInfo(),
|
||||
];
|
||||
}
|
||||
ksort($result[$kind]);
|
||||
}
|
||||
|
||||
echo Json::encode($result);
|
||||
Reference in New Issue
Block a user