public FreeDragState (SharedStateData stateData) : base(stateData)
        {
			
			this.stateData = stateData;
			heightMaker = UnityEngine.Object.Instantiate<BuilderHeightMarker>(ScriptableSingleton<AssetManager>.Instance.builderHeightMarkerGO);
			heightMaker.attachedTo = stateData.Selected.transform;
			heightMaker.heightChangeDelta = .1f;


            TrackNode trackNode = stateData.Selected.gameObject.GetComponent<TrackNode> ();
            var previousSegment = trackNode.trackSegmentModify.GetPreviousSegment (true);
            Transform p3hook = null;

            if (trackNode.nodePoint == TrackNode.NodeType.P1) {
                p3hook = previousSegment.GetLastCurve.P3.transform;

            } else if (trackNode.nodePoint == TrackNode.NodeType.P2) {   
                p3hook = trackNode.trackCurve.P3.transform;
            }

            if (p3hook != stateData.Selected.transform && p3hook != null) {
                p3HeightMarker = UnityEngine.Object.Instantiate<BuilderHeightMarker> (ScriptableSingleton<AssetManager>.Instance.builderHeightMarkerGO);
                p3HeightMarker.attachedTo = p3hook;
                p3HeightMarker.heightChangeDelta = .01f;
            }
            


        }
        public FreeDragWithSmoothing (SharedStateData stateData) : base(stateData)
        {
            this.stateData = stateData;

            heightMarker = UnityEngine.Object.Instantiate<BuilderHeightMarker>(ScriptableSingleton<AssetManager>.Instance.builderHeightMarkerGO);
            heightMarker.attachedTo = stateData.Selected.transform;
            heightMarker.heightChangeDelta = .01f;

        }
        public DraggableState (SharedStateData stateData)
        {
            this.stateData = stateData;

            var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
            Vector3 point = ray.GetPoint (stateData.Distance);
            Vector3 position = Vector3.zero;

            if (Input.GetKey (Main.configuration.settings.verticalKey)) {
                stateData.Offset = new Vector3(stateData.Offset.x,stateData.Selected.transform.position.y - point.y, stateData.Offset.z);
                verticalDragState = true;

            }
        }
Ejemplo n.º 4
0
		public IdleState (SharedStateData stateData)
        {
            this.stateData = new SharedStateData ();
            this.stateData.SetActiveNode(stateData.ActiveNode);
		}
		public LinearDragState (SharedStateData stateData)
		{
			this.stateData = stateData;
		}
		public ConsumeExtrudeNodeState (SharedStateData stateData)
		{
			this.stateData = stateData;
		}
 public RotationState (SharedStateData stateData)
 {
     this.stateData = stateData;
 }