101 lines
2.8 KiB
C#
101 lines
2.8 KiB
C#
using UnityEngine;
|
|
|
|
public class SimpleEventExample : MonoBehaviour
|
|
{
|
|
[Header("StreamDock 통신")]
|
|
[SerializeField] private SimpleStreamDockCommunicator streamDock;
|
|
|
|
void Start()
|
|
{
|
|
// StreamDock 이벤트 구독
|
|
if (streamDock != null)
|
|
{
|
|
streamDock.OnStreamDockMessageReceived.AddListener(OnStreamDockMessage);
|
|
streamDock.OnConnected.AddListener(OnStreamDockConnected);
|
|
streamDock.OnDisconnected.AddListener(OnStreamDockDisconnected);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// StreamDock에서 메시지 수신 시 처리
|
|
/// </summary>
|
|
private void OnStreamDockMessage(string eventType, object data)
|
|
{
|
|
Debug.Log($"StreamDock 이벤트 수신: {eventType}");
|
|
|
|
switch (eventType)
|
|
{
|
|
case "button_clicked":
|
|
// 버튼 클릭 시 실행할 코드
|
|
Debug.Log("버튼 클릭 이벤트 실행!");
|
|
DoSomething();
|
|
break;
|
|
|
|
case "dial_rotate":
|
|
// 다이얼 회전 시 실행할 코드
|
|
Debug.Log("다이얼 회전 이벤트 실행!");
|
|
DoSomethingElse();
|
|
break;
|
|
|
|
case "dial_press":
|
|
// 다이얼 누름 시 실행할 코드
|
|
Debug.Log("다이얼 누름 이벤트 실행!");
|
|
DoAnotherThing();
|
|
break;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// StreamDock 연결 시 처리
|
|
/// </summary>
|
|
private void OnStreamDockConnected()
|
|
{
|
|
Debug.Log("StreamDock에 연결되었습니다!");
|
|
}
|
|
|
|
/// <summary>
|
|
/// StreamDock 연결 해제 시 처리
|
|
/// </summary>
|
|
private void OnStreamDockDisconnected()
|
|
{
|
|
Debug.Log("StreamDock 연결이 해제되었습니다.");
|
|
}
|
|
|
|
// 여기에 원하는 동작들을 구현하세요
|
|
private void DoSomething()
|
|
{
|
|
Debug.Log("버튼 클릭으로 실행된 동작!");
|
|
// 예: 오브젝트 활성화/비활성화, 애니메이션 재생, 사운드 재생 등
|
|
}
|
|
|
|
private void DoSomethingElse()
|
|
{
|
|
Debug.Log("다이얼 회전으로 실행된 동작!");
|
|
// 예: 볼륨 조절, 카메라 회전, 값 변경 등
|
|
}
|
|
|
|
private void DoAnotherThing()
|
|
{
|
|
Debug.Log("다이얼 누름으로 실행된 동작!");
|
|
// 예: 특수 기능 실행, 모드 변경 등
|
|
}
|
|
|
|
// 공개 메서드들 (Inspector에서 호출 가능)
|
|
[ContextMenu("테스트 동작 1")]
|
|
public void TestAction1()
|
|
{
|
|
DoSomething();
|
|
}
|
|
|
|
[ContextMenu("테스트 동작 2")]
|
|
public void TestAction2()
|
|
{
|
|
DoSomethingElse();
|
|
}
|
|
|
|
[ContextMenu("테스트 동작 3")]
|
|
public void TestAction3()
|
|
{
|
|
DoAnotherThing();
|
|
}
|
|
} |