UxrProjectileDeflect Class
Component that, added to a GameObject with a collider, will allow to deflect shots coming from UxrProjectileSource components.
Inheritance Hierarchy
System.Object
Object
Component
Behaviour
MonoBehaviour
UltimateXR.Core.Components.UxrComponent
UltimateXR.Core.Components.UxrComponent(UxrProjectileDeflect)
UltimateXR.Core.Components.Composite.UxrGrabbableObjectComponent(UxrProjectileDeflect)
UltimateXR.Mechanics.Weapons.UxrProjectileDeflect
Namespace: UltimateXR.Mechanics.Weapons
Assembly: UltimateXR (in UltimateXR.dll) Version: 0.0.0.0
Syntax
C#
public class UxrProjectileDeflect : UxrGrabbableObjectComponent<UxrProjectileDeflect>
The UxrProjectileDeflect type exposes the following members.
Constructors
Name | Description | |
---|---|---|
UxrProjectileDeflect |
Properties
Name | Description | |
---|---|---|
AudioDeflect | Gets the sound to play when a projectile was deflected. | |
CollideLayersAddOnReflect | Optional layer mask to add to the collider after a projectile was deflected. | |
DecalFadeoutDuration | Gets the decal fadeout duration in seconds. | |
DecalLife | Gets the decal life in seconds after which it will fade out and be destroyed. | |
DecalOnReflect | Gets the decal to instantiate when a projectile was deflected. | |
IsGrabbableObjectRequired | The grabbable object is not required. When it is present it will be used to assign the Owner so that the damage will be attributed to the actor instead of the original source. (Overrides UxrGrabbableObjectComponent<T>.IsGrabbableObjectRequired.) | |
Owner | Gets the owner in case the deflection object is part of an avatar or can be grabbed. | |
TwoSidedDecal | Gets whether the decal requires to generate another copy on the other side. | |
TwoSidedDecalThickness | Gets the object thickness in order to know how far the other side is to generate the copy on the backside of the impact. |
Methods
Name | Description | |
---|---|---|
OnObjectGrabbed | Called when the object was grabbed. Will change the Owner. (Overrides UxrGrabbableObjectComponent<T>.OnObjectGrabbed(UxrManipulationEventArgs).) | |
OnObjectPlaced | Called when the object was released. Will reset the Owner. (Overrides UxrGrabbableObjectComponent<T>.OnObjectPlaced(UxrManipulationEventArgs).) | |
OnObjectReleased | Called when the object was released. Will reset the Owner. (Overrides UxrGrabbableObjectComponent<T>.OnObjectReleased(UxrManipulationEventArgs).) | |
Start | Initializes the component. (Overrides UxrComponent.Start().) |
Events
Name | Description | |
---|---|---|
ProjectileDeflected | Event called when a projectile got deflected after hitting the object. |
Extension Methods
Name | Description | |
---|---|---|
CheckSetEnabled | Enables/disabled the component if it isn’t enabled already. (Defined by MonoBehaviourExt.) | |
GetOrAddComponent<T> | Gets the Component of a given type. If it doesn’t exist, it is added to the GameObject. (Defined by ComponentExt.) | |
GetPathUnderScene | Gets the full path under current scene, including all parents, but scene name, for the given component. (Defined by ComponentExt.) | |
GetSceneUid | Gets an unique identifier string for the given component. (Defined by ComponentExt.) | |
GetUniqueScenePath | Gets an unique path in the scene for the given component. It will include scene name, sibling and component indices to make it unique. (Defined by ComponentExt.) | |
LoopCoroutine | Creates a coroutine that simplifies executing a loop during a certain amount of time. (Defined by MonoBehaviourExt.) | |
SafeGetComponentInParent<T> | Gets the Component of a given type in the GameObject or any of its parents. It also works on prefabs, where regular GetComponentInParent(Type, Boolean) will not work: https://issuetracker.unity3d.com/issues/getcomponentinparent-is-returning-null-when-the-gameobject-is-a-prefab (Defined by ComponentExt.) | |
ShowInInspector(Boolean) | Overloaded. Controls whether to show the current object in the inspector. (Defined by ObjectExt.) | |
ShowInInspector(Boolean, Boolean) | Overloaded. Controls whether to show the current object in the inspector and whether it is editable. (Defined by ObjectExt.) | |
ThrowIfNull | Throws an exception if the object is null. (Defined by ObjectExt.) |