No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ActivityIndicator.mm 1.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "ActivityIndicator.h"
  2. static UIActivityIndicatorView* _activityIndicator = nil;
  3. void ShowActivityIndicator(UIView* parent, int style)
  4. {
  5. if (_activityIndicator != nil)
  6. return;
  7. if (style >= 0)
  8. {
  9. _activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle: (UIActivityIndicatorViewStyle)style];
  10. #if !PLATFORM_VISIONOS
  11. _activityIndicator.contentScaleFactor = [UIScreen mainScreen].scale;
  12. #endif
  13. }
  14. if (_activityIndicator != nil)
  15. {
  16. [parent addSubview: _activityIndicator];
  17. _activityIndicator.center = CGPointMake(parent.bounds.size.width / 2, parent.bounds.size.height / 2);
  18. [_activityIndicator startAnimating];
  19. }
  20. }
  21. void ShowActivityIndicator(UIView* parent)
  22. {
  23. ShowActivityIndicator(parent, UnityGetShowActivityIndicatorOnLoading());
  24. }
  25. void HideActivityIndicator()
  26. {
  27. if (_activityIndicator)
  28. {
  29. [_activityIndicator stopAnimating];
  30. [_activityIndicator removeFromSuperview];
  31. _activityIndicator = nil;
  32. }
  33. }
  34. extern "C" void UnityStartActivityIndicator()
  35. {
  36. ShowActivityIndicator(UnityGetGLView());
  37. }
  38. extern "C" void UnityStopActivityIndicator()
  39. {
  40. HideActivityIndicator();
  41. }