Вы можете добавить аннотацию @Injectable в свой неугловой класс и добавить его в модуль ngmodule, чтобы сделать его инъекционным. Но это не кажется «правильным».
Я думаю, что вы путаете понятия здесь. В разработке игр (Phaser) используются разные концепции, чем в angular.
Куда вы звоните / создаете свой PlayerConfigScene-Object? Разве это не угловой компонент или инъекционный? Не могли бы вы просто внедрить требуемый сервис в ваш компонент, а затем создать объект конфигурации с вашим сервисом?
Если вы встраиваете свою игру в угловой проект, вы должны поместить ее в веб-компонент или, по крайней мере, в компонент:
@Component({
selector: "my-game-wrapper-component",
template: "<div #myGameWrapper></div>"
})
export class MyGameWrapperComponent implements AfterViewInit {
@ViewChild("myGameWrapper", { read: ElementRef }) myGameWrapperDiv: ElementRef;
private game: MyAwesomeGame;
constructor(private myAwesomeGameService: MyAwesomeGameService) {
// MyAwesomeGameService has to be an injectable angular service
}
public ngAfterViewInit(): void {
this.game = new MyAwesomeGame(this.myGameWrapperDiv.nativeElement, this.myAwesomeGameService);
}
}