60 if (!entities || entities.IsEmpty())
67 if (!spawnParamsLocal)
71 array<IEntity> excludeArray = {};
75 array<ref SCR_BasePreviewEntry> entries = {};
76 set<SCR_EditableEntityComponent> entitiesCopy =
new set<SCR_EditableEntityComponent>;
77 entitiesCopy.Copy(entities);
79 while (!entitiesCopy.IsEmpty())
83 if (entityParent && entitiesCopy.Find(entityParent) != -1)
92 entitiesCopy.Remove(
index);
96 return SpawnPreview(entries, previewPrefab, world, spawnParamsLocal, material,
flags);
115 array<ref SCR_BasePreviewEntry> entries = {};
128 IEntity owner = entity.GetOwner();
160 entry.m_iParentID = parentID;
161 parentID = outEntries.Insert(entry);
163 entry.m_Entity = owner;
164 entry.SaveTransform(transform);
187 entry.m_vAnglesTerrain =
Vector(0, entry.m_vAngles[1], entry.m_vAngles[2]);
188 entry.m_fHeightTerrain = entry.m_vPosition[1];
194 set<IEntity> childOwners =
new set<IEntity>();
199 set<SCR_EditableEntityComponent> children = entity.
GetChildrenRef();
202 for (
int i = 0, count = children.Count(); i < count; i++)
205 childOwners.Insert(children[i].
GetOwner());
216 if (!childOwners.Contains(child))
244 super.EOnPreviewInit(entry, root);
250 SCR_EditablePreviewComponent previewEditableEntity = SCR_EditablePreviewComponent.Cast(
FindComponent(SCR_EditablePreviewComponent));
251 if (previewEditableEntity)
275 if (!editablePreview)
SCR_EAIThreatSectorFlags flags
void SpawnPreview()
Create a preview if it does not exist.
enum SCR_ECompassType EntityEditorProps(category:"GameScripted/Gadgets", description:"Compass", color:"0 0 255 255")
Prefab data class for compass component.
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
proto external EntityFlags GetFlags()
proto external Managed FindComponent(typename typeName)
proto external IEntity GetChildren()
proto external IEntity GetSibling()
proto external VObject GetVObject()
Returns visual object set to this Entity. No reference is added.
ref array< SCR_BasePreviewEntity > m_aChildren
EPreviewEntityFlag m_Flags
void SCR_BasePreviewEntity(IEntitySource src, IEntity parent)
bool HasEntityFlag(EEditableEntityFlag flag)
set< SCR_EditableEntityComponent > GetChildrenRef()
bool GetLocalTransform(out vector outTransform[4])
static SCR_EditableEntityComponent GetEditableEntity(IEntity owner)
bool GetTransform(out vector outTransform[4])
SCR_EditableEntityComponent GetParentEntity()
static SCR_BasePreviewEntity SpawnPreviewFromEditableEntity(SCR_EditableEntityComponent entity, ResourceName previewPrefab, BaseWorld world=null, EntitySpawnParams spawnParams=null, ResourceName material=ResourceName.Empty, EPreviewEntityFlag flags=0)
static SCR_BasePreviewEntity SpawnPreviewFromEditableOwner(IEntity entity, ResourceName previewPrefab, BaseWorld world=null, EntitySpawnParams spawnParams=null, ResourceName material=ResourceName.Empty, EPreviewEntityFlag flags=0)
static SCR_BasePreviewEntity SpawnPreviewFromEditableEntities(notnull set< SCR_EditableEntityComponent > entities, ResourceName previewPrefab, BaseWorld world=null, EntitySpawnParams spawnParams=null, ResourceName material=ResourceName.Empty, EPreviewEntityFlag flags=0)
void EOnRootPreviewInit(array< ref SCR_BasePreviewEntry > entries)
SCR_EditableEntityComponent GetEditableEntity()
SCR_EditableEntityComponent m_EditableEntity
ref array< IEntity > m_aExcludeArray
array< IEntity > GetExcludeArray()
override void EOnPreviewInit(SCR_BasePreviewEntry entry, SCR_BasePreviewEntity root)
static void GetPreviewEntries(SCR_EditableEntityComponent entity, out notnull array< ref SCR_BasePreviewEntry > outEntries, out vector rootTransform[4], int parentID=-1, EPreviewEntityFlag flags=0, TraceParam trace=null)
static array< ref SCR_BasePreviewEntry > GetPreviewEntriesFromEditableEntity(SCR_EditableEntityComponent entity, out EntitySpawnParams spawnParams=null, EPreviewEntityFlag flags=0)
static string GetPivotName(IEntity entity)
static float GetLocalScale(IEntity entity)
static bool GetMesh(IEntity entity, EPreviewEntityFlag flags, SCR_BasePreviewEntry entry, out notnull array< ref SCR_BasePreviewEntry > outEntries)
static void SaveTerrainTransform(IEntity entity, SCR_BasePreviewEntry entry, bool isUnderwater=false, TraceParam trace=null)
static void SaveRootTransform(out vector transform[4], out vector rootTransform[4])
IEntity GetOwner()
Owner entity of the fuel tank.
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
Enum with severity of the logging message.
EEditableEntityFlag
Unique flags of the entity.
EntityFlags
Various entity flags.
proto native vector Vector(float x, float y, float z)