void LateUpdate() { if (moveLocations.Count == 0) { return; } if (objectInitialized) { //if ((DateTime.Now - waitStartedTime).TotalMilliseconds >= waitTime * 1000) if (GameTimer.GameTicked) { if (waitStarted) { waitUnits--; if (waitUnits <= 0) { waitStarted = false; } } } if (!waitStarted) { currentLocation = GetNextMoveDirection(currentLocation, rotationDirection); camImage.transform.localEulerAngles = GetRotationForDirection(currentLocation); waitStarted = true; waitUnits = waitTime; } } }
void ResetEnemy() { waitStarted = true; waitUnits = waitTime; currentLocation = startLocation; camImage.transform.localEulerAngles = GetRotationForDirection(currentLocation); }
public CameraMoveLocation GetNextMoveDirection(CameraMoveLocation currentDirection, CameraRotationDirection rotationDirection) { CameraMoveLocation result = CameraMoveLocation.None; switch (currentDirection) { case CameraMoveLocation.Left: if (rotationDirection == CameraRotationDirection.Clockwise) { result = CameraMoveLocation.Top; } else { result = CameraMoveLocation.Bottom; } break; case CameraMoveLocation.Right: if (rotationDirection == CameraRotationDirection.Clockwise) { result = CameraMoveLocation.Bottom; } else { result = CameraMoveLocation.Top; } break; case CameraMoveLocation.Top: if (rotationDirection == CameraRotationDirection.Clockwise) { result = CameraMoveLocation.Right; } else { result = CameraMoveLocation.Left; } break; case CameraMoveLocation.Bottom: if (rotationDirection == CameraRotationDirection.Clockwise) { result = CameraMoveLocation.Left; } else { result = CameraMoveLocation.Right; } break; } if (!moveLocations.Contains(result)) { result = GetNextMoveDirection(result, rotationDirection); } return(result); }
public void Initialize() { objectInitialized = true; waitStarted = true; waitUnits = waitTime; currentLocation = startLocation; camImage.transform.localEulerAngles = GetRotationForDirection(currentLocation); }
public Vector3 GetRotationForDirection(CameraMoveLocation moveDirection) { switch (moveDirection) { case CameraMoveLocation.Left: return(new Vector3(0, 0, 90)); case CameraMoveLocation.Right: return(new Vector3(0, 0, -90)); case CameraMoveLocation.Top: return(Vector3.zero); case CameraMoveLocation.Bottom: return(new Vector3(0, 0, 180)); } return(Vector3.zero); }
public void SetStartLocation(CameraMoveLocation startLocation) { this.startLocation = startLocation; }