public void CheckShowTooltip() { MouseDetector detector = new MouseDetector(); // 현재 커서가 상단 패널에 있는지 하단 패널에 있는지 확인. int mode = -1; detector.TargetChange(viewPanel.transform); if (detector.Trigger()) { mode = 0; } detector.TargetChange(selectedViewPanel.transform); if (detector.Trigger()) { mode = 1; } if (mode == -1) { CloseTooltip(); return; } // mode 가 -1인 경우 엉뚱한 곳이 클릭되었다는 뜻이므로 탈출. if (mode == 0) { // 상단 패널 안인 경우. for (int i = 0; i < shopItemList.Count; i++) { detector.TargetChange(itemViewList[i].transform); if (detector.Trigger()) { if (shopItemList[i].count != 0) { showTooltip(detector.GetMousePos(), shopItemList[i].itemCode); } return; } } } if (mode == 1) { // 하단 패널 안인 경우. for (int i = 0; i < tradeDataList.Count; i++) { detector.TargetChange(selectedViewList[i].transform); if (detector.Trigger()) { showTooltip(detector.GetMousePos(), tradeDataList[i].itemCode); return; } } } }
public void CheckHoveringOnBox() { MouseDetector detector = new MouseDetector(); int findChecker = 0; foreach (GameObject box in itemBoxList) { // 타겟 설정. detector.TargetChange(box.transform); // 현재 마우스가 타겟 위에 있는지 확인. 있다면 현재 커서 위치에 툴팁 생성 if (detector.Trigger()) { showTooltip(detector.GetMousePos(), itemBoxCodenameList[findChecker]); break; } else { findChecker += 1; } } if (findChecker == itemBoxList.Count) { closeTooltip(); } }
public void OnRightClick(Message message) { MouseDetector detector = new MouseDetector(); Vector2 pos = detector.GetMousePos(); if (mode == 0) { buyTrade.CheckShowTooltip(); } else if (mode == 1) { sellTrade.CheckShowTooltip(); } Sync(); }
public void CheckHoveringOnBox() { MouseDetector detector = new MouseDetector(); // 클릭 확인. for (int i = 0; i < INVENTORY_CAPACITY; i++) { GameObject box; string itemCode; // mode 에 따라 box 할당. if (mode == 0 && equipmentInventories[i].isSetItem == true) { box = equipmentInventories[i].box; itemCode = equipmentInventories[i].itemCode; } else if (mode == 1 && comsumableInventories[i].isSetItem == true) { box = comsumableInventories[i].box; itemCode = comsumableInventories[i].itemCode; } else if (mode == 2 && etcInventories[i].isSetItem == true) { box = etcInventories[i].box; itemCode = etcInventories[i].itemCode; } else { continue; } // 타겟 설정. detector.TargetChange(box.transform); // 현재 마우스가 타겟 위에 있는지 확인. 있다면 현재 커서 위치에 툴팁 생성 if (detector.Trigger()) { showTooltip(detector.GetMousePos(), itemCode); return; } } // 일치하는 케이스가 없다면 툴팁 닫기. CloseTooltip(); }
public void OnLeftDoubleClick(Message message) { MouseDetector detector = new MouseDetector(); Vector2 nowPos = detector.GetMousePos(); if (posBuffer == nowPos) { if (mode == 0) { buyTrade.SelectItem(); } else if (mode == 1) { sellTrade.SelectItem(); } } else { posBuffer = nowPos; } Sync(); }