Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_BaseManualCameraComponent.c
Go to the documentation of this file.
2
4[BaseContainerProps(), SCR_BaseManualCameraComponentTitle()]
6{
7 [Attribute("1")]
8 private bool m_bEnabled;
9
10 [Attribute("", UIWidgets.Flags, enums: ParamEnumArray.FromEnum(EManualCameraFlag))]
11 private EManualCameraFlag m_FlagsWhitelist;
12
13 [Attribute("", UIWidgets.Flags, enums: ParamEnumArray.FromEnum(EManualCameraFlag))]
14 private EManualCameraFlag m_FlagsBlacklist;
15
16 [Attribute("", UIWidgets.Auto, "Component processing priority. Higher value = higher priority")]
17 protected int m_iPriority;
18
21
25 //------------------------------------------------------------------------------------------------
29
30 //------------------------------------------------------------------------------------------------
34
35 //------------------------------------------------------------------------------------------------
38
39 //------------------------------------------------------------------------------------------------
42
43 //------------------------------------------------------------------------------------------------
47 void EOnCameraParentChange(bool attached, IEntity parent);
48
49 //------------------------------------------------------------------------------------------------
53
54 //------------------------------------------------------------------------------------------------
59
61 //--- Custom functions
62
63 //------------------------------------------------------------------------------------------------
65 {
66 return m_Camera;
67 }
68
69 //------------------------------------------------------------------------------------------------
71 {
72 return m_InputManager;
73 }
74
75 //------------------------------------------------------------------------------------------------
77 {
78 if (!m_Camera.GetParent())
79 return pos;
80
81 return m_Camera.GetParent().CoordToLocal(pos);
82 }
83
84 //------------------------------------------------------------------------------------------------
86 {
87 if (!m_Camera.GetParent())
88 return pos;
89
90 return m_Camera.GetParent().CoordToParent(pos);
91 }
92
93 //------------------------------------------------------------------------------------------------
96 void SetEnabled(bool enabled)
97 {
98 m_bEnabled = enabled;
99 }
100
101 //------------------------------------------------------------------------------------------------
105 {
106 return m_bEnabled;
107 }
108
109 //------------------------------------------------------------------------------------------------
113 {
114 return m_iPriority;
115 }
116
117 //------------------------------------------------------------------------------------------------
122 {
123 return m_bEnabled && (flag & m_FlagsWhitelist) == m_FlagsWhitelist && (flag & m_FlagsBlacklist) == 0;
124 }
125
126 //------------------------------------------------------------------------------------------------
131 {
132 m_Camera = camera;
133 m_InputManager = GetGame().GetInputManager();
134 return EOnCameraInit();
135 }
136}
137
138class SCR_BaseManualCameraComponentTitle : BaseContainerCustomTitle
139{
140 //------------------------------------------------------------------------------------------------
141 override bool _WB_GetCustomTitle(BaseContainer source, out string title)
142 {
143 title = source.GetClassName();
144 title.Replace("SCR_", "");
145 title.Replace("ManualCameraComponent", "");
146
147 EManualCameraFlag flagsWhitelist = 0;
148 source.Get("m_FlagsWhitelist", flagsWhitelist);
149 string textWhitelist;
150 if (flagsWhitelist != 0)
151 {
152 array<int> bitValues = {};
153 SCR_Enum.BitToIntArray(flagsWhitelist, bitValues);
154 foreach (int i, int value: bitValues)
156 if (i != 0)
157 textWhitelist += " && ";
158
159 textWhitelist += typename.EnumToString(EManualCameraFlag, value);
160 }
161 }
162
163 EManualCameraFlag flagsBlacklist = 0;
164 source.Get("m_FlagsBlacklist", flagsBlacklist);
165 string textBlacklist;
166 if (flagsBlacklist != 0)
167 {
168 if (flagsWhitelist != 0)
169 textBlacklist += " && ";
170
171 array<int> bitValues = {};
172 SCR_Enum.BitToIntArray(flagsBlacklist, bitValues);
173 foreach (int i, int value: bitValues)
174 {
175 if (i != 0)
176 textBlacklist += " && ";
177
178 textBlacklist += "!" + typename.EnumToString(EManualCameraFlag, value);
179 }
180 }
181
182 if (flagsWhitelist != 0 || flagsBlacklist != 0)
183 title = string.Format("[%1] %2", textWhitelist + textBlacklist, title);
184
185 int priority = 0;
186 if (source.Get("m_iPriority", priority))
187 title = string.Format("%1: %2", priority.ToString(2), title);
188
189 bool enabled = true;
190 if (source.Get("m_bEnabled", enabled) && !enabled)
191 title = string.Format("// %1", title);
193 return true;
194 }
195}
ArmaReforgerScripted GetGame()
Definition game.c:1398
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Get all prefabs that have the spawner data
Input management system for user interactions.
Parent class from which all SCR_ManualCamera components inherit.
void EOnCameraFrame(SCR_ManualCameraParam param)
void EOnCameraParentChange(bool attached, IEntity parent)
void EOnCameraReset()
Camera value are reset.
void EOnCameraLoad(SCR_ManualCameraComponentSave data)
void EOnCameraExit()
Terminate the component.
void EOnCameraSave(SCR_ManualCameraComponentSave data)
Parameter for carrying information between individual camera components.
SCR_FieldOfViewSettings Attribute
EManualCameraFlag
class SCR_BaseManualCameraComponent _WB_GetCustomTitle(BaseContainer source, out string title)