Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_ResourceSystemSubscriptionHandleBase.c
Go to the documentation of this file.
2{
3 protected RplId m_OwnerRplId;
5 protected typename m_InteractorType;
10
11 //------------------------------------------------------------------------------------------------
12 static SCR_ResourceSystemSubscriptionHandleBase CreateHandle(notnull SCR_ResourceSystemSubscriptionManager manager, RplId ownerRplId, RplId resourceComponentRplId, typename interactorType, EResourceType resourceType, EResourceGeneratorID resourceIdentifier)
13 {
14 Managed owner = Replication.FindItem(ownerRplId);
15
16 if (!owner)
17 return null;
18
19 SCR_ResourceSystemSubscriptionHandleBase handle = manager.GetHandle(resourceComponentRplId, interactorType, resourceType, resourceIdentifier);
20
21 if (handle)
22 return handle;
23
24 string stringType = string.Format("SCR_ResourceSystemSubscriptionHandle<%1>", owner.Type());
25 typename type = stringType.ToType();
27
28 if (!handle)
29 return null;
30
31 handle.OnInit(manager, ownerRplId, resourceComponentRplId, interactorType, resourceType, resourceIdentifier);
32
33 return handle;
34 }
35
36 //------------------------------------------------------------------------------------------------
41
42 //------------------------------------------------------------------------------------------------
44 {
45 return m_OwnerRplId;
46 }
47
48 //------------------------------------------------------------------------------------------------
53
54 //------------------------------------------------------------------------------------------------
56 {
57 return m_InteractorType;
58 }
59
60 //------------------------------------------------------------------------------------------------
65
66 //------------------------------------------------------------------------------------------------
71
72 //------------------------------------------------------------------------------------------------
73 void Poke()
74 {
75 m_fLastPokedAt = GetGame().GetWorld().GetTimestamp();
76 }
77
78 //------------------------------------------------------------------------------------------------
79 protected void OnDelete()
80 {
82 m_SubscriptionManager.OnSubscriptionListenerHandleDeleted(this);
83 }
84
85 //------------------------------------------------------------------------------------------------
86 protected void OnInit(notnull SCR_ResourceSystemSubscriptionManager manager, RplId ownerRplId, RplId resourceComponentRplId, typename interactorType, EResourceType resourceType, EResourceGeneratorID resourceIdentifier)
87 {
88 m_SubscriptionManager = manager;
89 m_OwnerRplId = ownerRplId;
90 m_ResourceComponentRplId = resourceComponentRplId;
91 m_InteractorType = interactorType;
92 m_eResourceType = resourceType;
93 m_eResourceIdentifier = resourceIdentifier;
94 }
95
96 //------------------------------------------------------------------------------------------------
97 sealed void SCR_ResourceSystemSubscriptionHandleBase(SCR_ResourceSystemSubscriptionManager manager, RplId ownerRplId, RplId resourceComponentRplId, typename interactorType, EResourceType resourceType, EResourceGeneratorID resourceIdentifier)
98 {
99 if (manager)
100 OnInit(manager, ownerRplId, resourceComponentRplId, interactorType, resourceType, resourceIdentifier);
101 }
102
103 //------------------------------------------------------------------------------------------------
105 {
106 OnDelete();
107 }
108}
ArmaReforgerScripted GetGame()
Definition game.c:1398
EDamageType type
EResourceGeneratorID
Main replication API.
Definition Replication.c:14
Replication item identifier.
Definition RplId.c:14
static SCR_ResourceSystemSubscriptionHandleBase CreateHandle(notnull SCR_ResourceSystemSubscriptionManager manager, RplId ownerRplId, RplId resourceComponentRplId, typename interactorType, EResourceType resourceType, EResourceGeneratorID resourceIdentifier)
sealed void SCR_ResourceSystemSubscriptionHandleBase(SCR_ResourceSystemSubscriptionManager manager, RplId ownerRplId, RplId resourceComponentRplId, typename interactorType, EResourceType resourceType, EResourceGeneratorID resourceIdentifier)
void OnInit(notnull SCR_ResourceSystemSubscriptionManager manager, RplId ownerRplId, RplId resourceComponentRplId, typename interactorType, EResourceType resourceType, EResourceGeneratorID resourceIdentifier)