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