Esempio n. 1
0
 void Deselect()
 {
     if (selectedExplodee != null)
     {
         OnDeselect(selectedExplodee, selectedExplodee.transform);
         selectedExplodee.Deselect();
         selectedExplodee = null;
     }
 }
Esempio n. 2
0
    // Update is called once per frame
    void Update()
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                Explodee clickedExplodee = hit.transform.GetComponentInParent <Explodee>();
                if (clickedExplodee != null)
                {
                    if (!clickedExplodee.selected)
                    {
                        if (selectedExplodee != null)
                        {
                            Deselect();
                        }
                        Select(clickedExplodee);
                    }
                    else
                    {
                        Deselect();
                    }
                }
                else
                {
                    Deselect();
                }
            }
            else
            {
                Deselect();
            }
        }

        if (selectedExplodee != null)
        {
            //Debug.Log(selectedExplodee.name + " moving. offset: " + selectedExplodee.meshOffset + ", should be " + (Camera.main.transform.position + holdDistance * ray.direction - selectedExplodee.meshOffset) + ", actual " + selectedExplodee.transform.position);
            selectedExplodee.transform.position = Camera.main.transform.position + holdDistance * ray.direction - selectedExplodee.meshOffset;
        }
    }
Esempio n. 3
0
 void Select(Explodee clickedExplodee)
 {
     clickedExplodee.Select();
     selectedExplodee = clickedExplodee;
 }
Esempio n. 4
0
 void Reposition(Explodee explodee, Transform explodeeTransform)
 {
     explodeeTransform.position = explodee.startPosition - explodee.meshOffset + explodee.explodeDirection * explodeAmount * explodee.distance;
 }