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."); }
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; } } }
//--------------------------------------------------------------- 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); }
public void amUpdate(LaserPicker laser) { if (WandControlsManager.WandControllerRight.getTriggerDown()) { manageDimLineAdd(); } }
// to be overridden by each creator public virtual void setupLaser(LaserPicker laser) { laser.setLengthToInfinity(); laser.clearLayerMask(); laser.clearRestrictedObject(); laser.clearRestrictedObjectContainsName(); laser.clearRestrictedObjectStartName(); }
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); } }
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); }
//////////////////////////////////////////////////////////////////////////////// // 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); }
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); } }
//--------------------------------------------------------------- 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."); } } }
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."); } } }
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."); }
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); } }
private void defByCorners(LaserPicker laser) { if (WandControlsManager.WandControllerRight.getTriggerDown()) { collectedPts.Add(laser.getTerminalPoint()); if (collectedPts.Count == 4) { makePlane(laser); collectedPts.Clear(); } } }
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 } } } }
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."); } } }
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(); } }
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; } } }
public void cmUpdate(LaserPicker laser) { }
public void amStart(LaserPicker laser) { actionMode = ActionMode.SELOBJ; GeneralSettings.updateInteractText("Please select object to be arrayed."); arrObj = null; }