튜토리얼을 구상하다가 스토리 다이어로그 및 스테이지 컨셉까지 이어지게 되어 위와 같은 시스템을 만들었습니다.
좌뇌 담당인 왼쪽이는 QTE 시스템,
우뇌 담당인 오른쪽이는 연타 시스템을 활용할 예정입니다.
public class InputProgressData
{
[field: SerializeField] public InputProgressEnum.InputProgressUIType UIType { get; private set; }
[field: SerializeField] public bool Failable { get; private set; }
[field: SerializeField][field: Range(0.0f, 1.0f)] public float BeginValue { get; private set; } = 0.5f;
[field: SerializeField] public float DecreaseValuePerSecond { get; private set; }
[field: SerializeField] public float IncreaseValueOnInput { get; private set; }
} //Progress의 중심 데이터
public interface IInputProgressService //로직 실행 인터페이스
{ //LocalManager 하위에 존재
public void Play(
InputProgressEnum.InputProgressUIType type,
CharacterMoveKeyCodeData keyCodeData,
InputProgressData data,
Transform followTarget,
UnityAction<float> onProgress,
UnityAction onComplete,
UnityAction onFail);
public void Play(
InputProgressEnum.InputProgressUIType type,
CharacterMoveKeyCodeData keyCodeData,
InputProgressData data,
Vector3 worldPosition,
UnityAction<float> onProgress,
UnityAction onComplete,
UnityAction onFail);
public void Stop();
}
public interface IInputProgressUIService
{ //Progerss 전용 UI 서비스
public UniTask<IUIInputProgressPresenter> GetPresenterAsync(
InputProgressEnum.InputProgressUIType type,
Transform followTarget);
public UniTask<IUIInputProgressPresenter> GetPresenterAsync(
InputProgressEnum.InputProgressUIType type,
Vector2 canvasPosition);
}
위 영상에 나오는 회복 아이템 뿐만 아니라 열쇠형 트리거, 상태이상 등 다양한 곳에서 활용이 가능하기 때문에
데이터 테이블 및 인터페이스화시켰습니다.
public interface IUIInputProgressPresenter : IUIPresenter
{
public void SetFollowTransform(Transform transform);
public void SetPosition(Vector2 screenPosition);
public void OnProgress(float normalizedValue);
public void OnComplete();
public void OnFail();
}
Progress 전용 UI Presenter도 만들었습니다.

QTE 관련 로직 및 UI도 위와 거의 동일합니다.
조금 피곤해서 설명이 상당히 빈약하지만 암튼 나름 조금 고생했읍니다,,,,,


암튼 데이터들을 테이블화 시키고 인터페이스로 로직도 나누니 이후 활용이 훨씬 편해질 것 같아 기분이 좋네요.
다음에 할거:
당장 사용할 생각은 아니다만 상호작용 장애물(DynamicObstacle) 구현해놓기
'무제_LR' 카테고리의 다른 글
| 게임 최초 컷씬, 스테이지 데이터 ChatCardEvent 추가 (0) | 2026.01.10 |
|---|---|
| Signal Trigger, AutoMover 추가 (0) | 2026.01.08 |
| ChatCard(가제) 추가, Runtime Pivot 수정 주의점 (0) | 2026.01.04 |
| Effect Prefab 생성 - Pooling (0) | 2026.01.02 |
| 씬 언로드, 로딩 UI 추가 (0) | 2025.12.31 |