Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        //Player clicks up and ends positioning beam
        if (eBeamState.LayoutMode == BeamState && Input.GetMouseButtonUp(0))
        {
            BeamState = eBeamState.BuiltMode;
            DestroyIfSamePosition();
            anchorEnd = bridgeSetupParent.GetOtherEndPoint(pointEnd);
        }

        //Position beam according to the layout
        if (eBeamState.LayoutMode == BeamState)
        {
            Ray   r        = Camera.main.ScreenPointToRay(Input.mousePosition);
            float distance = 0;
            beamPlane.Raycast(r, out distance);
            Vector3 p = r.GetPoint(distance);
            pointEnd.transform.position = LimitPointDistance(p, pointStart);
            pointEnd.GetComponent <ResetPhysics>().UpdatePosition();
            IsRoadBeam = bridgeSetupParent.IsInRoadLevel(pointStart.transform.position, pointEnd.transform.position);
            PositionBeam();
        }

        ColorBeam();
    }
Ejemplo n.º 2
0
    public void ResetToSetup()
    {
        beam.GetComponent <ResetPhysics>().Reset();
        pointStart.GetComponent <ResetPhysics>().Reset();
        pointEnd.GetComponent <ResetPhysics>().Reset();

        // Destroy all joints created on SetToPlay()
        if (startJoint)
        {
            Destroy(startJoint);
        }
        if (endJoint)
        {
            Destroy(endJoint);
        }
        Destroy(beamStartJoint);
        Destroy(beamEndJoint);
        Destroy(beam.GetComponent <CapsuleCollider>());

        beam.rigidbody.isKinematic       = true;
        pointStart.rigidbody.isKinematic = true;
        pointEnd.rigidbody.isKinematic   = true;

        PositionBeam();

        beam.renderer.enabled       = true;
        pointStart.renderer.enabled = true;
        pointEnd.renderer.enabled   = true;

        BeamAppereanceState = eBeamAppereanceState.NormalMode;
        BeamState           = eBeamState.BuiltMode;
    }
Ejemplo n.º 3
0
	// Update is called once per frame
	void Update () {

		//Player clicks up and ends positioning beam
		if (eBeamState.LayoutMode == BeamState && Input.GetMouseButtonUp(0)){
			BeamState = eBeamState.BuiltMode;
			DestroyIfSamePosition();
			anchorEnd = bridgeSetupParent.GetOtherEndPoint(pointEnd);
		}

		//Position beam according to the layout
		if (eBeamState.LayoutMode == BeamState) {
			Ray r = Camera.main.ScreenPointToRay(Input.mousePosition);
			float distance = 0;
			beamPlane.Raycast(r, out distance);
			Vector3 p = r.GetPoint(distance);
			pointEnd.transform.position = LimitPointDistance(p, pointStart);
			pointEnd.GetComponent<ResetPhysics>().UpdatePosition();
			IsRoadBeam = bridgeSetupParent.IsInRoadLevel(pointStart.transform.position, pointEnd.transform.position);
			PositionBeam();
		}

		ColorBeam();
	}
Ejemplo n.º 4
0
	/** Creates a beam with the following features:
	 *  - clickPosition: World point where the mouse clicked to start
	 *  - hingePoint: The Anchor used to build the beam from
	 *  - bs: BridgeSetup object to callback some functions
	 */
	public void StartLayout(Vector3 clickPosition, GameObject hingePoint, BridgeSetup bs) {
		transform.position = clickPosition;
		
		beam = transform.Find("Beam").gameObject;
		
		pointStart = transform.Find("PointStart").gameObject;
		pointStart.GetComponent<SnapPoint>().bridgeSetupParent = bs;
		pointStart.GetComponent<SnapPoint>().bridgeBeamParent = this;
		
		pointEnd = transform.Find("PointEnd").gameObject;
		pointEnd.GetComponent<SnapPoint>().bridgeSetupParent = bs;
		pointEnd.GetComponent<SnapPoint>().bridgeBeamParent = this;
		
		pointStart.rigidbody.isKinematic = true;
		beam.rigidbody.isKinematic = true;
		pointEnd.rigidbody.isKinematic = true;
		
		anchorStart = hingePoint;

		originalColor = beam.GetComponent<Renderer> ().material.color;
		
		BeamState = eBeamState.LayoutMode;
	}
Ejemplo n.º 5
0
    /** Creates a beam with the following features:
     *  - clickPosition: World point where the mouse clicked to start
     *  - hingePoint: The Anchor used to build the beam from
     *  - bs: BridgeSetup object to callback some functions
     */
    public void StartLayout(Vector3 clickPosition, GameObject hingePoint, BridgeSetup bs)
    {
        transform.position = clickPosition;

        beam = transform.Find("Beam").gameObject;

        pointStart = transform.Find("PointStart").gameObject;
        pointStart.GetComponent <SnapPoint>().bridgeSetupParent = bs;
        pointStart.GetComponent <SnapPoint>().bridgeBeamParent  = this;

        pointEnd = transform.Find("PointEnd").gameObject;
        pointEnd.GetComponent <SnapPoint>().bridgeSetupParent = bs;
        pointEnd.GetComponent <SnapPoint>().bridgeBeamParent  = this;

        pointStart.rigidbody.isKinematic = true;
        beam.rigidbody.isKinematic       = true;
        pointEnd.rigidbody.isKinematic   = true;

        anchorStart = hingePoint;

        originalColor = beam.GetComponent <Renderer> ().material.color;

        BeamState = eBeamState.LayoutMode;
    }
Ejemplo n.º 6
0
	public void ResetToSetup() {
		
		beam.GetComponent<ResetPhysics>().Reset();
		pointStart.GetComponent<ResetPhysics>().Reset();
		pointEnd.GetComponent<ResetPhysics>().Reset();

		// Destroy all joints created on SetToPlay()
		if (startJoint) {
			Destroy (startJoint);
		}
		if (endJoint) {
			Destroy (endJoint);
		}
		Destroy (beamStartJoint);
		Destroy (beamEndJoint);
		Destroy(beam.GetComponent<CapsuleCollider>());

		beam.rigidbody.isKinematic = true;
		pointStart.rigidbody.isKinematic = true;
		pointEnd.rigidbody.isKinematic = true;

		PositionBeam();

		beam.renderer.enabled = true;
		pointStart.renderer.enabled = true;
		pointEnd.renderer.enabled = true;

		BeamAppereanceState = eBeamAppereanceState.NormalMode;
		BeamState = eBeamState.BuiltMode;
	}