void Update() { ReplayMgr rm = ReplayMgr.GetInstance(); if (isPlaying && rm.isReplay() && nextPlayTime > 0 && nextPlayTime < Time.time) { float next = rm.takeAction(false); if (next == 0) { nextPlayTime = 0; return; } nextPlayTime = Time.time + next; updateProgress(); } if (lastClickTime > 0 && lastClickTime + 0.5f < Time.time) { setButton(true); lastClickTime = 0; } }
void Update() { ReplayMgr replay = ReplayMgr.GetInstance(); if (replay.isReplay() || !isMyself()) { return; } if (Input.GetMouseButtonDown(0)) { Ray ray = camera_2D.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, m_handCard_layer)) { GameObject ob = hit.collider.gameObject; if (ob.CompareTag(tagValue)) { onMJClicked(ob); Vector3 pos = ob.transform.position; moved = false; oldPosition = pos; screenPosition = camera_2D.WorldToScreenPoint(pos); offset = pos - camera_2D.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z)); draging = true; } } } if (currentObj == null) { return; } Vector3 currentPos = currentObj.transform.position; if (Input.GetMouseButtonUp(0)) { Vector3 off = currentPos - oldPosition; if (moved) { if (Math.Abs(off.x) > 0.017f || Math.Abs(off.y) > 0.025f) { onMJClicked(currentObj); } else { currentObj.transform.position = oldPosition; } } draging = false; } else if (draging) { Vector3 currentScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z); Vector3 currentPosition = camera_2D.ScreenToWorldPoint(currentScreenSpace) + offset; if (currentPosition != currentPos) { moved = true; Vector3 off = currentPosition - oldPosition; if (Math.Abs(off.x) > 0.017f || Math.Abs(off.y) > 0.025f) { currentObj.transform.position = currentPosition + new Vector3(0, 0.04f, 0); } else { currentObj.transform.position = currentPosition; } } } }