Elin Decompiled Documentation EA 23.319 Nightly Patch 1
Loading...
Searching...
No Matches
DynamicAsset< T > Class Template Reference

Public Member Functions

 DynamicAsset ()
 
 DynamicAsset (string groupId, bool instantiate)
 
GetNew (string id, Transform parent=null)
 
GetOriginal (string id)
 

Public Attributes

string groupId = ""
 
List< T > list = new List<T>()
 
Dictionary< string, T > map
 
bool usePool
 
bool instantiate = true
 

Static Public Attributes

static List< Func< string, T > > assetLoaders = new List<Func<string, T>> { Resources.Load<T> }
 

Private Member Functions

void Init ()
 

Private Attributes

bool initialized
 

Detailed Description

Type Constraints
T :MonoBehaviour 

Definition at line 6 of file DynamicAsset.cs.

Constructor & Destructor Documentation

◆ DynamicAsset() [1/2]

DynamicAsset< T >.DynamicAsset ( )
inline

Definition at line 23 of file DynamicAsset.cs.

24 {
25 }

◆ DynamicAsset() [2/2]

DynamicAsset< T >.DynamicAsset ( string  groupId,
bool  instantiate 
)
inline

Definition at line 27 of file DynamicAsset.cs.

28 {
29 this.groupId = groupId;
30 this.instantiate = instantiate;
31 }
string groupId
Definition: DynamicAsset.cs:11
bool instantiate
Definition: DynamicAsset.cs:19

References DynamicAsset< T >.groupId, and DynamicAsset< T >.instantiate.

Member Function Documentation

◆ GetNew()

T DynamicAsset< T >.GetNew ( string  id,
Transform  parent = null 
)
inline

Definition at line 43 of file DynamicAsset.cs.

44 {
45 T original = GetOriginal(id);
46 if (!instantiate || original == null)
47 {
48 return original;
49 }
50 T val = (usePool ? PoolManager.Spawn<T>(groupId + "/" + id, groupId + "/" + id) : UnityEngine.Object.Instantiate(original).GetComponent<T>());
51 if ((bool)parent)
52 {
53 val.transform.SetParent(parent, worldPositionStays: false);
54 }
55 return val;
56 }
T GetOriginal(string id)
Definition: DynamicAsset.cs:58
static Transform Spawn(string id, string path, Transform parent)
Definition: PoolManager.cs:86

References DynamicAsset< T >.GetOriginal(), DynamicAsset< T >.groupId, DynamicAsset< T >.instantiate, PoolManager.Spawn(), and DynamicAsset< T >.usePool.

◆ GetOriginal()

T DynamicAsset< T >.GetOriginal ( string  id)
inline

Definition at line 58 of file DynamicAsset.cs.

59 {
60 if (!initialized)
61 {
62 Init();
63 }
64 if (map.TryGetValue(id, out var value))
65 {
66 return value;
67 }
68 string arg = groupId + "/" + id;
69 for (int i = 0; i < assetLoaders.Count; i++)
70 {
71 try
72 {
73 value = assetLoaders[i](arg);
74 if ((bool)value)
75 {
76 break;
77 }
78 }
79 catch
80 {
81 }
82 }
83 map[id] = value;
84 list.Add(value);
85 return value;
86 }
bool initialized
Definition: DynamicAsset.cs:21
List< T > list
Definition: DynamicAsset.cs:13
static List< Func< string, T > > assetLoaders
Definition: DynamicAsset.cs:9
Dictionary< string, T > map
Definition: DynamicAsset.cs:15

References DynamicAsset< T >.assetLoaders, DynamicAsset< T >.groupId, DynamicAsset< T >.Init(), DynamicAsset< T >.initialized, DynamicAsset< T >.list, and DynamicAsset< T >.map.

Referenced by DynamicAsset< T >.GetNew().

◆ Init()

void DynamicAsset< T >.Init ( )
inlineprivate

Definition at line 33 of file DynamicAsset.cs.

34 {
35 map = new Dictionary<string, T>();
36 foreach (T item in list)
37 {
38 map.Add(item.name, item);
39 }
40 initialized = true;
41 }

References DynamicAsset< T >.initialized, item, DynamicAsset< T >.list, and DynamicAsset< T >.map.

Referenced by DynamicAsset< T >.GetOriginal().

Member Data Documentation

◆ assetLoaders

List<Func<string, T> > DynamicAsset< T >.assetLoaders = new List<Func<string, T>> { Resources.Load<T> }
static

Definition at line 9 of file DynamicAsset.cs.

Referenced by DynamicAsset< T >.GetOriginal().

◆ groupId

string DynamicAsset< T >.groupId = ""

◆ initialized

bool DynamicAsset< T >.initialized
private

Definition at line 21 of file DynamicAsset.cs.

Referenced by DynamicAsset< T >.GetOriginal(), and DynamicAsset< T >.Init().

◆ instantiate

bool DynamicAsset< T >.instantiate = true

Definition at line 19 of file DynamicAsset.cs.

Referenced by DynamicAsset< T >.DynamicAsset(), and DynamicAsset< T >.GetNew().

◆ list

List<T> DynamicAsset< T >.list = new List<T>()

Definition at line 13 of file DynamicAsset.cs.

Referenced by DynamicAsset< T >.GetOriginal(), and DynamicAsset< T >.Init().

◆ map

Dictionary<string, T> DynamicAsset< T >.map

Definition at line 15 of file DynamicAsset.cs.

Referenced by DynamicAsset< T >.GetOriginal(), and DynamicAsset< T >.Init().

◆ usePool

bool DynamicAsset< T >.usePool

The documentation for this class was generated from the following file: