3class SCR_WrapEntitiesPlugin : WorkbenchPlugin
9 protected string m_sPrefabClass;
14 WorldEditor worldEditor = Workbench.GetModule(WorldEditor);
17 int selectedCount = worldEditorAPI.GetSelectedEntitiesCount();
18 if (selectedCount == 0)
21 IEntity pivotEntity = worldEditorAPI.SourceToEntity(worldEditorAPI.GetSelectedEntity(selectedCount - 1));
24 if (!m_sEntityPrefab.IsEmpty())
25 entityClass = m_sEntityPrefab;
26 else if (!m_sPrefabClass.IsEmpty())
27 entityClass = m_sPrefabClass;
29 entityClass =
"GenericEntity";
31 worldEditorAPI.BeginEntityAction(
"WrapEntitiesPlugin");
32 IEntitySource parentSrc = worldEditorAPI.CreateEntity(entityClass,
"", worldEditorAPI.GetCurrentEntityLayerId(), null, pivotEntity.
GetOrigin(), pivotEntity.
GetAngles());
33 for (
int i = 0; i < selectedCount; i++)
35 worldEditorAPI.ParentEntity(parentSrc, worldEditorAPI.GetSelectedEntity(i),
true);
37 worldEditorAPI.EndEntityAction();
43 Workbench.ScriptDialog(
"Configure 'Wrap Entities' plugin",
"",
this);
48 protected bool ButtonClose()
class WorkbenchDialog_AbortRetryIgnore ButtonAttribute("OK", true)
proto external vector GetAngles()
Same as GetYawPitchRoll(), but returns rotation vector around X, Y and Z axis.
proto external vector GetOrigin()
SCR_FieldOfViewSettings Attribute