Show / Hide Table of Contents

Class DaggerfallMissile

Missile component for spell casters and archers. Designed to handle missile role in abstract way for other systems. Collects list of affected entities for involved system to process. Supports touch, target at range, area of effect. Has some basic lighting effects that might expand later. Does not currently support serialization, but this will be added later. Currently ranged missiles can only move in a straight line as per classic.

Inheritance
Object
Object
Component
Behaviour
MonoBehaviour
DaggerfallMissile
Namespace: DaggerfallWorkshop.Game
Assembly: Assembly-CSharp.dll
Syntax
[RequireComponent(typeof(Light))]
[RequireComponent(typeof(SphereCollider))]
[RequireComponent(typeof(MeshCollider))]
[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(DaggerfallAudioSource))]
public class DaggerfallMissile : MonoBehaviour

Fields

| Improve this Doc View Source

BillboardFramesPerSecond

Declaration
public int BillboardFramesPerSecond
Field Value
Type Description
Int32
| Improve this Doc View Source

ColliderRadius

Declaration
public float ColliderRadius
Field Value
Type Description
Single
| Improve this Doc View Source

EnableLight

Declaration
public bool EnableLight
Field Value
Type Description
Boolean
| Improve this Doc View Source

EnableShadows

Declaration
public bool EnableShadows
Field Value
Type Description
Boolean
| Improve this Doc View Source

ExplosionRadius

Declaration
public float ExplosionRadius
Field Value
Type Description
Single
| Improve this Doc View Source

FlickerMaxInterval

Declaration
public float FlickerMaxInterval
Field Value
Type Description
Single
| Improve this Doc View Source

ImpactBillboardFramesPerSecond

Declaration
public int ImpactBillboardFramesPerSecond
Field Value
Type Description
Int32
| Improve this Doc View Source

ImpactSound

Declaration
public SoundClips ImpactSound
Field Value
Type Description
SoundClips
| Improve this Doc View Source

LifespanInSeconds

Declaration
public float LifespanInSeconds
Field Value
Type Description
Single
| Improve this Doc View Source

MovementSpeed

Declaration
public float MovementSpeed
Field Value
Type Description
Single
| Improve this Doc View Source

PostImpactLifespanInSeconds

Declaration
public float PostImpactLifespanInSeconds
Field Value
Type Description
Single
| Improve this Doc View Source

PostImpactLightMultiplier

Declaration
public float PostImpactLightMultiplier
Field Value
Type Description
Single
| Improve this Doc View Source

PulseColors

Declaration
public Color[] PulseColors
Field Value
Type Description
Color[]
| Improve this Doc View Source

PulseSpeed

Declaration
public float PulseSpeed
Field Value
Type Description
Single
| Improve this Doc View Source

SphereCastRadius

Declaration
public const float SphereCastRadius = 0.25F
Field Value
Type Description
Single
| Improve this Doc View Source

TouchRange

Declaration
public const float TouchRange = 3F
Field Value
Type Description
Single

Properties

| Improve this Doc View Source

Caster

Gets or sets caster who is origin of missile. This must be set for all missile target types. Caster is set automatically from payload when available.

Declaration
public DaggerfallEntityBehaviour Caster { get; set; }
Property Value
Type Description
DaggerfallEntityBehaviour
| Improve this Doc View Source

CustomAimDirection

Declaration
public Vector3 CustomAimDirection { get; set; }
Property Value
Type Description
Vector3
| Improve this Doc View Source

CustomAimPosition

Declaration
public Vector3 CustomAimPosition { get; set; }
Property Value
Type Description
Vector3
| Improve this Doc View Source

ElementType

Gets or sets element type. Element is set automatically from payload when available.

Declaration
public ElementTypes ElementType { get; set; }
Property Value
Type Description
ElementTypes
| Improve this Doc View Source

IsArrow

Declaration
public bool IsArrow { get; set; }
Property Value
Type Description
Boolean
| Improve this Doc View Source

IsArrowSummoned

Declaration
public bool IsArrowSummoned { get; set; }
Property Value
Type Description
Boolean
| Improve this Doc View Source

Payload

Gets or sets effect bundle payload carried by this missile. Any DaggerfallEntityBehaviour objects hit by this missile will receive instance of bundle payload against their EntityEffectManager on contact.

Declaration
public EntityEffectBundle Payload { get; set; }
Property Value
Type Description
EntityEffectBundle
| Improve this Doc View Source

Targets

Gets all target entities affected by this missile. Any effect bundle payload will be applied automatically. Use this property and OnComplete event for custom work.

Declaration
public DaggerfallEntityBehaviour[] Targets { get; }
Property Value
Type Description
DaggerfallEntityBehaviour[]
| Improve this Doc View Source

TargetType

Gets or sets target type. Target is set automatically from payload when available.

Declaration
public TargetTypes TargetType { get; set; }
Property Value
Type Description
TargetTypes

Methods

| Improve this Doc View Source

GetEntityTargetInTouchRange(Vector3, Vector3)

Declaration
public static DaggerfallEntityBehaviour GetEntityTargetInTouchRange(Vector3 aimPosition, Vector3 aimDirection)
Parameters
Type Name Description
Vector3 aimPosition
Vector3 aimDirection
Returns
Type Description
DaggerfallEntityBehaviour
| Improve this Doc View Source

RaiseOnCompleteEvent()

Declaration
protected virtual void RaiseOnCompleteEvent()

Events

| Improve this Doc View Source

OnComplete

Declaration
public static event DaggerfallMissile.OnCompleteEventHandler OnComplete
Event Type
Type Description
DaggerfallMissile.OnCompleteEventHandler

Extension Methods

MBExtensions.Invoke(MonoBehaviour, Action, Single)
MBExtensions.Invoke<T>(MonoBehaviour, Action<T>, T, Single)
MBExtensions.Invoke<T1, T2>(MonoBehaviour, Action<T1, T2>, T1, T2, Single)
MBExtensions.Invoke<T1, T2, T3>(MonoBehaviour, Action<T1, T2, T3>, T1, T2, T3, Single)
MBExtensions.Invoke<T1, T2, T3, T4>(MonoBehaviour, Action<T1, T2, T3, T4>, T1, T2, T3, T4, Single)
  • Improve this Doc
  • View Source
In This Article
  • Fields
    • BillboardFramesPerSecond
    • ColliderRadius
    • EnableLight
    • EnableShadows
    • ExplosionRadius
    • FlickerMaxInterval
    • ImpactBillboardFramesPerSecond
    • ImpactSound
    • LifespanInSeconds
    • MovementSpeed
    • PostImpactLifespanInSeconds
    • PostImpactLightMultiplier
    • PulseColors
    • PulseSpeed
    • SphereCastRadius
    • TouchRange
  • Properties
    • Caster
    • CustomAimDirection
    • CustomAimPosition
    • ElementType
    • IsArrow
    • IsArrowSummoned
    • Payload
    • Targets
    • TargetType
  • Methods
    • GetEntityTargetInTouchRange(Vector3, Vector3)
    • RaiseOnCompleteEvent()
  • Events
    • OnComplete
  • Extension Methods
Back to top Generated by DocFX