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.

PlayerTestAssemblyProvider.cs 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. namespace UnityEngine.TestTools.Utils
  5. {
  6. internal class PlayerTestAssemblyProvider
  7. {
  8. private IAssemblyLoadProxy m_AssemblyLoadProxy;
  9. private readonly List<string> m_AssembliesToLoad;
  10. //Cached until domain reload
  11. private static List<IAssemblyWrapper> m_LoadedAssemblies;
  12. internal PlayerTestAssemblyProvider(IAssemblyLoadProxy assemblyLoadProxy, List<string> assembliesToLoad)
  13. {
  14. m_AssemblyLoadProxy = assemblyLoadProxy;
  15. m_AssembliesToLoad = assembliesToLoad;
  16. LoadAssemblies();
  17. }
  18. public List<IAssemblyWrapper> GetUserAssemblies()
  19. {
  20. return m_LoadedAssemblies;
  21. }
  22. private void LoadAssemblies()
  23. {
  24. if (m_LoadedAssemblies != null)
  25. {
  26. return;
  27. }
  28. m_LoadedAssemblies = new List<IAssemblyWrapper>();
  29. foreach (var userAssembly in m_AssembliesToLoad)
  30. {
  31. IAssemblyWrapper a;
  32. try
  33. {
  34. a = m_AssemblyLoadProxy.Load(userAssembly);
  35. }
  36. catch (FileNotFoundException)
  37. {
  38. continue;
  39. }
  40. if (a != null)
  41. m_LoadedAssemblies.Add(a);
  42. }
  43. }
  44. }
  45. }