private void Update() { if (player != null) { if (player.pv.IsMine) { if (player.isPlay) { float scroll = Input.GetAxis("Mouse ScrollWheel"); if (scroll != 0) { if (scroll < 0) { if (selectedIndex >= Selected.Length - 1) { selectedIndex = 0; } else { selectedIndex++; } player.ChangeWeaponSound(); for (int i = 0; i < Selected.Length; i++) //현재 인텍스에만 선택창 달아줌 { if (i == selectedIndex) { Selected[i].SetActive(true); } else { Selected[i].SetActive(false); } } check(selectedIndex, false); } else { if (selectedIndex <= 0) { selectedIndex = Selected.Length - 1; } else { selectedIndex--; } player.ChangeWeaponSound(); for (int i = 0; i < Selected.Length; i++) //현재 인텍스에만 선택창 달아줌 { if (i == selectedIndex) { Selected[i].SetActive(true); } else { Selected[i].SetActive(false); } } check(selectedIndex, false); } } //스크롤 템전환 } for (int i = 0; i < ItemList.Length; i++) //아이템이미지가 존재한다면 매 프레임마다 박스에 이미지 갱신 { if (ItemList[i].ItemSprite != null) { ItemBoxes[i].sprite = ItemList[i].ItemSprite; } else { ItemBoxes[i].sprite = NullSprite; } } if (Input.GetKeyDown((KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("COMBINE")))) //우클릭으로 템조합하기 { invent.OpenIfCan(ItemList[selectedIndex]); } if (player.canMove) //움직일 수 있는 상태에서만 입력 가능 { if (Input.GetKeyDown((KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("USE")))) //아이템 사용 { if (ItemList[selectedIndex].type == itemType.Usable) { if (usable.UseItem(ItemList[selectedIndex].index)) { slots[selectedIndex].itemCount--; if (slots[selectedIndex].itemCount <= 0) { ItemList[selectedIndex].Clear(); } } else { if (pc.isKor()) { PopUpManager.instance.PopUp("회복아이템은 " + usable.getCool() + "초 후 재사용 가능", Color.cyan); } else { PopUpManager.instance.PopUp("Can use food " + usable.getCool() + "sec after", Color.cyan); } } } } if (Input.GetMouseButtonDown(1)) //스페이스바로 줍기 { Collider2D[] items = Physics2D.OverlapCircleAll(transform.position, itemRadious, itemLayer); try { if (items[0] != null) { items.OrderBy(c => c.transform.position - transform.position); Collider2D item = items[0]; Item it = item.GetComponent <Item>(); bool canGo = false; if (it.isShopTem) { int price = it.price; if (player.PlayerIndex == 8) { price = price / 2; } if (player.leftBullet.GetedBulletCount() >= price) { canGo = true; player.leftBullet.GetBulletMinus(price); player.purchaseSound(); } else { if (pc.isKor()) { PopUpManager.instance.PopUp("총알이 부족합니다!", Color.red); } else { PopUpManager.instance.PopUp("Lack of Bullet!", Color.red); } } } else { canGo = true; } if (canGo) { bool isGet = false; if (it.item.type == itemType.Usable || it.item.type == itemType.Item) //소비템이면 { bool isHaveUsable = false; for (int i = 0; i < ItemList.Length; i++) { if (ItemList[i].ItemName == it.item.ItemName) //이름이 같은 소비템이면 { isHaveUsable = true; isGet = true; slots[i].itemCount++; check(i, false); if (!it.isShopTem) { temMgr.delTem(it.Index); Destroy(item.gameObject); } else { it.Del(); } break; } } if (!isHaveUsable) //소비템이 없으면 { for (int i = 0; i < ItemList.Length; i++) { if (ItemList[i].ItemName == "") //빈곳에 템넣어줌 { isGet = true; ItemList[i] = it.item; slots[i].itemCount++; check(i, true); if (!it.isShopTem) { temMgr.delTem(it.Index); Destroy(item.gameObject); } else { it.Del(); } break; } } } } else//소비템이 아니면 { for (int i = 0; i < ItemList.Length; i++) { if (ItemList[i].ItemName == "") //빈곳에 템넣어줌 { isGet = true; ItemList[i] = it.item; if (it.item.type == itemType.Passive) //패시브템이면 { player.PassiveOn(it.item.index); //패시브 ON } check(i, true); if (!it.isShopTem) { temMgr.delTem(it.Index); Destroy(item.gameObject); } else { it.Del(); } break; } } } if (!isGet) { if (pc.isKor()) { PopUpManager.instance.PopUp("더 이상 주울 수 없습니다!", Color.red); } else { PopUpManager.instance.PopUp("Can't pick up item any more!'", Color.red); } } else { player.GetSound(); } } } } catch (Exception e) { } } if (player.isPlay) { //1부터 6으로 아이템 선택 가능 if (Input.GetKeyDown(KeyCode.Alpha1) || Input.GetKeyDown(KeyCode.Alpha2) || Input.GetKeyDown(KeyCode.Alpha3) || Input.GetKeyDown(KeyCode.Alpha4) || Input.GetKeyDown(KeyCode.Alpha5) || Input.GetKeyDown(KeyCode.Alpha6) || Input.GetKeyDown(KeyCode.Alpha7) || Input.GetKeyDown(KeyCode.Alpha8) || Input.GetKeyDown(KeyCode.Alpha9)) { int contactIndex = 0; if (Input.GetKeyDown(KeyCode.Alpha1)) //1 { contactIndex = 0; } else if (Input.GetKeyDown(KeyCode.Alpha2)) //2 { contactIndex = 1; } else if (Input.GetKeyDown(KeyCode.Alpha3)) //3 { contactIndex = 2; } else if (Input.GetKeyDown(KeyCode.Alpha4)) //4 { contactIndex = 3; } else if (Input.GetKeyDown(KeyCode.Alpha5)) //5 { contactIndex = 4; } else if (Input.GetKeyDown(KeyCode.Alpha6)) //6 { contactIndex = 5; } else if (Input.GetKeyDown(KeyCode.Alpha7)) //7 { contactIndex = 6; } else if (Input.GetKeyDown(KeyCode.Alpha8)) //8 { contactIndex = 7; } else if (Input.GetKeyDown(KeyCode.Alpha9)) //9 { if (player.PlayerIndex == 3) { contactIndex = 8; } } if (contactIndex != selectedIndex) { player.ChangeWeaponSound(); selectedIndex = contactIndex; for (int i = 0; i < Selected.Length; i++) //현재 인텍스에만 선택창 달아줌 { if (i == selectedIndex) { Selected[i].SetActive(true); } else { Selected[i].SetActive(false); } } check(selectedIndex, false); } } } if (Input.GetKeyDown((KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("DROP"))) && player.isPlay) //템 버리기 { DiscardItem(false); } } if (player.isPlay) { canTem(); } } } else { Player[] players = FindObjectsOfType <Player>(); foreach (Player p in players) { if (p.pv.IsMine) { player = p; break; } } } }