Add ModMissingProblem and ModMissingSolution

This commit is contained in:
2026-04-30 21:32:15 +00:00
parent 4be6ebac10
commit 1d09358e7b
3 changed files with 114 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
<?php
namespace IndifferentKetchup\Codex\Analysis\ProjectZomboid;
use IndifferentKetchup\Codex\Analysis\InsightInterface;
use IndifferentKetchup\Codex\Analysis\PatternInsightInterface;
use IndifferentKetchup\Codex\Analysis\Problem;
use IndifferentKetchup\Codex\Pattern\ProjectZomboid\DebugServerPattern;
class ModMissingProblem extends Problem implements PatternInsightInterface
{
private string $modName = '';
public static function getPatterns(): array
{
return [DebugServerPattern::MOD_MISSING];
}
public function setMatches(array $matches, mixed $patternKey): void
{
$this->modName = $matches['mod'];
$this->addSolution((new ModMissingSolution())->setModName($this->modName));
}
public function getModName(): string
{
return $this->modName;
}
public function getMessage(): string
{
return sprintf('Required mod "%s" not found.', $this->modName);
}
public function isEqual(InsightInterface $insight): bool
{
return $insight instanceof self && $insight->getModName() === $this->modName;
}
}