플레이어 두 명을 스왑하면서 진행하는 게임을 구상중인데,

하나의 뉴 인풋 액션을 만들어놓고 인풋매니저에서 어떤 캐릭터를 움직일지 결정하는 방식으로 구성을 해봤습니다...!
그런데, 움직일 플레이어가 바뀌는 것을 고려하여 인풋매니저가 모든 플레이어를 가지고 있게 하려고

private List<string> _playerNames = new List<string>();

private Dictionary<string, PlayerController> _players = new Dictionary<string, PlayerController>();

이렇게 구성을 해놨고, 플레이어에서는 Start 시점에서 싱글턴으로 인풋매니저에 접근하여 본인을 추가하도록 하였습니다.


여기서 문제가 인풋 매니저에서 가장 처음 움직일 캐릭터를 지정해줘야하는데, 인풋매니저의 Start시점에서 그 부분을 실행하기에는

스크립트의 실행순서가 정해지지 않아서 이게 맞나 싶습니다...
물론 Script Execution Order를 통해 스크립트 실행 순서를 지정할 수 있겠지만

그런 방식을 사용해야 한다는 거부터가 제가 구조를 잘못짠거 같고, Find를 통하여 그냥 모든 플레이어를 받아오는 방법 또한

제가 Find의 사용은 최대한 피해야한다고 알고있어서 쓰지않고 구성을 해보고 싶습니다... 혹시 방법이 있을까요...?


24b0d121e09c28a8699fe8b115ef046f5948999e

이게 InputManager의 초기 코드이고, 아직 Dont Destroy같은 처리는 안해준 상태입니다. 곧 할 예정입니다.



24b0d121e09c28a8699fe8b115ef046c67f3294e


그리고 이게 PlayerController 초기 부분입니다...! 제발 도와주세요 ㅠㅠ