// 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(); }
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; }
// 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(); }
/** 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; }
/** 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; }
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; }