TestModeUi.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #if SERVICES_SDK_CORE_ENABLED
  2. using UnityEditor.Advertisements;
  3. using UnityEngine.UIElements;
  4. namespace UnityEngine.Advertisements.Editor
  5. {
  6. class TestModeUi : VisualElement
  7. {
  8. public TestModeUi()
  9. {
  10. var container = UiUtils.GetUiFromTemplate(UiConstants.UiTemplatePaths.TestMode);
  11. if (container is null)
  12. {
  13. var message = string.Format(
  14. UiConstants.Formats.TemplateNotFound, nameof(UiConstants.UiTemplatePaths.TestMode));
  15. Debug.LogError(message);
  16. return;
  17. }
  18. Add(container);
  19. var toggle = container.Q<Toggle>(UiConstants.UiElementNames.TestModeToggle);
  20. if (toggle is null)
  21. {
  22. return;
  23. }
  24. toggle.SetValueWithoutNotify(AdvertisementSettings.testMode);
  25. toggle.RegisterValueChangedCallback(OnTestModeToggleChanged);
  26. }
  27. static void OnTestModeToggleChanged(ChangeEvent<bool> changeEvent)
  28. {
  29. EditorGameServiceAnalyticsSender.SendProjectSettingsEnableTestModeEvent(changeEvent.newValue);
  30. AdvertisementSettings.testMode = changeEvent.newValue;
  31. }
  32. }
  33. }
  34. #endif