Exemple #1
0
    private void GhostObject()
    {
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, Mathf.Infinity, terrainMask))
        {
            if (ghostObject == null)
            {
                ghostObject = Instantiate(active.getPrefab());
                ghostObject.transform.parent = parentObject.transform;
                ghostObject.name             = "Ghost Object";
                ghostRenderer = ghostObject.GetComponentInChildren <MeshRenderer>();
            }
            else
            {
                if (ValidLocation(hit))
                {
                    ghostRenderer.material = validMat;
                }
                else
                {
                    ghostRenderer.material = invalidMat;
                }
            }

            ghostObject.transform.position = hit.point + active.getOffset();
        }
        else
        {
            DestroyGhost();
        }
    }