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);
        }
    }
    // Update is called once per frame
    void Update()
    {
        // _errorText.text = "x- " + Camera.main.transform.position.x + ",\n" + "y- " + Camera.main.transform.position.y + ",\n" + "z- " + Camera.main.transform.position.z;

        if (Input.touchCount == 1 && _userState == SystemState.kNone)
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            if (Input.GetTouch(0).phase == TouchPhase.Began)
            {
                if (Physics.Raycast(ray, out hit))
                {
                    ShipObjectScript sc = hit.transform.gameObject.GetComponent <ShipObjectScript>();
                    OpenShipInfoViewAction(sc._userKey, sc.GetShipData(), sc._distance);
                    //sc._shipSc._userKey
                    //sc._shipSc._shipData
                }
            }
        }
    }