Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_CampaignMapUIService.c
Go to the documentation of this file.
1//------------------------------------------------------------------------------
3{
5
7
8 protected bool m_bEnabled;
9 protected string m_sServiceName;
10 protected string m_sServiceIcon;
11 protected string m_sServiceText;
12
13 //------------------------------------------------------------------------------
14 override bool OnMouseEnter(Widget w, int x, int y)
15 {
17
18 ShowHint(true);
19 if (m_ParentBase)
20 m_ParentBase.m_bIsAnyElementHovered = true;
21
22 return false;
23 }
24
25 //------------------------------------------------------------------------------
26 override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
27 {
28 ShowHint(false);
29 if (m_ParentBase)
30 m_ParentBase.m_bIsAnyElementHovered = false;
31
32 return false;
33 }
34
35 //------------------------------------------------------------------------------
36 override bool OnClick(Widget w, int x, int y, int button)
37 {
39 if (m_MapItem && m_MapItem.IsVisible() && mapa)
40 {
41 vector pos = m_MapItem.GetPos();
42 mapa.ZoomPanSmooth(10, pos[0], pos[2]);
43 }
44
45 return false;
46 }
47
48 //------------------------------------------------------------------------------
49 override void AnimExpand()
50 {
51 }
52
53 //------------------------------------------------------------------------------
54 override void AnimCollapse()
55 {
56 }
57
58 //------------------------------------------------------------------------------
59 override void HandlerAttached(Widget w)
60 {
61 super.HandlerAttached(w);
62 m_eIconType = SCR_EIconType.SERVICE;
63 }
64
65 //------------------------------------------------------------------------------
66 void ShowHint(bool show)
67 {
68 if (m_ParentBase)
69 {
71
72 if (m_eServiceType == EEditableEntityLabel.SERVICE_SUPPLY_STORAGE && base)
73 {
74 Faction playerFaction = SCR_FactionManager.SGetLocalPlayerFaction();
75 if (base.GetFaction() == playerFaction)
76 {
77 int supplies = base.GetSupplies();
78 int suppliesMax = base.GetSuppliesMax();
79
80 m_sServiceText = "#AR-Campaign_BaseSuppliesHintAmount";
81 m_ParentBase.ShowServiceHint(m_sServiceName, m_sServiceText, show, supplies, suppliesMax);
82 }
83 else
84 {
85 m_sServiceText = "#AR-Campaign_BaseSuppliesHintUnknown";
86 m_ParentBase.ShowServiceHint(m_sServiceName, m_sServiceText, show);
87 }
88 }
89 else
90 {
91 m_ParentBase.ShowServiceHint(m_sServiceName, m_sServiceText, show);
92 }
93 }
94 }
95
96 //------------------------------------------------------------------------------
98 {
99 switch (m_eServiceType)
100 {
101 case SCR_EServicePointType.BARRACKS:
102 {
104 m_sServiceName = "#AR-Campaign_Building_Barracks";
105 } break;
106
107 case SCR_EServicePointType.FIELD_HOSPITAL:
108 {
110 m_sServiceName = "#AR-Campaign_Building_FieldHospital";
111 } break;
112
113 case SCR_EServicePointType.LIGHT_VEHICLE_DEPOT:
114 {
116 m_sServiceName = "#AR-Comm_Variable_Miscellaneous_LightVehicleDepot";
117 } break;
118
119 case SCR_EServicePointType.HEAVY_VEHICLE_DEPOT:
120 {
122 m_sServiceName = "#AR-Comm_Variable_Miscellaneous_HeavyVehicleDepot";
123 } break;
124
125 case SCR_EServicePointType.RADIO_ANTENNA:
126 {
128 m_sServiceName = "#AR-Comm_Variable_Miscellaneous_RadioAntenna";
129 } break;
130
131 case SCR_EServicePointType.SUPPLY_DEPOT:
132 {
134 m_sServiceName = "#AR-Comm_Variable_Miscellaneous_Supplydepot_US";
135 } break;
136
137 case SCR_EServicePointType.ARMORY:
138 {
140 m_sServiceName = "#AR-Campaign_Building_Armory";
141 } break;
142
143 case SCR_EServicePointType.FUEL_DEPOT:
144 {
146 m_sServiceName = "#AR-Comm_Variable_Miscellaneous_Fueldepot_US";
147 } break;
148
149 case SCR_EServicePointType.HELIPAD:
150 {
152 m_sServiceName = "#AR-EditableEntity_Helipad_L_US_01_Name";
153 } break;
154
155 /*case SCR_EServicePointType.VEHICLE_DEPOT:
156 {
157 SetImage(m_sVehicleDepot);
158 m_sServiceName = "#AR-Campaign_Building_MotorPool";
159 } break;*/
160 }
161 }
162
163 //------------------------------------------------------------------------------
165 {
166 m_ParentBase = parent;
167 }
168
169 //------------------------------------------------------------------------------
170 void SetService(EEditableEntityLabel type, SCR_ServicePointDelegateComponent service)
171 {
172 m_bEnabled = service != null;
175
176 if (!service)
177 return;
178
179 IEntity owner = service.GetOwner();
180
181 if (!owner)
182 return;
183
185
186 if (!descr)
187 {
188 IEntity compositionParent = SCR_EntityHelper.GetMainParent(owner, true);
190 }
191
192 if (descr)
193 m_MapItem = descr.Item();
194 }
195
196 //------------------------------------------------------------------------------
197 override void SetImage(string image)
198 {
199 m_sServiceIcon = image;
200 string suffix = string.Empty;
201
203 if (img)
204 {
205 img.SetImage(m_sImageSet, image + suffix);
206 img.SetEnabled(m_bEnabled);
207 }
208 }
209};
EEditableEntityLabel
EDamageType type
void SCR_FactionManager(IEntitySource src, IEntity parent)
SCR_EIconType
void SCR_ServicePointMapDescriptorComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
proto external Managed FindComponent(typename typeName)
SCR_EServicePointType m_eServiceType
override void HandlerAttached(Widget w)
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
void SetService(EEditableEntityLabel type, SCR_ServicePointDelegateComponent service)
override bool OnClick(Widget w, int x, int y, int button)
void SetParent(SCR_CampaignMapUIBase parent)
SCR_CampaignMapUIBase m_ParentBase
override void SetImage(string image)
override bool OnMouseEnter(Widget w, int x, int y)
static IEntity GetMainParent(IEntity entity, bool self=false)
void ZoomPanSmooth(float targetPixPerUnit, float worldX, float worldY, float zoomTime=0.25)
static SCR_MapEntity GetMapInstance()
Get map entity instance.
SCR_EIconType m_eIconType
void PlayHoverSound(string sound)