Exemplo n.º 1
0
    void SelectColumn()
    {
        RaycastHit hitInfo = new RaycastHit();

        //Debug.Log(hitInfo);
        //Debug.Log(hitInfo.ToString());
        if (!CheckSelection(out hitInfo))
        {
            return;
        }
        DisablableLogs("Hit " + hitInfo.transform.gameObject.name);

        // Get parent of the parent, while checking if it exists
        ColumnBehaviour column = GetColumn(hitInfo);

        DisablableLogs(column);
        if (!column)
        {
            return;
        }

        // Select column
        DisablableLogs("Column found!");
        if (column.fixedPosition)
        {
            DisablableLogs("Cannot move column");
            return;
        }
        if (selectedColumn)
        {
            selectedColumn.Deselect();
        }
        selectedColumn = column;
        selectedColumn.Select();
    }
Exemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        //if (Input.GetKeyDown(KeyCode.Escape))
        if (Input.GetButtonDown("DeselectColumn"))
        {
            if (selectedColumn != null)
            {
                selectedColumn.Deselect();
                selectedColumn = null;
            }
        }
        // If no column is selected, and we click on a column, then it is the new selected column
        if (Input.GetButtonDown("SelectColumn"))
        {
            DisablableLogs("Got button selectColumn. leftClickPlacement = " + leftClickPlacement.ToString());
            if (leftClickPlacement)
            {
                // Used for touchscreen interface
                PlaceColumn();
            }
            else
            {
                SelectColumn();
            }
        }

        else if (Input.GetButtonDown("PlaceColumn"))
        {
            PlaceColumn();
        }
    }
Exemplo n.º 3
0
 private void OnTriggerExit(Collider other)
 {
     if (((1 << other.gameObject.layer) & columnMask) != 0)
     {
         hitColumnSide = false;
         stuckColumn   = null;
     }
 }
Exemplo n.º 4
0
 private void DeselectColumn()
 {
     //selectedColumn.selected = false;
     if (selectedColumn)
     {
         selectedColumn.RemoveHighlight();
     }
     selectedColumn = null;
 }
Exemplo n.º 5
0
 private void LaunchHand()
 {
     RetractHand(true);
     grabbedColumn    = selectedColumn;
     columnHitOffset  = hitPoint - grabbedColumn.transform.position;
     connectFromPoint = controllerPose.transform.position;
     handTime         = 0;
     //PlaySound(0, 0);
 }
Exemplo n.º 6
0
    private void RetractHand(bool instant)
    {
        grabbedColumn = null;
        handTime      = 0;

        if (instant)
        {
            connectFromPoint = controllerPose.transform.position;
        }
        else
        {
            connectFromPoint = hand.transform.position;
        }
    }
Exemplo n.º 7
0
 private void OnTriggerEnter(Collider other)
 {
     if (((1 << other.gameObject.layer) & columnMask) != 0)
     {
         if (stuckColumn && !isDestroyed)
         {
             DestroySelf(stuckColumn.movedBySource);
         }
         else
         {
             ColumnBehaviour column = other.gameObject.GetComponent <ColumnBehaviour>();
             if ((column.isUpColumn && transform.position.y > column.platform.transform.position.y) ||
                 (!column.isUpColumn && transform.position.y < column.platform.transform.position.y))
             {
                 stuckColumn = column;
                 yDiff       = transform.position.y - stuckColumn.transform.position.y;
             }
             else
             {
                 hitColumnSide = true;
                 pushedAway    = false;
             }
         }
     }
     else if ((((1 << other.gameObject.layer) & forceFieldMask) != 0) && !hitColumnSide)
     {
         pushedAway   = true;
         pushHitpoint = other.gameObject.transform.position;
         pushAwayDir  = other.gameObject.transform.parent.transform.forward;
         if (null != anim)
         {
             anim.SetTrigger("ForceFieldHit");
             PlaySound(Random.Range(0, clipArray.Length + 5), 0);
         }
     }
 }
Exemplo n.º 8
0
 private void SelectColumn(GameObject column)
 {
     selectedColumn = column.GetComponent <ColumnBehaviour>();
     //selectedColumn.selected = true;
     selectedColumn.Highlight();
 }