diff --git a/Assets/Scripts/Studio/Connect/StudioService.cs b/Assets/Scripts/Studio/Connect/StudioService.cs index e219fe16..58e9e768 100644 --- a/Assets/Scripts/Studio/Connect/StudioService.cs +++ b/Assets/Scripts/Studio/Connect/StudioService.cs @@ -4,9 +4,6 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; -using Studio; -using Studio.Core; -using Studio.Conifg; namespace Studio { @@ -22,17 +19,16 @@ namespace Studio } } - public class StudioService : UnitySingleton + public class StudioService { + #region Singleton + private static readonly StudioService Instance = new StudioService(new StudioRepoistory()); + public static StudioService Instance => instance; + static StudioService() { } + #endregion + private Dictionary>> listenerIdMap; private StudioRepoistory repository; - public bool isConnected - { - get - { - return repository.isConnected; - } - } private Dictionary updateTime = new(); private int totalRequestPacket; private int totalResponsePacket; @@ -46,29 +42,11 @@ namespace Studio private string maxResponseTimeApi; public Dictionary> apiData = new(); - public Dictionary>, TimeSpan)> mqttData = new(); - private Dictionary lastUpdateTime = new(); public event Action> onAPIDataLoaded; public event Action>, TimeSpan> onMQTTDataLoaded; - bool isMQTTConnected; - - private void Awake() - { - this.repository = new StudioRepoistory(); - listenerIdMap = new Dictionary>>(); - - repository.OnTopicList += OnTopicList; - - Constants.MQTTDomain = "220.90.135.190"; - Constants.APIDomain = "220.90.135.190"; - Constants.APIPort = 23000; - Constants.MQTTPort = 8088; - ConnectMQTT(); - } - //private string private StudioService(StudioRepoistory repository) { @@ -80,12 +58,7 @@ namespace Studio } public void ConnectMQTT() { - if (isMQTTConnected) - return; - repository.MQTTConnect(); - repository.isMQTTConnected = true; - isMQTTConnected = true; } public void SubscribeMQTT(string topic) @@ -116,15 +89,6 @@ namespace Studio UpdateTopicData(type, idKey.Key, idKey.Value); } - if (!mqttData.ContainsKey(type)) - { - mqttData.Add(type, (entities, elapsedTime)); - } - else - { - mqttData[type] = (entities, elapsedTime); - } - onMQTTDataLoaded?.Invoke(type, entities, elapsedTime); // 나중에 클래스 밖으로 이동 필요 } @@ -210,7 +174,7 @@ namespace Studio Debug.Log($"APIState : Error , Message :{data.Message}"); } - onAPIDataLoaded?.Invoke(url, data); // 나중에 클래스 밖으로 이동 필요 + onAPIDataLoaded?.Invoke(url, data); // 나중에 클래스 밖으로 이동 필요 } private void CheckAPIBoarder(string data, int reqSize, string url, long time) diff --git a/Assets/Scripts/Studio/UI/Elements/UI_APIConnection.cs b/Assets/Scripts/Studio/UI/Elements/UI_APIConnection.cs index c9b9a3d6..49bf013a 100644 --- a/Assets/Scripts/Studio/UI/Elements/UI_APIConnection.cs +++ b/Assets/Scripts/Studio/UI/Elements/UI_APIConnection.cs @@ -59,7 +59,7 @@ namespace Studio foreach (UI_InputURLItem item in inputURLItems) { string url = "/api/" + item.InputField_URL.text; - await StudioService.instance.LoadBaseData(url); + await StudioService.Instance.LoadBaseData(url); panel_DataRepository = FindAnyObjectByType(FindObjectsInactive.Include); panel_DataRepository.apiConnected = true; diff --git a/Assets/Scripts/Studio/UI/Elements/UI_MQTTConnection.cs b/Assets/Scripts/Studio/UI/Elements/UI_MQTTConnection.cs index 6efc6d11..54aa5c3c 100644 --- a/Assets/Scripts/Studio/UI/Elements/UI_MQTTConnection.cs +++ b/Assets/Scripts/Studio/UI/Elements/UI_MQTTConnection.cs @@ -55,7 +55,7 @@ namespace Studio foreach (UI_InputTopicItem item in inputTopicItems) { - StudioService.instance.SubscribeMQTT(item.InputField_Topic.text); + StudioService.Instance.SubscribeMQTT(item.InputField_Topic.text); panel_DataRepository = FindAnyObjectByType(FindObjectsInactive.Include); panel_DataRepository.mqttConnected = true; diff --git a/Assets/TMPFolder/Panel_DataRepository.cs b/Assets/TMPFolder/Panel_DataRepository.cs index 1291710a..0c615252 100644 --- a/Assets/TMPFolder/Panel_DataRepository.cs +++ b/Assets/TMPFolder/Panel_DataRepository.cs @@ -82,7 +82,7 @@ namespace Studio */ if (apiConnected) { - StudioService studioService = StudioService.instance; + StudioService studioService = StudioService.Instance; studioService.onAPIDataLoaded += UpdateAPIDataButton; @@ -94,7 +94,7 @@ namespace Studio if (mqttConnected) { - StudioService studioService = StudioService.instance; + StudioService studioService = StudioService.Instance; studioService.onMQTTDataLoaded += UpdateMQTTDataButton; @@ -159,7 +159,7 @@ namespace Studio public void ShowInformation_API() { - APITotalBoardEntity info = StudioService.instance.GetAPIStatusBoarder(); + APITotalBoardEntity info = StudioService.Instance.GetAPIStatusBoarder(); TotalRequestPacketSize.text = info.TotalRequestPacketSize.ToString(); AverageRequestPacketSize.text = info.AverageRequestPacketSize.ToString(); diff --git a/Assets/TMPFolder/RJHTest.cs b/Assets/TMPFolder/RJHTest.cs index 123c87ab..97e73f0e 100644 --- a/Assets/TMPFolder/RJHTest.cs +++ b/Assets/TMPFolder/RJHTest.cs @@ -16,14 +16,14 @@ namespace Studio Constants.APIDomain = "220.90.135.190"; Constants.APIPort = 23000; Constants.MQTTPort = 8088; - StudioService.instance.ConnectMQTT(); + StudioService.Instance.ConnectMQTT(); } private async void Test() { await AuthService.Instance.Login("xr", "@dbqlTl1"); - await StudioService.instance.LoadBaseData("/api/agv"); + await StudioService.Instance.LoadBaseData("/api/agv"); Debug.Log(AuthService.Instance.Entiti.accessToken); } private void Update() @@ -34,12 +34,12 @@ namespace Studio } if (Input.GetKeyDown(KeyCode.I)) { - StudioService.instance.SubscribeMQTT("STOCKER_CRANE"); + StudioService.Instance.SubscribeMQTT("STOCKER_CRANE"); } if(Input.GetKeyDown(KeyCode.U)) { - StudioService.instance.SubscribeMQTT("AGV"); + StudioService.Instance.SubscribeMQTT("AGV"); } if(Input.GetKeyDown(KeyCode.T)) { diff --git a/Assets/TMPFolder/UILinkedList.cs b/Assets/TMPFolder/UILinkedList.cs index 56196e98..22f16d2c 100644 --- a/Assets/TMPFolder/UILinkedList.cs +++ b/Assets/TMPFolder/UILinkedList.cs @@ -26,7 +26,7 @@ namespace Studio private void SetItem() { var apiItem = CreateAccordion(); - var basedatas = StudioService.instance.apiData; + var basedatas = StudioService.Instance.apiData; foreach(var data in basedatas) { CreateTabButton(data.Key, apiItem.BarList);