-
우선 실패했을시 뜨는 ui항목의 버튼인
"try again" 버튼을 누르면 실행될 함수 부터 보겠습니다.
실행은 On Click 이벤트에서 실행을 해 줬으며
PlayerUiController 의 스크립트를 만들어 주었습니다.
각각 플레이어 컨트롤러 / 플레이어 실패 ui, 성공 ui 를 담아온 변수들 입니다.
실패시 버튼을 클릭하면 실행될 OnRetryButton 입니다.
우선 PlayerUiControllerOff를 보자면
현재 켜져 있는 ui 항목들을 비활성화 시켜주는 코드인데
성공 했을 시에도 사용할것이여서 함수로 따로 만들어 두었습니다.
_playerController.PlayerDieUiOn 함수를 보겠습니다.
장애물에 닿았을 시 꺼졌던 콜라이더와 애니메이터 컴포넌트들을 활성화 시켜주었습니다.
(ragdoll 상태에서 원래 애니메이션 상태로 되돌아오는것도 의미 합니다)
이후 인게임 상태에서 꺼졌던 기본 ui 항목들을 다시 켜주며
속도선은 꺼 주었습니다.
Rebind() 라는 함수를 처음 사용해 보았는데
일일히 따로 설정을 하는것이 아닌
초기 상태로 되돌아 가려면 이 Rebind 를 사용해도 된다 라는 얘기를 듣고
코드가 간단해 져서 사용하게 됐습니다.
이후 켜 두었던 플레이어 하위에 있는 Rigidbody들의 isKinematic을 true로 활성화 시켜 주었습니다.
즉 장애물에 충돌하기 전에는 플레이어를 제외한 나머지 rigidbody들은 물리 연산을 받지 않습니다.
이후 _playerStagePoints[0]이 null이 아니라면
_playerStagePoints[0] 번째 포지션으로 트랜스폼(플레이어)를 이동 시켜 주는데
이 _playerStagePoints 란
플레이어의 초기 위치를 지정해 준 것을 의미하며
OnDrawGizmos를 이용해 유니티 화면상에서 시각적으로 확인을 해 주었습니다.
또한 & 조건문에 StageIdex는
Mnager 스크립트의 _playerNumber를 의미하며
get, set 을 사용하여 가져와 보았습니다.
원래 성공 했을 시 동작 연출도 같이 하려했는데 급한 일이 생겨서
금방 업로드 하도록 하겠습니다.
감사합니다..!
'newGame > Dropper' 카테고리의 다른 글
06. dropper Player Move & 1Level (0) 2022.11.16 05. dropper NextStage Button (0) 2022.11.04 03. dropper Ragdoll & ui (0) 2022.11.04 02. dropper 로직 (0) 2022.11.04 01. dropper 기획 (재) (0) 2022.11.02