제작/영혼들
[영혼들] 아이템 상호작용
Krapboss
2024. 8. 2. 00:17
기본적인 구조
모든 아이템은 InteractionObjects 클래스의 파생클래스를 상속 받고
InteractionObjects로부터 파생된 클래스는 각 아이템 종류[Interactiontype] 별로 필요한 함수를 정의한다.
아이템의 종류
public enum InteractionType
{
Throwing = 0, //단순히 던지는 오브젝트
Get, //획득하는 오브젝트
Self, //스스로 상호작용이 가능함. // musicBox
Expand, //다른 오브젝트들과 상호작용 가능 //잡을 수 없습니다.
Continues, //지속적인 상호작용을 해야 되는 오브젝트
EquipAuto, //소지한 상태에서 지속적인 자동으로 작동한다.
None = -1 //사용할 수 없는 상태가 되었을 때 표시하지 않는다.
}
아이템 상호작용 방법
아이템의 상호작용의 종류
*Continues
휠 값을 입력받아 사용하는 오브젝트의 경우
*Expand
고정된 오브젝트
throwing과 같은 오브젝트와 상호작용이 가능함
*상호작용 방법
각자의 이름을 판단하여 적용
상호작용의 예시
아래의 예시는
Obj_WireBox : Expand
ThrowingObject : Throwing
두 오브젝트를 나타내며,
Obj_WireBox 인스펙터 TargetObjectName에 "Hammer"가 상호작용 가능한 Name임을 나타냅니다.
해머와 전압박스의 경우
예시 설명
전압박스는 망치를 들고 있어야 상호작용이 가능하지만, 첫 도입 부분에 망치가 없이 E키를 눌러 상호작용을 하려고 하여 동작하지 않았다.
그 다음 장면으로 떨어진 망치를 주워 상호작용하니 이벤트가 실행이 되었다.