// Update is called once per frame void Update() { PlayerScript mainPlayerScript = GlobalScript.ourGlobalScript.myMainPlayerScript; //move cursor's card if (myCardScript) { myCardScript.transform.position = Camera.main.ScreenToWorldPoint(Cursor()); } //deck uninspection if (null != myDeckScript) { if (Input.GetMouseButtonUp(0)) { DeckScript deckScript = myDeckScript; myDeckScript = null; deckScript.myRotation.Animate(Quaternion.Euler(305.3767f, 93.77283f, 310.0072f), .2f); deckScript.mySize.Animate(deckScript.DeckSize(), .2f); } } //drag box when nothing selected else if (null == myUnitScript && null == myCardScript) { GlobalScript.ourGlobalScript.myMainPlayerScript.mySelectionScript.Selection(); } //move cursor's unit if (myUnitScript && myUnitScript.myOwner.owner == mainPlayerScript) { mainPlayerScript.mySelectionScript.myIsDragging = false; if (Input.GetMouseButton(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, myRayLength)) { if (hit.transform != myUnitScript.transform) { myUnitScript.myNavMeshAgent.destination = hit.point; } } } } if (Input.GetMouseButtonDown(0)) { if (DoubleClick()) { myLastDoubleClickTime = Time.time; if (Input.GetKey("left shift")) { mainPlayerScript.mySelectionScript.mySelectedUnits.UnionWith(myOnScreenOwnedUnitScripts); } else { mainPlayerScript.mySelectionScript.mySelectedUnits = new HashSet <UnitScript>(myOnScreenOwnedUnitScripts); } } myLastClickTime = Time.time; } }