Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void Shoot()
- {
- if (EnableShoot && !fired)
- {
- fired = true;
- }
- else if(EnableShoot && fired && hooked)
- {
- fired = false;
- hooked = false;
- ReturnHook();
- }
- }
- RaycastHit hit;
- private void Update()
- {
- Vector3 fwd = RaycastStart.transform.TransformDirection(Vector3.forward);
- Physics.Raycast(RaycastStart.transform.position, fwd, out hit, RaycastDistance);
- Debug.DrawRay(RaycastStart.transform.position, fwd, Color.red, RaycastDistance);
- EndPoint.transform.position = hit.point;
- if (fired && !hooked)
- {
- hook.transform.position = Vector3.MoveTowards(hook.transform.position, EndPoint.transform.position, hookTravelSpeed);
- if (settings.ViveSDK)
- {
- currentDistance = Vector3.Distance(ViveSDK.transform.position, hook.transform.position);
- }
- if (settings.OculusSDK)
- {
- currentDistance = Vector3.Distance(OculusSDK.transform.position, hook.transform.position);
- }
- if(currentDistance >= maxDistance)
- {
- ReturnHook();
- }
- }
- if (Reel)
- {
- if (settings.ViveSDK)
- {
- ViveRigid.AddForce((hook.transform.position - ViveSDK.transform.position).normalized * playerTravelSpeed);
- distanceToHook = Vector3.Distance(ViveSDK.transform.position, hook.transform.position);
- }
- if (settings.OculusSDK)
- {
- OculusRigid.AddForce((hook.transform.position - OculusSDK.transform.position).normalized * playerTravelSpeed);
- distanceToHook = Vector3.Distance(OculusSDK.transform.position, hook.transform.position);
- }
- if(distanceToHook < DistanceToStick && Reel)
- {
- Stick = true;
- }
- else
- {
- Stick = false;
- }
- if(currentDistance > FarthestDistance)
- {
- ReturnHook();
- }
- }
- if (hooked)
- {
- hook.transform.parent = hookedObj.transform;
- }
- if (!hooked){
- hook.transform.parent = hookHolder.transform;
- }
- }
- public void ReturnHook()
- {
- hook.transform.position = hookHolder.transform.position;
- fired = false;
- hooked = false;
- }
- public void ReelIn()
- {
- if (hooked)
- {
- Reel = true;
- }
- }
- public void StopReel()
- {
- if (hooked)
- {
- Reel = false;
- }
- }
- public void StickOn()
- {
- if (Stick)
- {
- if (StickOnMore)
- {
- StickOnMore = false;
- OculusRigid.constraints = RigidbodyConstraints.None;
- OculusRigid.constraints = RigidbodyConstraints.FreezeRotation;
- ViveRigid.constraints = RigidbodyConstraints.None;
- ViveRigid.constraints = RigidbodyConstraints.FreezeRotation;
- }
- else if (!StickOnMore)
- {
- StickOnMore = true;
- Reel = false;
- Debug.Log("StickToObject");
- if (settings.ViveSDK)
- {
- ViveRigid.constraints = RigidbodyConstraints.FreezePosition;
- }
- if (settings.OculusSDK)
- {
- OculusRigid.constraints = RigidbodyConstraints.FreezePosition;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement