Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_BuildingConfigManagerEntity.c
Go to the documentation of this file.
1
//------------------------------------------------------------------------------------------------
2
class
SCR_BuildingConfigManagerEntityClass
: GenericEntityClass
3
{
4
};
5
6
//------------------------------------------------------------------------------------------------
7
class
SCR_BuildingConfigManagerEntity :
GenericEntity
8
{
9
static
SCR_BuildingConfigManagerEntity s_Instance = null;
10
11
ref
map<ResourceName, ref SCR_BuildingSetup>
m_BuildingSetups =
new
map<ResourceName, ref SCR_BuildingSetup>
();
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
};
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BaseContainerTools
Definition
BaseContainerTools.c:13
GenericEntity
Definition
GenericEntity.c:16
IEntity::IEntity
void IEntity(IEntitySource src, IEntity parent)
protected script Constructor
IEntitySource
Definition
IEntitySource.c:13
Resource
Object holding reference to resource. In destructor release the resource.
Definition
Resource.c:25
ResourceName
Definition
ResourceName.c:13
SCR_BuildingConfigManagerEntityClass
Definition
SCR_BuildingConfigManagerEntity.c:3
SCR_BuildingSetup
Definition
SCR_BuildingSetup.c:5
map
Definition
Types.c:486
scripts
Game
Destruction
Building
SCR_BuildingConfigManagerEntity.c
Generated by
1.17.0