1[
ComponentEditorProps(
category:
"GameScripted/Editor", description:
"Entity transformation (moving and rotating). Works only with SCR_EditorBaseEntity!", icon:
"WBData/ComponentEditorProps/componentEditor.png")]
37 SCR_CampaignBuildingCompositionComponent compositionComponent = SCR_CampaignBuildingCompositionComponent.Cast(pivot.GetOwner().FindComponent(SCR_CampaignBuildingCompositionComponent));
38 if (!compositionComponent)
41 if (compositionComponent.IsInteractionLocked())
43 SCR_NotificationsComponent.SendLocal(
ENotification.EDITOR_COMPOSITION_UNDER_CONSTRUCTION);
53 super.StartEditing(pivot, entities, transform);
60 super.StartEditingServer(pivotId, entityIds, dummyVector, transform, isUnderwater, verticalMode);
63 SCR_CampaignBuildingLayoutComponent layoutComponent;
65 while (child && !layoutComponent)
67 layoutComponent = SCR_CampaignBuildingLayoutComponent.Cast(child.
FindComponent(SCR_CampaignBuildingLayoutComponent));
75 layoutComponent.LockCompositionInteraction();
76 layoutComponent.DeletePreview();
89 if (!m_StatesManager.SetIsWaiting(
false) || m_StatesManager.GetState() !=
EEditorState.TRANSFORMING)
95 IEntity owner = m_EditedPivot.GetOwner();
102 array<vector> offsets = {};
117 super.EOnEditorActivate();
129 SCR_CampaignBuildingEditorComponent editorComponent = SCR_CampaignBuildingEditorComponent.Cast(SCR_CampaignBuildingEditorComponent.GetInstance(SCR_CampaignBuildingEditorComponent,
true));
130 if (!editorComponent)
133 SCR_CampaignBuildingProviderComponent providerComponent = editorComponent.GetProviderComponent();
134 if (!providerComponent)
137 if (
vector.Distance(previewOrigin, providerComponent.GetOwner().GetOrigin()) > providerComponent.GetBuildingRadius())
154 super.ConfirmEditing();
168 return m_EditedPivot;
175 IEntity composition = m_EditedPivot.GetOwner();
177 super.ConfirmEditingServer(
params, playerID);
179 SCR_CampaignBuildingCompositionComponent compositionComponent = SCR_CampaignBuildingCompositionComponent.Cast(composition.
FindComponent(SCR_CampaignBuildingCompositionComponent));
180 if (!compositionComponent)
188 compositionComponent.SpawnCompositionLayout(compositionComponent.GetPrefabId(), editableEntity);
189 compositionComponent.SetInteractionLockServer(
false);
196 SCR_CampaignBuildingLayoutComponent layoutComponent;
200 IEntity composition = m_EditedPivot.GetOwner();
201 SCR_CampaignBuildingCompositionComponent compositionComponent = SCR_CampaignBuildingCompositionComponent.Cast(composition.
FindComponent(SCR_CampaignBuildingCompositionComponent));
202 if (!compositionComponent)
205 compositionComponent.SpawnCompositionLayout(compositionComponent.GetPrefabId(), m_EditedPivot);
206 compositionComponent.SetInteractionLockServer(
false);
209 super.CancelEditingServer();
enum EAIGroupCombatMode ComponentEditorProps(category:"GameScripted/AI", description:"Component for utility AI system for groups")
void OnPreviewCreated(SCR_EditablePreviewEntity previewEnt)
Method called when the preview of prefab to build is created.
SCR_PreviewEntityEditorComponent m_PreviewManager
SCR_RefPreviewEntityClass m_aEditedEntities
Reference entity used to position edited entities according to preview.
proto external Managed FindComponent(typename typeName)
proto external IEntity GetChildren()
proto external void GetWorldTransform(out vector mat[])
See IEntity::GetTransform.
proto external EntityPrefabData GetPrefabData()
proto external IEntity GetSibling()
EntityComponentPrefabData GetEditorComponentData()
SCR_BaseEditorComponent FindEditorComponent(typename type, bool showError=false, bool modeFirst=false)
Network packet of variables for entity placing and transformation.
SCR_CampaignBuildingTransformingEditorComponentClass m_LastRejectedPivot
EEditorTransformVertical
Vertical transformation mode.
EEditorState
Unique editor state.
void RplRpc(RplChannel channel, RplRcver rcver, RplCondition condition=RplCondition.None, string customConditionName="")
RplChannel
Communication channel. Reliable is guaranteed to be delivered. Unreliable not.