4/15일 프로토 타입 계획 보안 발표 자료 준비_전현오
확인 방법
입력 : 플레이어 움직임(방향키)
상호작용 키(f)
사용자 상호작용 : 동기화가 이루어지는가?(자원의 동기화, 플레이어 위치, 애니메이션의 동기화)
결과
프로토 타입의 데이터 모델 정의
플레이어 오브젝트
Photon View, Photon Transform View, Photon Animator View 컴포넌트로 위치, 애니메이션 동기화
PlayerInput : 플레이어 입력 값 처리 속성 : MoveX, MoveY, Interact - 입력 받은 값 동기화 : photonView.IsMine로 로컬인지 확인
PlayerInteract : 플레이어 상호작용 처리, IInteractable과의 상호작용 관리
속성 :
기능 : 상호작용 대상 탐지(OnTriggerEnter2D
, OnTriggerExit2D
, OnTriggerStay2D
,) UI표시 관리, 상호작용 실행,
동기화 데이터 없음
PlayerMovement : 플레이어 이동 처리 속성 : bool 타입의 움직임 여부, 플레이어 속도, 방향 전환 애니메이션을 위한 bool 변수 기능 : Rigidbody로 움직임 구현, 동기화 : photonView.IsMine로 로컬인지 확인
탐사선
Photon View, Photon Transform View 컴포넌트로 위치 동기화
Interactable : 상호작용 인터페이스
기능 : ShowUI(), HideUI(), Interact()
InteractableEntity:Interactable : 상호작용 구현(부모 클래스,세부 구현은 자식에서) 속성 : 상호작용 UI 오브젝트 기능 : ShowUI(), HideUI(), Interact() 구현(공통 부분)
MinerShipEntrance:InteractableEntity : 채굴선 출입 상호작용
속성 : 입구 위치
기능 : 채굴선 내부로 진입
동기화 데이터 없음
ControlSeat:InteractableEntity
속성 : controller - 조종석과 연결된 제어가 무엇인지
기능 : Interact() 구현 - 연결된 controller의 Activate() 실행
동기화 데이터 없음
IController : 컨트롤러 인터페이스
기능 : Activate() - 제어 시작
ShipController:IController : 채굴선 컨트롤
속성 : handler, handlerInput - 제어자가 누구인지, 제어자의 입력
StopControl() - 제어 중지
Activate() - 기존의 제어자가 있다면 중지시키고 제어자가 누구인지 알게함