7 [
Attribute(defvalue:
"0",
desc:
"Max Allowed Tilt\n0 = no tilt allowed\nvalue below 0 means that there will be no tilt validation",
params:
"-1 180 0.01")]
10 [
Attribute(uiwidget:
UIWidgets.Flags,
desc:
"Set of flags that will be used to ignore objects based on their physics layer.\nWARNING: To prevent players from attaching objects to weapons use Ignored Components list\nas checking weapon layer will make it impossible to attach the object to the armed vehicles!", enums: ParamEnumArray.FromEnum(EPhysicsLayerDefs))]
13 [
Attribute(uiwidget:
UIWidgets.Object,
desc:
"List of components that when present on target entity or its parent will make it impossible to attach placeable item to it")]
22 [
Attribute(
"0.5084",
desc:
"Max placement distance in meters.")]
28 [
Attribute(defvalue:
"0",
desc:
"Should forward vector be facing away from the player when item is placed.")]
31 [
Attribute(defvalue:
"1",
desc:
"Should item be attached to the hierachy of the entity on which item is placed")]
34 [
Attribute(defvalue:
"0",
desc:
"Determines if player should be able to force game to place the item.\nWhen force placment is used, then game does not care about having enough space, but tilt is still evaluated")]
72 outIgnoredComponents.Clear();
75 outIgnoredComponents.Insert(comp);
78 return outIgnoredComponents.Count();
133 Print(
"WARNING! " +
m_aIgnoredComponents[i] +
" is not inherited from GenericComponent and thus will be removed from the list of ignored components!",
LogLevel.ERROR);
155 return data.GetPlacementType();
166 return data.GetMaxPlacementDistance();
177 return data.IsForwardFacingAwayFromPlayer();
188 return data.CanAttachToTheSurfaceEntity();
199 return data.CanBeForcePlaced();
210 return data.GetMaxAllowedTilt();
272 if (
data.GetPreviewObjectResource().IsEmpty())
276 if (!resource.IsValid())
283 return resourceObject.ToVObject();
294 return data.CanAttachToDynamicObject();
305 return data.GetIgnoredPhysicsLayers();
316 return data.GetIgnoredComponents(outIgnoredComponents);
326 data.ValidateIgnoredComponents();
343 return data.GetDistanceMeasurementMethod();
358 pos =
char.GetOrigin();
364 pos =
char.AimingPosition();
370 pos =
char.EyePosition();
375 return vector.Distance(pos, destination);
379 protected override bool RplSave(ScriptBitWriter writer)
389 writer.WriteRplId(parentId);
390 if (parentId.IsValid())
391 writer.WriteInt(nodeId);
393 return super.RplSave(writer);
400 reader.ReadRplId(parentId);
401 if (parentId.IsValid())
404 reader.ReadInt(nodeId);
411 return super.RplLoad(reader);
SCR_CharacterSoundComponentClass GetComponentData()
enum SCR_ECompassType EntityEditorProps(category:"GameScripted/Gadgets", description:"Compass", color:"0 0 255 255")
Prefab data class for compass component.
override bool OverrideIsSurfaceValid(notnull SCR_ItemPlacementComponent caller, out ENotification cantPlaceReason, IEntity surfaceEnt, vector worldPosition, vector surfaceNorm, int nodeIndex, int colliderIndex, SurfaceProperties surfaceProps, string surfaceMaterial, string colliderName)
override bool OverrideAutoEquipMechanism(out ScriptedInventoryOperationCallback callBackHolder, notnull SCR_ItemPlacementComponent caller, IEntity placedItem, bool autoEquipNext)
override bool OverrideSpaceValidation(notnull SCR_ItemPlacementComponent caller, inout vector transform[4], out ENotification cantPlaceReason)
override bool OverrideStartPlaceAction(notnull SCR_ItemPlacementComponent caller, out bool skipItemUsage=false)
override bool OverrideOnPlacingEnded(notnull SCR_ItemPlacementComponent caller)
override bool GetForwardAwayFromPlayer()
override void OverrideAfterItemPlaced(notnull SCR_ItemPlacementComponent caller, notnull IEntity item, bool success, bool equipNext)
SCR_ECharacterDistanceMeasurementMethod
Get all prefabs that have the spawner data
void SCR_ItemPlacementComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
SCR_ECharacterDistanceMeasurementMethod GetDistanceMeasurementMethod()
Returns preferred Measurement method.
SCR_PlaceableItemComponentClass ScriptComponentClass GetPlacementType()
bool GetAttachPlacedItemToTheSurfaceEntity()
bool CanAttachToDynamicObject()
Returns true if it should be possible to attach this object to dynamic object like f....
EPhysicsLayerDefs GetIgnoredPhysicsLayers()
Returns physics layer mask that can be used to determin which layers should be ignored.
VObject GetPreviewVobject()
bool GetCanBeForcedPlaced()
float GetMaxPlacementDistance()
int GetIgnoredComponents(notnull out array< typename > outIgnoredComponents)
Returns physics layer mask that can be used to determin which layers should be ignored.
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
proto external int SetEventMask(notnull IEntity owner, int mask)
proto external GenericComponent FindComponent(typename typeName)
proto external VObject GetVObject()
Returns visual object set to this Entity. No reference is added.
Object holding reference to resource. In destructor release the resource.
Replication item identifier.
void SetNewParent(RplId parentId=RplId.Invalid(), int nodeId=-1)
bool m_bAttachPlacedItemToTheSurfaceEntity
EPhysicsLayerDefs m_eIgnoredPhysicsLayers
bool CanAttachToDynamicObject()
Returns true if it should be possible to attach this object to dynamic object like f....
ref array< typename > m_aIgnoredComponentTypes
int GetIgnoredComponents(notnull out array< typename > outIgnoredComponents)
Returns physics layer mask that can be used to determin which layers should be ignored.
ResourceName m_sPreviewObject
float GetMaxPlacementDistance()
bool m_bForwardAwayFromPlayer
SCR_EPlacementType GetPlacementType()
SCR_EPlacementType m_ePlacementType
SCR_ECharacterDistanceMeasurementMethod m_eMeasurementMethod
float GetMaxAllowedTilt()
void ValidateIgnoredComponents()
Removes unwanted types from ignored components list.
ResourceName GetPreviewObjectResource()
ref array< string > m_aIgnoredComponents
float m_fMaxPlacementDistance
EPhysicsLayerDefs GetIgnoredPhysicsLayers()
Returns physics layer mask that can be used to determin which layers should be ignored.
bool IsForwardFacingAwayFromPlayer()
bool CanAttachToTheSurfaceEntity()
bool m_bCanBeForcedPlaced
bool m_bCanAttachToDynamicObject
SCR_ECharacterDistanceMeasurementMethod GetDistanceMeasurementMethod()
Returns preferred Measurement method.
proto external GenericEntity GetOwner()
Get owner entity.
void EOnInit(IEntity owner)
bool RplLoad(ScriptBitReader reader)
bool RplSave(ScriptBitWriter writer)
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
Enum with severity of the logging message.
SCR_FieldOfViewSettings Attribute
EntityEvent
Various entity events.