public void HttpAisResultDelegate(bool isError, Dictionary <string, ShipData> datas, string errorMsg) { if (isError) { _errorText.text = errorMsg; _alertAnimator.SetTrigger("SetAlertAction"); return; } _errorText.text = ""; lock (_lockObj) { //삭제 List <string> newRemoveKeys = new List <string>(); foreach (string userID_a in _shipObjs.Keys) { foreach (string userID_b in datas.Keys) { if (userID_a.Equals(userID_b)) { //있으면 일루 들어와짐. 삭제 예정해주고, 통신시간 틀리면 데이터 정보만 바꿔주는걸로. newRemoveKeys.Add(userID_a); ShipObjectScript shipSC = _shipObjs[userID_a].GetComponent <ShipObjectScript>(); if (!shipSC.GetShipData().regDate.Equals(datas[userID_b].regDate)) { shipSC.SetChangeMoveCoroutineAction(datas[userID_b]); //이동 정보 수정해주고. } break; } } } foreach (string str in newRemoveKeys) { datas.Remove(str); } //추가 foreach (string userID in datas.Keys) { AddShipObject(userID, datas[userID]); } } if (_loadingView.activeSelf) { _loadingView.SetActive(false); _data5GView.SetActive(true); } }