Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_BuildingConfigManagerEntity.c
Go to the documentation of this file.
1//------------------------------------------------------------------------------------------------
2class SCR_BuildingConfigManagerEntityClass: GenericEntityClass
3{
4};
5
6//------------------------------------------------------------------------------------------------
7class SCR_BuildingConfigManagerEntity : GenericEntity
8{
9 static SCR_BuildingConfigManagerEntity s_Instance = null;
10
12
13 //------------------------------------------------------------------------------------------------
14 static void CreateInstance()
15 {
16 if (!s_Instance)
17 GetGame().SpawnEntity(SCR_BuildingConfigManagerEntity);
18 }
19
20 //------------------------------------------------------------------------------------------------
21 static SCR_BuildingSetup ReloadConfig(ResourceName configPath)
22 {
23 if (configPath == string.Empty)
24 return null;
25
26 if (!s_Instance)
27 return null;
28
29 s_Instance.m_BuildingSetups.Remove(configPath);
30
31 return GetBuildingSetupFromConfig(configPath);
32 }
33
34 //------------------------------------------------------------------------------------------------
35 static SCR_BuildingSetup GetBuildingSetupFromConfig(ResourceName configPath)
36 {
37 if (configPath == string.Empty)
38 return null;
39
40 CreateInstance();
41
42 SCR_BuildingSetup buildSetup = s_Instance.m_BuildingSetups.Get(configPath);
43 if (!buildSetup)
44 {
45 Resource holder = BaseContainerTools.LoadContainer(configPath);
46 if (!holder)
47 return null;
48
49 buildSetup = SCR_BuildingSetup.Cast(BaseContainerTools.CreateInstanceFromContainer(holder.GetResource().ToBaseContainer()));
50 if (!buildSetup)
51 return null;
52
53 buildSetup.SetConfigPath(configPath);
54 buildSetup.Init();
55 s_Instance.m_BuildingSetups.Insert(configPath, buildSetup);
56 }
57
58 return buildSetup;
59 }
60
61 //------------------------------------------------------------------------------------------------
62 void SCR_BuildingConfigManagerEntity(IEntitySource src, IEntity parent)
63 {
64 s_Instance = this;
65 }
66
67 //------------------------------------------------------------------------------------------------
68 void ~SCR_BuildingConfigManagerEntity()
69 {
70 if (s_Instance == this)
71 s_Instance = null;
72 }
73};
ArmaReforgerScripted GetGame()
Definition game.c:1398
void IEntity(IEntitySource src, IEntity parent)
protected script Constructor
Object holding reference to resource. In destructor release the resource.
Definition Resource.c:25
Definition Types.c:486