예제 #1
0
    // 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;
        }
    }