Files
AZTECH_WB/Assets/Scripts/Core/AZTECHAppMain.cs
정영민 986886a260 [정영민] 아즈텍 프로젝트 OCTOPUS TWIN 템플릿 적용
26.02.26
- XRLib 추가 및 적용
- 아즈텍 프로젝트 OCTOPUS TWIN 템플릿 적용
2026-02-26 17:26:55 +09:00

78 lines
2.8 KiB
C#

using AZTECHWB.UI;
using Cysharp.Threading.Tasks;
using System;
using UnityEngine;
using UVC.Core;
using UVC.Data;
using UVC.Data.Mqtt;
using UVC.Locale;
using UVC.Util;
namespace AZTECHWB.Core
{
[DefaultExecutionOrder(100)]
public class AZTECHAppMain : SingletonApp<AZTECHAppMain>
{
public OrbitalController cameraController;
public PriorityCanvas priorityCanvas;
public Action Initialized;
/// <summary>
/// 초기 화 메서드입니다.
/// Awake 메서드에서 호출되며, MonoBehaviour가 생성될 때 한 번만 실행됩니다.
/// </summary>
protected override async void Init()
{
// 플레이 모드가 아닐 경우, 초기화 로직을 실행하지 않습니다.
if (!Application.isPlaying) return;
//SetNetworkConfig();
cameraController = FindAnyObjectByType<OrbitalController>();
priorityCanvas = FindAnyObjectByType<PriorityCanvas>();
await priorityCanvas.Init();
Initialized += LoadingPanel;
if (Initialized != null)
{
Initialized.Invoke();
}
await UniTask.CompletedTask;
}
async void LoadingPanel()
{
await priorityCanvas.GetPanel<LoadingPanel>().StartLoadingRoutine();
priorityCanvas.GetPanel<LoginPanel>().Open();
}
private void SetNetworkConfig()
{
//URLList.Add("baseinfo", $"{FactoryConstants.API_DOMAIN}/baseinfo");
//URLList.Add("playbackList", $"{FactoryConstants.API_DOMAIN}/playback/list");
//URLList.Add("playbackFile", $"{FactoryConstants.API_DOMAIN}/playback");
//bool useWebSocket = false;
//DataRepository.Instance.MqttReceiver.SetDomainPort("mqtt-input.flexing.ai", 3000);//VTM 외부망
//DataRepository.Instance.MqttReceiver.SetDomainPort("localhost", 1883);
//DataRepository.Instance.MqttReceiver.SetDataPicker(new MqttDataPicker(FactoryConstants.MQTT_DATA_KEY, FactoryConstants.MQTT_MESSAGEPACK_ENABLED));
//DataRepository.Instance.MqttReceiver.SetDomainPort(FactoryConstants.MQTT_DOMAIN, FactoryConstants.MQTT_PORT);
//DataRepository.Instance.MqttReceiver.SetUseWebSocket(useWebSocket);
//DataRepository.Instance.MqttReceiver.AddTopic("AGV");
//DataRepository.Instance.MqttReceiver.AddTopic("ALARM");
//DataRepository.Instance.MqttReceiver.AddTopic("PORT");
//DataRepository.Instance.MqttReceiver.AddTopic("AGV_RECIPE");
//10초 후 정지
//UniTask.Delay(TimeSpan.FromSeconds(10)).ContinueWith(() =>
//{
// DataRepository.Instance.MqttReceiver.Exit();
//});
}
}
}