for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Stu\Component\Spacecraft\System\Control;
use Stu\Module\Control\GameControllerInterface;
use Stu\Module\Spacecraft\Lib\SpacecraftLoaderInterface;
use Stu\Module\Spacecraft\Lib\SpacecraftWrapperInterface;
use Stu\Orm\Entity\User;
trait GetTargetWrapperTrait
{
/** @param SpacecraftLoaderInterface<SpacecraftWrapperInterface> $spacecraftLoader*/
protected function getTargetWrapper(
SpacecraftWrapperInterface|int $target,
bool $allowUplink,
SpacecraftLoaderInterface $spacecraftLoader,
GameControllerInterface $game
): SpacecraftWrapperInterface {
if ($target instanceof SpacecraftWrapperInterface) {
return $target;
}
return $spacecraftLoader->getWrapperByIdAndUser(
$target,
$game->getUser()->getId(),
$allowUplink
);