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_EditorMetaStruct.c
Go to the documentation of this file.
1
6
[
Obsolete
(
"Only used for backwards compatiblity for GM saves. Will be removed entirely."
)]
7
class
SCR_EditorMetaStruct
:
JsonApiStruct
8
{
9
protected
float
pX
;
//--- Camera pos X
10
protected
float
pY
;
//--- Camera pos Y
11
protected
float
pZ
;
//--- Camera pos Z
12
protected
float
qX
;
//--- Camera quaternion X
13
protected
float
qY
;
//--- Camera quaternion Y
14
protected
float
qZ
;
//--- Camera quaternion Z
15
protected
float
qW
;
//--- Camera quaternion W
16
17
void
Serialize
()
18
{
19
SCR_ManualCamera
camera =
SCR_CameraEditorComponent
.
GetCameraInstance
();
20
if
(camera)
21
{
22
vector
transform[4];
23
camera.GetWorldTransform(transform);
24
25
pX
= transform[3][0];
26
pY
= transform[3][1];
27
pZ
= transform[3][2];
28
29
float
quat[4];
30
Math3D
.MatrixToQuat(transform, quat);
31
qX
= quat[0];
32
qY
= quat[1];
33
qZ
= quat[2];
34
qW
= quat[3];
35
}
36
}
37
void
Deserialize
()
38
{
39
SCR_EditorManagerEntity
editorManager =
SCR_EditorManagerEntity
.GetInstance();
40
if
(editorManager)
41
{
42
//--- Editor manager exists, load camera directly
43
OnEditorManagerCreated
(editorManager);
44
}
45
else
46
{
47
//--- Editor manager does not exist yet (e.g., on mission start), wait for it to be created
48
SCR_EditorManagerCore
core =
SCR_EditorManagerCore
.Cast(
SCR_EditorManagerCore
.GetInstance(
SCR_EditorManagerCore
));
49
if
(core)
50
core.Event_OnEditorManagerInitOwner.Insert(
OnEditorManagerCreated
);
51
}
52
}
53
void
ClearCache
()
54
{
55
pX
= 0;
56
pY
= 0;
57
pZ
= 0;
58
qX
= 0;
59
qY
= 0;
60
qZ
= 0;
61
qW
= 0;
62
}
63
protected
void
OnEditorManagerCreated
(
SCR_EditorManagerEntity
editorManager)
64
{
65
//--- Wait one frame for editor modes to be initialized
66
GetGame
().GetCallqueue().CallLater(
OnEditorManagerCreatedDelayed
, 1,
false
);
67
}
68
protected
void
OnEditorManagerCreatedDelayed
()
69
{
70
SCR_CameraEditorComponent
editorCameraManager =
SCR_CameraEditorComponent
.Cast(
SCR_CameraEditorComponent
.GetInstance(
SCR_CameraEditorComponent
));
71
if
(!editorCameraManager)
72
return
;
73
74
SCR_ManualCamera
camera = editorCameraManager.
GetCamera
();
75
if
(camera)
76
//--- Camera exists, load it directly
77
OnCameraCreated
(camera);
78
else
79
//--- Camera does not exist (e.g., editor not opened yet), wait for it to be created
80
editorCameraManager.
GetOnCameraCreate
().Insert(
OnCameraCreated
);
81
82
SCR_EditorManagerCore
core =
SCR_EditorManagerCore
.Cast(
SCR_EditorManagerCore
.GetInstance(
SCR_EditorManagerCore
));
83
if
(core)
84
core.Event_OnEditorManagerInitOwner.Remove(
OnEditorManagerCreated
);
85
}
86
protected
void
OnCameraCreated
(
SCR_ManualCamera
camera)
87
{
88
vector
transform[4];
89
transform[3] =
Vector
(
pX
,
pY
,
pZ
);
90
91
if
(transform[3] !=
vector
.Zero)
92
{
93
float
quat[4];
94
quat[0] =
qX
;
95
quat[1] =
qY
;
96
quat[2] =
qZ
;
97
quat[3] =
qW
;
98
Math3D
.QuatToMatrix(quat, transform);
99
100
camera.SetTransform(transform);
101
}
102
103
SCR_CameraEditorComponent
editorCameraManager =
SCR_CameraEditorComponent
.Cast(
SCR_CameraEditorComponent
.GetInstance(
SCR_CameraEditorComponent
));
104
if
(editorCameraManager)
105
editorCameraManager.
GetOnCameraCreate
().Remove(
OnCameraCreated
);
106
}
107
void
Log
()
108
{
109
float
quat[4];
110
quat[0] =
qX
;
111
quat[1] =
qY
;
112
quat[2] =
qZ
;
113
quat[3] =
qW
;
114
vector
angles
=
Math3D
.QuatToAngles(quat);
115
116
PrintFormat
(
" SCR_EditorMetaStruct: cam pos: %1 | cam ang: %2"
,
Vector
(
pX
,
pY
,
pZ
),
angles
);
117
}
118
void
SCR_EditorMetaStruct
()
119
{
120
RegV(
"pX"
);
121
RegV(
"pY"
);
122
RegV(
"pZ"
);
123
RegV(
"qX"
);
124
RegV(
"qY"
);
125
RegV(
"qZ"
);
126
RegV(
"qW"
);
127
}
128
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
angles
ref array< string > angles
Definition
PrefabImporter.c:22
SCR_EditorManagerEntity
void SCR_EditorManagerEntity(IEntitySource src, IEntity parent)
Definition
SCR_EditorManagerEntity.c:2211
JsonApiStruct
base classes for filtering in server browser
Definition
SCR_FeedbackDialogUI.c:3
Math3D
Definition
Math3D.c:13
SCR_CameraEditorComponent
Definition
SCR_CameraEditorComponent.c:14
SCR_CameraEditorComponent::GetCameraInstance
static SCR_ManualCamera GetCameraInstance()
Definition
SCR_CameraEditorComponent.c:65
SCR_CameraEditorComponent::GetCamera
SCR_ManualCamera GetCamera()
Definition
SCR_CameraEditorComponent.c:46
SCR_CameraEditorComponent::GetOnCameraCreate
ScriptInvokerBase< SCR_CameraEditorComponent_OnCameraCreated > GetOnCameraCreate()
Definition
SCR_CameraEditorComponent.c:75
SCR_EditorManagerCore
Core component to manage SCR_EditorManagerEntity.
Definition
SCR_EditorManagerCore.c:6
SCR_EditorMetaStruct::qX
float qX
Definition
SCR_EditorMetaStruct.c:12
SCR_EditorMetaStruct::qZ
float qZ
Definition
SCR_EditorMetaStruct.c:14
SCR_EditorMetaStruct::pZ
float pZ
Definition
SCR_EditorMetaStruct.c:11
SCR_EditorMetaStruct::ClearCache
void ClearCache()
Definition
SCR_EditorMetaStruct.c:53
SCR_EditorMetaStruct::OnEditorManagerCreated
void OnEditorManagerCreated(SCR_EditorManagerEntity editorManager)
Definition
SCR_EditorMetaStruct.c:63
SCR_EditorMetaStruct::qW
float qW
Definition
SCR_EditorMetaStruct.c:15
SCR_EditorMetaStruct::qY
float qY
Definition
SCR_EditorMetaStruct.c:13
SCR_EditorMetaStruct::Log
void Log()
Definition
SCR_EditorMetaStruct.c:107
SCR_EditorMetaStruct::SCR_EditorMetaStruct
void SCR_EditorMetaStruct()
Definition
SCR_EditorMetaStruct.c:118
SCR_EditorMetaStruct::Deserialize
void Deserialize()
Definition
SCR_EditorMetaStruct.c:37
SCR_EditorMetaStruct::Serialize
void Serialize()
Definition
SCR_EditorMetaStruct.c:17
SCR_EditorMetaStruct::OnEditorManagerCreatedDelayed
void OnEditorManagerCreatedDelayed()
Definition
SCR_EditorMetaStruct.c:68
SCR_EditorMetaStruct::pY
float pY
Definition
SCR_EditorMetaStruct.c:10
SCR_EditorMetaStruct::pX
float pX
Definition
SCR_EditorMetaStruct.c:9
SCR_EditorMetaStruct::OnCameraCreated
void OnCameraCreated(SCR_ManualCamera camera)
Definition
SCR_EditorMetaStruct.c:86
SCR_ManualCamera
Definition
SCR_ManualCamera.c:17
vector
Definition
vector.c:13
Obsolete
typedef Obsolete
Definition
HelicopterAutopilotHelperComponent.c:16
PrintFormat
proto void PrintFormat(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL, LogLevel level=LogLevel.NORMAL)
Vector
proto native vector Vector(float x, float y, float z)
scripts
Game
Editor
Containers
Backend
SCR_EditorMetaStruct.c
Generated by
1.17.0