PlayerPath.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using UnityEngine;
  3. public class PlayerPath : MonoBehaviour
  4. {
  5. private void Update()
  6. {
  7. if (Input.GetMouseButtonDown(0))
  8. {
  9. Ray ray = Camera.main.ScreenPointToRay(new Vector3(UnityEngine.Input.mousePosition.x, UnityEngine.Input.mousePosition.y, 0f));
  10. RaycastHit raycastHit;
  11. if (Physics.Raycast(ray, out raycastHit))
  12. {
  13. this.playerSelected = true;
  14. this.MoveOnFloor();
  15. this.trailReference.Clear();
  16. }
  17. }
  18. else if (Input.GetMouseButtonUp(0))
  19. {
  20. this.playerSelected = false;
  21. }
  22. if (Input.GetMouseButton(0) && this.playerSelected)
  23. {
  24. this.MoveOnFloor();
  25. }
  26. }
  27. private void MoveOnFloor()
  28. {
  29. RaycastHit raycastHit;
  30. if (Physics.Raycast(Camera.main.ScreenPointToRay(new Vector3(UnityEngine.Input.mousePosition.x, UnityEngine.Input.mousePosition.y, 0f)), out raycastHit, 3.40282347E+38f, 2147483647 & 1 << LayerMask.NameToLayer("Water")))
  31. {
  32. this.trailReference.transform.position = raycastHit.point + new Vector3(0f, 0.02f, 0f);
  33. }
  34. }
  35. public SplineTrailRenderer trailReference;
  36. private bool playerSelected;
  37. }