Arma Reforger Explorer  1.1.0.42
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
SCR_PassagerTooltipDetail.c
Go to the documentation of this file.
3 {
4  protected TextWidget m_Text;
5  protected SCR_BaseCompartmentManagerComponent m_CompartmentManager;
6 
7  [Attribute("#AR-Editor_TooltipDetail_CompartmentFill")]
8  private string m_sCompartmentFillText;
9 
10  //------------------------------------------------------------------------------------------------
11  override bool NeedUpdate()
12  {
13  return m_CompartmentManager != null;
14  }
15 
16  //------------------------------------------------------------------------------------------------
17  override void UpdateDetail(SCR_EditableEntityComponent entity)
18  {
19  if (!m_CompartmentManager || !m_Text)
20  return;
21 
22  array<BaseCompartmentSlot> compartments = {};
23  m_CompartmentManager.GetCompartmentsOfType(compartments, ECompartmentType.Cargo);
24 
25  int total = compartments.Count();
26  int occupied;
27  for (int i = 0; i < total; i++)
28  {
29  if (compartments[i].GetOccupant())
30  occupied++;
31  }
32 
33  m_Text.SetTextFormat(m_sCompartmentFillText, occupied, total);
34  }
35 
36  //------------------------------------------------------------------------------------------------
37  override bool InitDetail(SCR_EditableEntityComponent entity, Widget widget)
38  {
39  m_Text = TextWidget.Cast(widget);
40  if (!m_Text)
41  return false;
42 
43  m_CompartmentManager = SCR_BaseCompartmentManagerComponent.Cast(entity.GetOwner().FindComponent(SCR_BaseCompartmentManagerComponent));
44 
46  return false;
47 
48  array<BaseCompartmentSlot> compartments = {};
49  m_CompartmentManager.GetCompartmentsOfType(compartments, ECompartmentType.Cargo);
50 
51  if (compartments.IsEmpty())
52  return false;
53 
54  DamageManagerComponent damageManager = DamageManagerComponent.Cast(entity.GetOwner().FindComponent(DamageManagerComponent));
55  if (damageManager && damageManager.GetState() == EDamageState.DESTROYED)
56  return false;
57 
58  return true;
59  }
60 }
GetOccupant
IEntity GetOccupant(IEntity slot)
Definition: SCR_CompositionSlotManagerComponent.c:72
ECompartmentType
ECompartmentType
Definition: ECompartmentType.c:7
EDamageState
EDamageState
Definition: EDamageState.c:12
BaseContainerCustomTitleField
class SCR_KeyBindingFilter BaseContainerCustomTitleField("m_sBindString")
Definition: SCR_KeyBindingMenuConfig.c:113
Attribute
typedef Attribute
Post-process effect of scripted camera.
m_CompartmentManager
protected SCR_BaseCompartmentManagerComponent m_CompartmentManager
Definition: SCR_VehicleDamageManagerComponent.c:191
SCR_EntityTooltipDetail
Definition: SCR_EntityTooltipDetail.c:2
SCR_EditableEntityComponent
Definition: SCR_EditableEntityComponent.c:13
SCR_PassagerTooltipDetail
Definition: SCR_PassagerTooltipDetail.c:2
DamageManagerComponent
Definition: DamageManagerComponent.c:12
BaseContainerProps
SCR_AIGoalReaction_Follow BaseContainerProps
Handles insects that are supposed to be spawned around selected prefabs defined in prefab names array...
Definition: SCR_AIGoalReaction.c:468