value; } public static function tryFromTag(string $tag): Runner|null { return match ($tag) { 'Runner.Smoke' => Runner::Smoke, 'Runner.Ink' => Runner::Ink, 'Runner.Ghost' => Runner::Ghost, 'Runner.Sawbones' => Runner::Sawbones, 'Runner.Switch' => Runner::Switch, 'Runner.Dash' => Runner::Dash, default => null, }; } public function getGroupType(): ItemGroupType { return match ($this) { Runner::Smoke => ItemGroupType::RunnerFog, Runner::Ink => ItemGroupType::RunnerInked, Runner::Ghost => ItemGroupType::RunnerGhost, Runner::Sawbones => ItemGroupType::RunnerSawbones, Runner::Switch => ItemGroupType::RunnerSwitch, Runner::Dash => ItemGroupType::RunnerDash, }; } /** * @return class-string */ public function getItemConfigClass(): string { return match ($this) { self::Smoke => FogItemConfig::class, self::Ink => InkedItemConfig::class, self::Ghost => GhostItemConfig::class, self::Sawbones => SawbonesItemConfig::class, self::Switch => SwitchItemConfig::class, self::Dash => DashItemConfig::class, }; } }