Discrete2DRotation.cs
unknown
csharp
2 years ago
1.1 kB
15
Indexable
using UnityEngine; public class Discrete2DRotation { public enum RotationDirection { North, Northeast, East, Southeast, South, Southwest, West, Northwest } private RotationDirection _currentDirection; public Discrete2DRotation(RotationDirection initialDirection = RotationDirection.North) { _currentDirection = initialDirection; } public float RotationAngle { get { return GetRotationAngle(_currentDirection); } } public RotationDirection CurrentDirection { get => _currentDirection; set => _currentDirection = value; } private float GetRotationAngle(RotationDirection direction) { switch (direction) { case RotationDirection.North: return 0; case RotationDirection.Northeast: return 45; case RotationDirection.East: return 90; case RotationDirection.Southeast: return 135; case RotationDirection.South: return 180; case RotationDirection.Southwest: return 225; case RotationDirection.West: return 270; case RotationDirection.Northwest: return 315; default: return 0; } } }
Editor is loading...