RotateLogic.cs 840 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class RotateLogic : MonoBehaviour
  5. {
  6. // Start is called before the first frame update
  7. public float Speed;
  8. float MaxSpeed = 3600;
  9. float ChangeSpeed = -30;
  10. void Start()
  11. {
  12. this.InvokeRepeating("TurnSpeed", 0.1f, 0.1f);
  13. }
  14. // Update is called once per frame
  15. void Update()
  16. {
  17. this.transform.Rotate(0, Speed * Time.deltaTime, 0, Space.Self);
  18. }
  19. public void Turn(int direction)
  20. {
  21. if (direction > 0) ChangeSpeed = System.Math.Abs(ChangeSpeed);
  22. else ChangeSpeed = -System.Math.Abs(ChangeSpeed);
  23. }
  24. void TurnSpeed()
  25. {
  26. if (Speed < MaxSpeed && ChangeSpeed > 0) Speed += ChangeSpeed;
  27. else if (Speed > 0 && ChangeSpeed < 0) Speed += ChangeSpeed;
  28. }
  29. }