UIItem_EquipItem Get_EquipWeaponItem()
    {
        User _user       = UserDataManager.instance.user;
        uint userItemIdx = 0;

        userItemIdx = _user.User_Units[nowSelectUnitIdx].MainWpnIdx;

        if (userItemIdx == 0)
        {
            userItemIdx = 20100;
        }

        UIItem_EquipItem equipWpn = null;

        for (int i = 0; i < Lst_mainWeaponItems.Count; i++)
        {
            if (userItemIdx == Lst_mainWeaponItems[i].ItemIdx)
            {
                equipWpn = Lst_mainWeaponItems[i];
                break;
            }
        }

        return(equipWpn);
    }
    //아이템 상태 설정하기 (소유중,착용중,선택함 등등)
    void Set_WeaponItemState(UIItem_EquipItem targetSelectItem)
    {
        for (int i = 0; i < Lst_mainWeaponItems.Count; i++)
        {
            //아이템 백이미지 처리
            if (Lst_mainWeaponItems[i].ItemIdx != targetSelectItem.ItemIdx)
            {
                Lst_mainWeaponItems[i].ButtonState = ButtonState_Type.Normal;
            }
            else
            {
                Lst_mainWeaponItems[i].ButtonState = ButtonState_Type.Selected;
            }


            //소유햇는지 체크
            if (user.User_Weapons.ContainsKey(Lst_mainWeaponItems[i].ItemIdx))
            {
                Lst_mainWeaponItems[i].IsHave = true;
            }
            else
            {
                Lst_mainWeaponItems[i].IsHave = false;
            }


            if (user.User_Units.ContainsKey(nowSelectUnitIdx))
            {
                //장착해는지 체크
                if (user.User_Units[nowSelectUnitIdx].MainWpnIdx == Lst_mainWeaponItems[i].ItemIdx)
                {
                    Lst_mainWeaponItems[i].IsEquip = true;
                }
                else
                {
                    Lst_mainWeaponItems[i].IsEquip = false;
                }
            }


            //소유중인 유닛이 무기 장착 체크 (AK 기본무기는 항상 false)
            if (user.GetEquipMainWpnIdxsOfHaveUnits(nowSelectUnitIdx).Contains(Lst_mainWeaponItems[i].ItemIdx))
            {
                Lst_mainWeaponItems[i].IsEquipedOtherUnit = true;

                if (Lst_mainWeaponItems[i].ItemIdx == 20100)
                {
                    Lst_mainWeaponItems[i].IsEquipedOtherUnit = false;
                }
            }
            else
            {
                Lst_mainWeaponItems[i].IsEquipedOtherUnit = false;
            }
        }
    }
    //아아템생성
    IEnumerator Creat_WeaponEquipItem()
    {
        Loadmanager.instance.LoadingUI(true);
        yield return(StartCoroutine(routine_CreatItem()));

        //현재 착용한 무기
        Selected_Item = Get_EquipWeaponItem();
        Process_EquipItemInfo(Selected_Item);
        Loadmanager.instance.LoadingUI(false);
    }
    void Sign_CreateItem(uint Itemidx, int partIdx, int sortIdx)
    {
        //생성
        UIItem_EquipItem item = UI_Manager.Getsingleton.CreatUI(
            UIITEM.ITEM_EQUIPITEM, weaponLstTr) as UIItem_EquipItem;

        item.Set_ItemInfo(Itemidx, partIdx, sortIdx);

        //리스트할당
        Lst_mainWeaponItems.Add(item);
    }
    void Process_EquipItemInfo(UIItem_EquipItem targetSelectItem)
    {
        //무기아이템 생성및 삭제 관련 체크
        Chk_WeaponItem_Created();


        //아이템 상태 설정하기
        Set_WeaponItemState(targetSelectItem);

        //무기 정보 설정
        Set_WeaponInfomation(targetSelectItem);
    }
 //무기 정보 관련
 void Set_TapWeaponInfomation()
 {
     if (Lst_mainWeaponItems != null)
     {
         if (Lst_mainWeaponItems.Count <= 0)
         {
             StartCoroutine(Creat_WeaponEquipItem());
         }
         else
         {
             //현재 착용한 무기
             Selected_Item = Get_EquipWeaponItem();
             Process_EquipItemInfo(Selected_Item);
         }
     }
 }
    //선택한 아이템 처리
    public void Doprocess_SelectedEquipItem(UIItem_EquipItem nowSelectItem)
    {
        Selected_Item = nowSelectItem;
        //아이템 상태 설정하기 (소유중,착용중,선택함 등등)
        Process_EquipItemInfo(nowSelectItem);



        //장비 착용 적용하기
        Apply_EquipItem();


        //더블클릭 해서 장착하기 => 더블클릭 && 소유중 &&  비장착중이면
        if (Selected_Item.isDoubleClick && !Selected_Item.IsEquip && Selected_Item.IsHave)
        {
            ResponseButton_Equip(0);
        }

        //더블클릭 &&  장착해제버튼이라면 장착해제
        if (Selected_Item.isUnEquipBtn && Selected_Item.isDoubleClick)
        {
            ResponseButton_Equip(1);
        }
    }
    //해당 무기 정보 설정
    void Set_WeaponInfomation(UIItem_EquipItem targetSelectItem)
    {
        if (targetSelectItem != null)
        {
            //아이템 이름
            Text_WeaponName.text = Dic_weaponInfos[targetSelectItem.ItemIdx].WpnName;

            //무기 타입이미지
            Image_WpnType.sprite = ImageManager.instance.Get_Sprite(string.Format("{0}{1}", DefineKey.WpnType, (int)Dic_weaponInfos[Selected_Item.ItemIdx].WpnType));


            //최대치
            float AttValueMax         = 100f;
            float CriticalValueMax    = 20f;
            float AccuracyValueMax    = 300f;
            float RecoilValueMax      = 100f;
            float RateofFireValueMax  = 600f;
            float ReloadSpeedValueMax = 10f;
            float MagazineValueMax    = 100f;
            float ZoomValueMax        = 10f;



            float initAttMin  = (float)Dic_weaponInfos[targetSelectItem.ItemIdx].AtkMin;
            float initAttMax  = (float)Dic_weaponInfos[targetSelectItem.ItemIdx].AtkMax;
            float initCri     = Dic_weaponInfos[targetSelectItem.ItemIdx].Critical;
            int   acurracy    = Dic_weaponInfos[targetSelectItem.ItemIdx].AimInit;
            int   recoil      = Dic_weaponInfos[targetSelectItem.ItemIdx].AimCtrl;
            int   rateOfFire  = Dic_weaponInfos[targetSelectItem.ItemIdx].AtkSpeed;
            int   reloadSpeed = Dic_weaponInfos[targetSelectItem.ItemIdx].GunReload;


            if (targetSelectItem.IsHave)
            {
                int reflv = user.User_Weapons[targetSelectItem.ItemIdx].RefLv;

                //공격력
                float att = StaticMethod.Get_nextSpec(initAttMax, reflv, true);
                Text_Power.text = att.ToString();
                Lst_graphPower[(int)RefFillImageType.Init].fillAmount     = initAttMax / AttValueMax;
                Lst_graphPower[(int)RefFillImageType.Upgraded].fillAmount = att / AttValueMax;


                //크리
                float cri = StaticMethod.Get_nextSpec(initCri, reflv, false);
                Text_Cri.text = cri.ToString();
                Lst_graphPower[(int)RefFillImageType.Init].fillAmount     = initCri / CriticalValueMax;
                Lst_graphPower[(int)RefFillImageType.Upgraded].fillAmount = cri / CriticalValueMax;

                //lv
                if (user.User_Weapons.ContainsKey(targetSelectItem.ItemIdx))
                {
                    int lv = user.User_Weapons[targetSelectItem.ItemIdx].RefLv;
                    Text_WpnRefLv.text = string.Format("Lv.{0}", lv);

                    if (lv >= 15)
                    {
                        Text_WpnUpgrade.text = TextDataManager.Dic_TranslateText[410]; //MAX
                    }
                    else
                    {
                        Text_WpnUpgrade.text = TextDataManager.Dic_TranslateText[413]; // 강화
                    }
                }
            }
            else
            {
                //공격력
                float att = initAttMax;
                Text_Power.text = att.ToString();
                Lst_graphPower[(int)RefFillImageType.Init].fillAmount     = initAttMax / AttValueMax;
                Lst_graphPower[(int)RefFillImageType.Upgraded].fillAmount = 0 / AttValueMax;


                //크리
                float cri = initCri;
                Text_Cri.text = cri.ToString();
                Lst_graphPower[(int)RefFillImageType.Init].fillAmount     = initCri / CriticalValueMax;
                Lst_graphPower[(int)RefFillImageType.Upgraded].fillAmount = 0 / CriticalValueMax;

                //lv
                Text_WpnRefLv.text = string.Format("Lv.{0}", 1);

                //가격
                string price = Dic_weaponInfos[targetSelectItem.ItemIdx].SellItNum.ToString();

                //제화타입
                string buyItemType = string.Empty;
                if (Dic_weaponInfos[targetSelectItem.ItemIdx].SellItTp == ITEMTYPE.GEM)
                {
                    buyItemType = DefineKey.Gem;
                }
                else if (Dic_weaponInfos[targetSelectItem.ItemIdx].SellItTp == ITEMTYPE.GOLD)
                {
                    buyItemType = DefineKey.Gold;
                }

                Text_WpnBuyPrice.text   = price;
                Image_WpnBuyType.sprite = ImageManager.instance.Get_Sprite(buyItemType);
            }

            //정확도
            Text_Accuracy.text             = acurracy.ToString();
            Image_graphAccuracy.fillAmount = (float)acurracy / AccuracyValueMax;
            //반동제어
            Text_Recoil.text             = recoil.ToString();
            Image_graphRecoil.fillAmount = (float)recoil / RecoilValueMax;
            //발사속도
            Text_RateofFire.text             = rateOfFire.ToString();
            Image_graphRateOfFire.fillAmount = (float)rateOfFire / RateofFireValueMax;
            //장전속도
            Text_ReloadSpeeding.text          = ((600f / (float)reloadSpeed)).ToString("N1");
            Image_graphReloadSpeed.fillAmount = (600f / (float)reloadSpeed) / ReloadSpeedValueMax;
            //탄창수
            Text_Magazine.text             = Dic_weaponInfos[targetSelectItem.ItemIdx].Magazine.ToString();
            Image_graphMagazine.fillAmount = (float)Dic_weaponInfos[targetSelectItem.ItemIdx].Magazine / MagazineValueMax;
            //줌스케일
            Text_Zoom.text             = string.Format("x{0}", Dic_weaponInfos[Selected_Item.ItemIdx].ZoomScale);
            Image_graphZoom.fillAmount = (float)Dic_weaponInfos[targetSelectItem.ItemIdx].ZoomScale / ZoomValueMax;



            //버튼들 처리
            bool upgradeBtnActive = Selected_Item.ItemIdx == 20100 ? false : targetSelectItem.IsHave;
            UpgradeBtnObj.SetActive(upgradeBtnActive);
            bool buyBtnActive = Selected_Item.ItemIdx == 20100 ? false : !targetSelectItem.IsHave;
            BuyWeapnBtnObj.SetActive(buyBtnActive);
            EquipBtnObj.SetActive(targetSelectItem.IsHave);
            DisableEquipObj.SetActive(targetSelectItem.IsHave && targetSelectItem.IsEquip);
        }
    }