UIToolkit 기본 UI 개발 중

This commit is contained in:
logonkhi
2026-01-08 20:15:57 +09:00
parent ef4e86820c
commit 71831dd4c3
319 changed files with 28283 additions and 761 deletions

View File

@@ -0,0 +1,132 @@
# Simulator 모듈 가이드
Simulator는 Factory 모듈의 **시뮬레이션 전용 버전**입니다. 실시간 MQTT 데이터 없이 로컬에서 설비 동작을 테스트하고 시뮬레이션합니다.
---
## 모듈 구조
```
Simulator/
├── SimulatorAppMain.cs # 앱 진입점
├── SimulatorSceneMain.cs # 씬 초기화
├── Config/
│ ├── AppConfig.cs # 설정 로드
│ └── Constants.cs # 상수 정의
└── LNB/
├── SimulatorLNB.cs # Left Navigation Bar
├── LNBExplorer.cs # 탐색기 뷰
└── LNBLibrary.cs # 라이브러리 뷰
```
---
## SimulatorAppMain
```csharp
namespace Simulator
{
[DefaultExecutionOrder(100)]
public class SimulatorAppMain : SingletonApp<SimulatorAppMain>
{
public Action Initialized;
protected override async void Init()
{
// 로깅 설정
Log4netCodeConfigurator.Setup();
// 설정 로드
await SettupConfigAsync();
// 네트워크 설정 (MQTT 토픽은 주석 처리됨)
SetNetworkConfig();
Initialized?.Invoke();
}
}
}
```
---
## Factory와의 차이점
| 항목 | Factory | Simulator |
|------|---------|-----------|
| **MQTT 구독** | AGV, ALARM, PORT 토픽 활성화 | 토픽 구독 비활성화 |
| **데이터 소스** | 실시간 MQTT | 로컬 시뮬레이션 데이터 |
| **용도** | 프로덕션 시각화 | 개발/테스트 |
| **Playback** | 서버 데이터 재생 | 로컬 데이터 재생 |
---
## 설정
Factory와 동일한 `FactoryAppConfig`를 공유합니다:
```csharp
private async UniTask SettupConfigAsync()
{
if (FactoryAppConfig.LoadConfig())
{
Application.targetFrameRate = FactoryAppConfig.Config.TargetFrameRate;
LocalizationManager.Instance.LoadDefaultLocalizationData(FactoryAppConfig.Config.Language);
// ...
}
}
```
---
## 네트워크 설정
```csharp
private void SetNetworkConfig()
{
// URL 등록
URLList.Add("baseinfo", $"{FactoryConstants.API_DOMAIN}/baseinfo");
URLList.Add("playbackList", $"{FactoryConstants.API_DOMAIN}/playback/list");
URLList.Add("playbackFile", $"{FactoryConstants.API_DOMAIN}/playback");
// MQTT 설정만 하고 토픽은 구독하지 않음
DataRepository.Instance.MqttReceiver.SetDataPicker(...);
DataRepository.Instance.MqttReceiver.SetDomainPort(...);
// 주석 처리된 토픽 구독
// DataRepository.Instance.MqttReceiver.AddTopic("AGV");
// DataRepository.Instance.MqttReceiver.AddTopic("ALARM");
}
```
---
## LNB (Left Navigation Bar)
### SimulatorLNB
시뮬레이터 전용 좌측 네비게이션 바입니다.
### LNBExplorer
파일 시스템 탐색기 뷰를 제공합니다.
### LNBLibrary
사전 정의된 설비 라이브러리를 제공합니다.
---
## 사용 시나리오
1. **설비 배치 테스트**: 3D 공간에 설비 배치 및 레이아웃 확인
2. **애니메이션 테스트**: AGV 이동 경로, 알람 UI 동작 확인
3. **UI 개발**: InfoWindow, Modal 등 UI 컴포넌트 테스트
4. **Playback 테스트**: 과거 데이터 재생 기능 검증
---
## 의존성
- **Factory 모듈**: Config, Constants 공유
- **UVC 라이브러리**: Core, Data, Locale, Util, Log

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ced865fb7098cfa44982436dcc76e534
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: