2[
WorkbenchPluginAttribute(name:
"Game Master Settings", icon:
"WBData/EntityEditorProps/entityEditor.png", wbModules: {
"WorldEditor" })]
3class EditorPlugin : WorldEditorPlugin
5 [
Attribute(
desc:
"When enabled, Game Master camera will start on the position of World Editor camera.",
category:
"Game Master")]
6 protected bool m_bStartOnWorldEditorCamera;
9 protected bool m_bStartUnpaused;
12 protected void Unpause()
16 world.PauseGameTime(
false);
20 protected override void OnGameModeStarted(
string worldName,
string gameMode,
bool playFromCameraPos,
vector cameraPosition,
vector cameraAngles)
24 if (playFromCameraPos)
28 core.OnPlayFromCameraPos();
31 if (m_bStartOnWorldEditorCamera)
38 Math3D.AnglesToMatrix(
Vector(cameraAngles[1], cameraAngles[0], cameraAngles[2]), transform);
39 transform[3] = cameraPosition;
47 SCR_PauseGameTimeEditorComponent pauseComponent = SCR_PauseGameTimeEditorComponent.Cast(SCR_PauseGameTimeEditorComponent.GetInstance(SCR_PauseGameTimeEditorComponent));
50 pauseComponent.SetPauseOnOpen(
false);
53 if (editorManager.IsOpened())
58 else if (editorManager.IsInTransition())
61 editorManager.GetOnOpened().Insert(Unpause);
72 Workbench.OpenModule(WorldEditor);
73 WorldEditor worldEditor = Workbench.GetModule(WorldEditor);
77 worldEditor.SetOpenedResource(
"{25E6D4AEC3F45872}worlds/Editor/Test/TestGameMaster.ent");
78 worldEditor.SwitchToGameMode();
84 Workbench.ScriptDialog(
"Game Master Settings",
"Configuration of Game Master when running in World Editor.",
this);
89 protected bool ButtonClose()
ArmaReforgerScripted GetGame()
void SCR_EditorManagerEntity(IEntitySource src, IEntity parent)
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
class WorkbenchDialog_AbortRetryIgnore ButtonAttribute("OK", true)
void SetInitTransform(vector transform[4])
Core component to manage SCR_EditorManagerEntity.
SCR_FieldOfViewSettings Attribute
proto native vector Vector(float x, float y, float z)