Elin Decompiled Documentation EA 23.102 Nightly
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
 

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 20 of file DynamicAsset.cs.

21 {
22 }

◆ DynamicAsset() [2/2]

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

Definition at line 24 of file DynamicAsset.cs.

25 {
26 this.groupId = groupId;
27 this.instantiate = instantiate;
28 }
string groupId
Definition: DynamicAsset.cs:8
bool instantiate
Definition: DynamicAsset.cs:16

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 40 of file DynamicAsset.cs.

41 {
42 T original = GetOriginal(id);
43 if (!instantiate || original == null)
44 {
45 return original;
46 }
47 T val = (usePool ? PoolManager.Spawn<T>(groupId + "/" + id, groupId + "/" + id) : UnityEngine.Object.Instantiate(original).GetComponent<T>());
48 if ((bool)parent)
49 {
50 val.transform.SetParent(parent, worldPositionStays: false);
51 }
52 return val;
53 }
T GetOriginal(string id)
Definition: DynamicAsset.cs:55
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 55 of file DynamicAsset.cs.

56 {
57 if (!initialized)
58 {
59 Init();
60 }
61 if (map.TryGetValue(id, out var value))
62 {
63 return value;
64 }
65 value = Resources.Load<T>(groupId + "/" + id);
66 map[id] = value;
67 list.Add(value);
68 return value;
69 }
bool initialized
Definition: DynamicAsset.cs:18
List< T > list
Definition: DynamicAsset.cs:10
Dictionary< string, T > map
Definition: DynamicAsset.cs:12

References 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 30 of file DynamicAsset.cs.

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

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

Referenced by DynamicAsset< T >.GetOriginal().

Member Data Documentation

◆ groupId

string DynamicAsset< T >.groupId = ""

◆ initialized

bool DynamicAsset< T >.initialized
private

Definition at line 18 of file DynamicAsset.cs.

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

◆ instantiate

bool DynamicAsset< T >.instantiate = true

Definition at line 16 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 10 of file DynamicAsset.cs.

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

◆ map

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

Definition at line 12 of file DynamicAsset.cs.

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

◆ usePool

bool DynamicAsset< T >.usePool

Definition at line 14 of file DynamicAsset.cs.

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


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