public void amStart(LaserPicker laser)
 {
     laser.setRestrictedObjectStartName("app_Plane");
     selectedPtObjects = new List <GameObject>();
     hostSurface       = null;
     GeneralSettings.updateInteractText("Please select a plane to act as host for the surface.");
 }
Exemple #2
0
    public void amUpdate(LaserPicker laser)
    {
        switch (actionMode)
        {
        case ActionMode.SELOBJ:
        {
            getSelObj(laser);
            break;
        }

        case ActionMode.SELSTART:
        {
            getStartPos(laser);
            break;
        }

        case ActionMode.SELVEC1:
        {
            getVec1(laser);
            break;
        }

        case ActionMode.POLARCOUNT:
        {
            getPolarCount(laser);
            break;
        }

        case ActionMode.ARRAYCOUNT:
        {
            getArrayCount(laser);
            break;
        }
        }
    }
Exemple #3
0
    //---------------------------------------------------------------



    public void cmStart(LaserPicker laser)
    {
        sketchActionManager = sketchActionObject.GetComponent <SketchActionManager>();
        widthText           = transform.FindChild("Button_strokeWidth").FindChild("Text").gameObject.GetComponent <Text>();
        updateStrokeWidth();
        l = laser;
    }
 // strokes are updated in the buffer only for display
 private void updateStroke(LaserPicker laser)
 {
     currPoints.Add(laser.getTerminalPoint());
     Vector3[] currPtsArray = currPoints.ToArray();
     currentStrokeDisplayBufferLineRenderer.numPositions = currPtsArray.Length;
     currentStrokeDisplayBufferLineRenderer.SetPositions(currPtsArray);
 }
Exemple #5
0
 public void amUpdate(LaserPicker laser)
 {
     if (WandControlsManager.WandControllerRight.getTriggerDown())
     {
         manageDimLineAdd();
     }
 }
Exemple #6
0
 // to be overridden by each creator
 public virtual void setupLaser(LaserPicker laser)
 {
     laser.setLengthToInfinity();
     laser.clearLayerMask();
     laser.clearRestrictedObject();
     laser.clearRestrictedObjectContainsName();
     laser.clearRestrictedObjectStartName();
 }
Exemple #7
0
 public void amUpdate(LaserPicker laser)
 {
     if (WandControlsManager.WandControllerRight.getTriggerDown())
     {
         GameObject currentPoint = Instantiate(app_Point, laser.getTerminalPoint(), Quaternion.LookRotation(laser.getHitNormal()));
         currentPoint.transform.SetParent(GeneralSettings.getActiveLayerObject().transform);
     }
 }
Exemple #8
0
    private void makePlane(LaserPicker laser)
    {
        Vector3    centerPt     = laser.getTerminalPoint();
        Vector3    normal       = laser.getTerminalNormal();
        GameObject currentPlane = Instantiate(app_Plane, centerPt, Quaternion.LookRotation(normal));

        currentPlane.GetComponent <app_Plane>().init(collectedPts);
        currentPlane.transform.SetParent(GeneralSettings.getActiveLayerObject().transform);
    }
Exemple #9
0
    ////////////////////////////////////////////////////////////////////////////////



    // Use this for initialization
    void Awake()
    {
        instance = this;
        DateTime epochTime = new System.DateTime(1970, 1, 1, 0, 0, 0, System.DateTimeKind.Utc);
        int      currTime  = (int)(System.DateTime.UtcNow - epochTime).TotalSeconds;

        sessionStartTime = DateTime.Now;
        sessionID        = SystemInfo.deviceUniqueIdentifier.ToString() + "_" + currTime.ToString();

        consoleList          = new List <string>();
        UIConsoleText        = transform.FindChild("[CameraRig]").FindChild("Controller (right)").FindChild("_Canvas").FindChild("ConsoleSet").FindChild("_ConsoleWindow").gameObject.GetComponent <Text>();
        UIInteractText       = transform.FindChild("[CameraRig]").FindChild("Controller (right)").FindChild("_Canvas").FindChild("InteractSet").FindChild("_InteractWindow").gameObject.GetComponent <Text>();
        UIInteractBackground = transform.FindChild("[CameraRig]").FindChild("Controller (right)").FindChild("_Canvas").FindChild("InteractSet").FindChild("Background").gameObject.GetComponent <Image>();

        int_Player = transform.FindChild("[CameraRig]").FindChild("Camera (eye)").gameObject;

        int_rightLaser = transform.FindChild("[CameraRig]").FindChild("Controller (right)").FindChild("_LaserPicker").gameObject.GetComponent <LaserPicker>();

        int_Model           = transform.FindChild("_Model").gameObject;
        modelStartPos       = model.transform.position;
        modelStartScale     = model.transform.localScale;
        scaledModelLocation = modelStartPos;
        scaledModelScale    = new Vector3(0.005f, 0.005f, 0.005f);

        int_ModelObjects    = model.transform.FindChild("_Objects").gameObject;
        deleteHoldingObject = model.transform.FindChild("_Deleted").gameObject;
        deleteHoldingObject.SetActive(false);

        layerManager = transform.FindChild("[CameraRig]").FindChild("Controller (left)").FindChild("_ToolBox").FindChild("Screen_LayerManagement").GetComponent <LayerManager>();

        actionSwitcherObject = transform.FindChild("[CameraRig]").FindChild("Controller (right)").FindChild("_ActionSwitcher").gameObject;
        actionSwitcher       = actionSwitcherObject.GetComponent <ActionSwitcher>();

        objectMenuHolderObject = transform.FindChild("[CameraRig]").FindChild("Controller (right)").FindChild("_ObjectMenuCanvas").gameObject;
        objMenuManager         = objectMenuHolderObject.GetComponent <ObjectMenuManager>();
        prevMenu = new GameObject();
        prevMenu.SetActive(false);

        blackScreen = player.transform.FindChild("_BlackScreen").FindChild("Image").gameObject.GetComponent <Image>();

        activeSnaps = new HashSet <SnapType>();
        addToActiveSnaps(SnapType.MID);
        addToActiveSnaps(SnapType.END);

        addLineToConsole(System.String.Format("Session Start Time: {0}", sessionStartTime.ToLongTimeString()));
        addLineToConsole(System.String.Format("Session ID: {0}", sessionID));
        addLineToConsole(System.String.Format("Session Name: {0}", sessionName));
        addLineToConsole("v " + version);
        addLineToConsole(applicationName);
        addLineToConsole(developerName);
        addLineToConsole("Hi there!");


        defaultLightColor = UIInteractBackground.color;
        highLightColor    = new Color(0.3f, 0.55f, 0f, 0.8f);
        flashLightColor   = new Color(0.1f, 0.45f, 0.3f, 0.8f);
    }
    //---------------------------------------------------------------



    public void amStart(LaserPicker laser)
    {
        boardSketchMenuManager = sketchMenuObject.GetComponent <BoardSketchMenuManager>();
        drawingSet             = GeneralSettings.model.transform.FindChild("_Sets").FindChild("_DrawingSetManager").gameObject;
        currPoints             = new List <Vector3>();
        setupLineMaterials();
        setupStrokeBuffer();
        createNewSketch();
        boardSketchMenuManager.setUIColor(lineMaterialArray[currentMaterialIndex].color);
    }
Exemple #11
0
 public void amUpdate(LaserPicker laser)
 {
     if (WandControlsManager.WandControllerRight.getTriggerDown())
     {
         Vector3    centerPt     = laser.getTerminalPoint();
         Vector3    normal       = laser.getTerminalNormal();
         GameObject currentSpace = Instantiate(app_Space, centerPt, Quaternion.LookRotation(normal));
         currentSpace.transform.SetParent(GeneralSettings.getActiveLayerObject().transform);
     }
 }
 private void setupBoardMode(LaserPicker laser)
 {
     if (WandControlsManager.WandControllerRight.getTriggerDown())
     {
         targetBoard = Instantiate(boardPrefab, laser.getTerminalPoint(),
                                   Quaternion.LookRotation(laser.getTerminalNormal()),
                                   GeneralSettings.modelObjects.transform);
         laser.setRestrictedObject(targetBoard);
         laser.setLengthToInfinity();
     }
 }
 public void amUpdate(LaserPicker laser)
 {
     if (targetBoard == null)
     {
         setupBoardMode(laser);
     }
     else
     {
         sketchMode(laser);
     }
 }
Exemple #14
0
    //---------------------------------------------------------------



    private void getSelObj(LaserPicker laser)
    {
        if (WandControlsManager.WandControllerRight.getTriggerDown())
        {
            if (laser.isHit())
            {
                arrObj     = GeneralSettings.getParentClone(laser.getHitObject(), "app_");
                actionMode = ActionMode.SELSTART;
                GeneralSettings.updateInteractText("Please select the center point for the array.");
            }
        }
    }
 private void getStartPos(LaserPicker laser)
 {
     if (WandControlsManager.WandControllerRight.getTriggerDown())
     {
         if (laser.isHit())
         {
             startPos   = laser.getTerminalPoint();
             actionMode = ActionMode.SELVEC1;
             GeneralSettings.updateInteractText("Please select vector in first direction for array.");
         }
     }
 }
Exemple #16
0
 private void getStartPos(LaserPicker laser)
 {
     if (WandControlsManager.WandControllerRight.getTriggerDown())
     {
         if (laser.isHit())
         {
             startPos   = laser.getTerminalPoint();
             actionMode = ActionMode.SELVEC1;
             GeneralSettings.updateInteractText("Please select the distance between the elements for the array.");
         }
     }
 }
Exemple #17
0
 private void getArrayCount(LaserPicker laser)
 {
     if (!currWaitingObj.isSet())
     {
         return;
     }
     arrayCount = int.Parse(currWaitingObj.readString());
     GeneralSettings.reinstatePreviousMenu();
     createArray();
     amStart(laser);
     GeneralSettings.updateInteractText("Array created. Please select next object to be arrayed.");
 }
Exemple #18
0
 private void defByPoint(LaserPicker laser)
 {
     if (WandControlsManager.WandControllerRight.getTriggerDown())
     {
         Vector3 centerPt = laser.getTerminalPoint();
         Vector3 normal   = laser.getTerminalNormal();
         collectedPts = getPtsForPt(centerPt, normal);
         GameObject currentPlane = Instantiate(app_Plane, centerPt, Quaternion.LookRotation(normal));
         currentPlane.GetComponent <app_Plane>().init(collectedPts);
         currentPlane.transform.SetParent(GeneralSettings.getActiveLayerObject().transform);
     }
 }
Exemple #19
0
 private void defByCorners(LaserPicker laser)
 {
     if (WandControlsManager.WandControllerRight.getTriggerDown())
     {
         collectedPts.Add(laser.getTerminalPoint());
         if (collectedPts.Count == 4)
         {
             makePlane(laser);
             collectedPts.Clear();
         }
     }
 }
Exemple #20
0
 private void getPolarCount(LaserPicker laser)
 {
     if (!currWaitingObj.isSet())
     {
         return;
     }
     polarCount     = int.Parse(currWaitingObj.readString());
     actionMode     = ActionMode.ARRAYCOUNT;
     currWaitingObj = ScriptableObject.CreateInstance <WaitingObject>();
     GeneralSettings.setNumPad(currWaitingObj);
     GeneralSettings.updateInteractText("Please count for array of objects in each polar direction.");
 }
 private void getXCount(LaserPicker laser)
 {
     if (!currWaitingObj.isSet())
     {
         return;
     }
     xCount         = int.Parse(currWaitingObj.readString());
     actionMode     = ActionMode.YCOUNT;
     currWaitingObj = ScriptableObject.CreateInstance <WaitingObject>();
     GeneralSettings.setNumPad(currWaitingObj);
     GeneralSettings.updateInteractText("Please specify number of copies in Y-direction.");
 }
    public void amUpdate(LaserPicker laser)
    {
        if (hostSurface != null)
        {
            if (WandControlsManager.WandControllerRight.getTriggerDown())
            {
                if (laser.isHit())
                {
                    Vector3 pt = laser.getHitPoint();
                    lastPt = Instantiate(pointMarker, pt, Quaternion.identity);
                    selectedPtObjects.Add(lastPt);


                    if (selectedPtObjects.Count == 4)
                    {
                        List <Vector3> pts = new List <Vector3>();
                        foreach (GameObject ptObj in selectedPtObjects)
                        {
                            pts.Add(ptObj.transform.position);
                        }

                        GameObject newSrf = Instantiate(app_Surface, laser.getHitPoint(), Quaternion.identity);
                        newSrf.GetComponent <app_Surface>().init(pts);
                        hostSurface.GetComponent <app_Plane>().enhostObject(newSrf);

                        GeneralSettings.updateInteractText("");
                        GeneralSettings.addLineToConsole(string.Format("{0} surface created under {1} host plane.", newSrf.name, hostSurface.name));
                        clearPointCollectionMode(laser);
                        return;
                    }
                    GeneralSettings.updateInteractText(string.Format("Pick {0} more points to complete the surafce.", 4 - selectedPtObjects.Count));
                }
            }

            if (WandControlsManager.WandControllerRight.getGripDown())
            {
                clearPointCollectionMode(laser);
                GeneralSettings.addLineToConsole("Surface creation exited.");
                GeneralSettings.updateInteractText("Please select a plane to act as host for the surface.");
            }

            return;
        }

        if (WandControlsManager.WandControllerRight.getTriggerDown())
        {
            hostSurface = laser.getHitObject();
            laser.setRestrictedObject(hostSurface);
            GeneralSettings.updateInteractText("Select 4 corner points for surface.");
            GeneralSettings.addLineToConsole(string.Format("{0} selected as host plane for surface to be created.", hostSurface.name));
        }
    }
 public void amUpdate(LaserPicker laser)
 {
     if (laser.isHit())
     {
         if (WandControlsManager.WandControllerRight.getTriggerPressed())
         {
             if (GeneralSettings.getParentRecursive(laser.getHitObject(), "_RefObjects", "app_") != null)
             {
                 // move the current refObject along the plane contained as a reference among the siblings
             }
         }
     }
 }
Exemple #24
0
 private void getVec1(LaserPicker laser)
 {
     if (WandControlsManager.WandControllerRight.getTriggerDown())
     {
         if (laser.isHit())
         {
             vec1           = laser.getTerminalPoint() - startPos;
             actionMode     = ActionMode.POLARCOUNT;
             currWaitingObj = ScriptableObject.CreateInstance <WaitingObject>();
             GeneralSettings.setNumPad(currWaitingObj);
             GeneralSettings.updateInteractText("Please specify number of poles in polar array.");
         }
     }
 }
Exemple #25
0
    public void amUpdate(LaserPicker laser)
    {
        if (WandControlsManager.WandControllerRight.getTriggerDown())
        {
            pts.Add(laser.getTerminalPoint());
            refreshLineRenderer();
        }

        if (WandControlsManager.WandControllerRight.getGripDown())
        {
            Vector3    center = getCenter();
            GameObject g      = Instantiate(app_Line, center, Quaternion.identity, GeneralSettings.modelObjects.transform);
            g.GetComponent <app_Line>().setLinePts(pts);
            pts.Clear();
            clearLineRenderer();
        }
    }
Exemple #26
0
    public void amUpdate(LaserPicker laser)
    {
        switch (activeDefMode)
        {
        case PlaneDefMode.BYPOINT:
        {
            defByPoint(laser);
            break;
        }

        case PlaneDefMode.BYCORNERS:
        {
            defByCorners(laser);
            break;
        }
        }
    }
    private void sketchMode(LaserPicker laser)
    {
        if (WandControlsManager.WandControllerRight.getTriggerDown())
        {
            createStroke();
        }

        if (WandControlsManager.WandControllerRight.getTriggerPressed())
        {
            updateStroke(laser);
        }

        if (WandControlsManager.WandControllerRight.getTriggerUp())
        {
            emptyStrokeBuffer();
        }
    }
    public void amUpdate(LaserPicker laser)
    {
        switch (actionMode)
        {
        case ActionMode.SELOBJ:
        {
            getSelObj(laser);
            break;
        }

        case ActionMode.SELSTART:
        {
            getStartPos(laser);
            break;
        }

        case ActionMode.SELVEC1:
        {
            getVec1(laser);
            break;
        }

        case ActionMode.SELVEC2:
        {
            getVec2(laser);
            break;
        }

        case ActionMode.XCOUNT:
        {
            getXCount(laser);
            break;
        }

        case ActionMode.YCOUNT:
        {
            getYCount(laser);
            break;
        }
        }
    }
Exemple #29
0
 public void cmUpdate(LaserPicker laser)
 {
 }
Exemple #30
0
 public void amStart(LaserPicker laser)
 {
     actionMode = ActionMode.SELOBJ;
     GeneralSettings.updateInteractText("Please select object to be arrayed.");
     arrObj = null;
 }