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_ArsenalAmmunitionModeAttribute.c
Go to the documentation of this file.
1
[
BaseContainerProps
(),
SCR_BaseEditorAttributeCustomTitle
()]
2
class
SCR_ArsenalAmmunitionModeAttribute
:
SCR_BaseFloatValueHolderEditorAttribute
3
{
4
//------------------------------------------------------------------------------------------------
5
override
SCR_BaseEditorAttributeVar
ReadVariable(Managed item, SCR_AttributesManagerEditorComponent manager)
6
{
7
SCR_EditableEntityComponent
editableEntity =
SCR_EditableEntityComponent
.Cast(item);
8
if
(!editableEntity)
9
return
null;
10
11
SCR_ArsenalComponent
arsenalComponent =
SCR_ArsenalComponent
.
FindArsenalComponent
(editableEntity.GetOwner());
12
if
(!arsenalComponent)
13
return
null;
14
15
SCR_EArsenalAttributeGroup
arsenalGroups = arsenalComponent.
GetEditableAttributeGroups
();
16
if
(!(arsenalGroups &
SCR_EArsenalAttributeGroup
.AMMUNITION_MODE) || !(arsenalGroups &
SCR_EArsenalAttributeGroup
.WEAPONS))
17
return
null;
18
19
SCR_EArsenalItemMode
itemMode = arsenalComponent.
GetSupportedArsenalItemModes
();
20
21
int
weaponsAmmunitionIndex;
22
23
if
((itemMode &
SCR_EArsenalItemMode
.WEAPON) && (itemMode &
SCR_EArsenalItemMode
.AMMUNITION))
24
weaponsAmmunitionIndex = 0;
25
else
if
(itemMode &
SCR_EArsenalItemMode
.WEAPON)
26
weaponsAmmunitionIndex = 1;
27
else
28
weaponsAmmunitionIndex = 2;
29
30
return
SCR_BaseEditorAttributeVar
.
CreateInt
(weaponsAmmunitionIndex);
31
}
32
33
//---- REFACTOR NOTE START: weaponsAmmunitionIndex seem oddly specific but hard to understand ----
34
35
//------------------------------------------------------------------------------------------------
36
override
void
WriteVariable(Managed item,
SCR_BaseEditorAttributeVar
var, SCR_AttributesManagerEditorComponent manager,
int
playerID)
37
{
38
if
(!var)
39
return
;
40
41
SCR_EditableEntityComponent
editableEntity =
SCR_EditableEntityComponent
.Cast(item);
42
if
(!editableEntity)
43
return
;
44
45
SCR_ArsenalComponent
arsenalComponent =
SCR_ArsenalComponent
.
FindArsenalComponent
(editableEntity.GetOwner());
46
if
(!arsenalComponent)
47
return
;
48
49
SCR_EArsenalItemMode
itemMode = arsenalComponent.
GetSupportedArsenalItemModes
();
50
51
int
weaponsAmmunitionIndex = var.
GetInt
();
52
53
if
(weaponsAmmunitionIndex == 0)
54
{
55
itemMode |=
SCR_EArsenalItemMode
.WEAPON;
56
itemMode |=
SCR_EArsenalItemMode
.WEAPON_VARIANTS;
57
itemMode |=
SCR_EArsenalItemMode
.AMMUNITION;
58
}
59
else
if
(weaponsAmmunitionIndex == 1)
60
{
61
itemMode |=
SCR_EArsenalItemMode
.WEAPON;
62
itemMode |=
SCR_EArsenalItemMode
.WEAPON_VARIANTS;
63
itemMode &=
~SCR_EArsenalItemMode
.AMMUNITION;
64
}
65
else
66
{
67
itemMode &=
~SCR_EArsenalItemMode
.WEAPON;
68
itemMode &=
~SCR_EArsenalItemMode
.WEAPON_VARIANTS;
69
itemMode |=
SCR_EArsenalItemMode
.AMMUNITION;
70
}
71
72
arsenalComponent.
SetSupportedArsenalItemModes
(itemMode);
73
}
74
75
//---- REFACTOR NOTE END ----
76
}
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
SCR_EArsenalAttributeGroup
SCR_EArsenalAttributeGroup
Definition
SCR_EArsenalAttributeGroup.c:2
SCR_EArsenalItemMode
SCR_EArsenalItemMode
Definition
SCR_EArsenalItemMode.c:2
SCR_ArsenalAmmunitionModeAttribute
Definition
SCR_ArsenalAmmunitionModeAttribute.c:3
SCR_ArsenalComponent
Definition
SCR_ArsenalComponent.c:10
SCR_ArsenalComponent::GetEditableAttributeGroups
SCR_EArsenalAttributeGroup GetEditableAttributeGroups()
Definition
SCR_ArsenalComponent.c:269
SCR_ArsenalComponent::FindArsenalComponent
static SCR_ArsenalComponent FindArsenalComponent(notnull IEntity entity, bool getFromSlotted=true)
Definition
SCR_ArsenalComponent.c:232
SCR_ArsenalComponent::SetSupportedArsenalItemModes
void SetSupportedArsenalItemModes(SCR_EArsenalItemMode modes)
Definition
SCR_ArsenalComponent.c:261
SCR_ArsenalComponent::GetSupportedArsenalItemModes
SCR_EArsenalItemMode GetSupportedArsenalItemModes()
Definition
SCR_ArsenalComponent.c:254
SCR_BaseEditorAttributeCustomTitle
Definition
SCR_BaseEditorAttribute.c:876
SCR_BaseEditorAttributeVar
Definition
SCR_BaseEditorAttributeVar.c:2
SCR_BaseEditorAttributeVar::CreateInt
static SCR_BaseEditorAttributeVar CreateInt(int value)
Definition
SCR_BaseEditorAttributeVar.c:107
SCR_BaseEditorAttributeVar::GetInt
int GetInt()
Definition
SCR_BaseEditorAttributeVar.c:20
SCR_BaseFloatValueHolderEditorAttribute
Attribute base for Name, icon and float value for other attributes to inherent from.
Definition
SCR_BaseFloatValueHolderEditorAttribute.c:4
SCR_EditableEntityComponent
Definition
SCR_EditableEntityComponent.c:14
scripts
Game
Editor
Containers
Attributes
SCR_ArsenalAmmunitionModeAttribute.c
Generated by
1.17.0