Search Results for

    Show / Hide Table of Contents

    Class StandardProjectile

    An ability instance with trajectory movement, collision checks and vice versa built-in, to behave like a proper "projectile".

    Inheritance
    object
    UnityEngine.Object
    UnityEngine.Component
    UnityEngine.Behaviour
    UnityEngine.MonoBehaviour
    Mirror.NetworkBehaviour
    DewNetworkBehaviour
    Actor
    AbilityInstance
    Projectile
    StandardProjectile
    AttackProjectile
    Implements
    ILogicUpdate
    ICleanup
    ICustomDestroyRoutine
    Inherited Members
    Projectile.onEntity
    Projectile.mode
    Projectile.endDistance
    Projectile.start
    Projectile.startInFrontDistance
    Projectile.endsWithSameHeight
    Projectile.customEndHeight
    Projectile.rotationType
    Projectile.destroyOnComplete
    Projectile.killOnDissipate
    Projectile.verticalOffsetOverTrajectory
    Projectile.scaleVerticalOffsetOnLength
    Projectile.horizontalOffsetOverTrajectory
    Projectile.scaleHorizontalOffsetOnLength
    Projectile.collisionRadius
    Projectile.canCollideMidFlight
    Projectile.dissipateOnTerrain
    Projectile.collisionTargets
    Projectile.effectOnFly
    Projectile.effectOnEntity
    Projectile.effectOnComplete
    Projectile.effectOnDissipate
    Projectile.targetEntity
    Projectile.isCompleted
    Projectile.isFlying
    Projectile.targetPosition
    Projectile._estimatedVelocity
    Projectile.RotationSolver(float)
    Projectile.CalculateOffsetOverTrajectoryInWorldSpace(float, Quaternion)
    Projectile.OnStartServer()
    Projectile.OnPrepare()
    Projectile.LogicUpdate(float)
    Projectile.FrameUpdate()
    Projectile.GetTargetWorldPosition()
    Projectile.OnDestroyActor()
    Projectile.Dissipate()
    Projectile.StopFlying()
    Projectile.OnEntity(Projectile.EntityHit)
    Projectile.OnDissipate()
    Projectile.OnComplete()
    Projectile.AddEffect(Projectile.AddEffectTarget, GameObject)
    Projectile.SetCustomStartPosition(Vector3)
    AbilityInstance.useBudgetSystem
    AbilityInstance.maxBudget
    AbilityInstance.currentCostSum
    AbilityInstance.currentCostSumPerPlayer
    AbilityInstance.ResetBudget()
    AbilityInstance.budgetPressure
    AbilityInstance.Budget_ShouldPlayEffects()
    AbilityInstance.Budget_ShouldDoFullCalculations()
    AbilityInstance.info
    AbilityInstance.skillLevel
    AbilityInstance.startEffectNoStop
    AbilityInstance.startEffect
    AbilityInstance.endEffect
    AbilityInstance.budgetCost
    AbilityInstance.chain
    AbilityInstance.gem
    AbilityInstance.tvDefaultHarmfulEffectTargets
    AbilityInstance.tvDefaultUsefulEffectTargets
    AbilityInstance.tvDefaultAllExceptSelf
    AbilityInstance.hasOngoingSequences
    AbilityInstance.OnStart()
    AbilityInstance.DestroyOnCondition(Func<bool>)
    AbilityInstance.DestroyOnDeath(Entity, bool)
    AbilityInstance.DestroyOnDestroy(Actor)
    AbilityInstance.StartSequence(IEnumerator)
    AbilityInstance.OnCreateSequenced()
    AbilityInstance.CreateStatusEffect<T>(T, Entity, Action<T>)
    AbilityInstance.CreateStatusEffect<T>(Entity, Action<T>)
    AbilityInstance.GetActorReadableName()
    AbilityInstance.StartChargingChannel(ChargingChannel)
    AbilityInstance.effectiveLevel
    AbilityInstance.statEntity
    AbilityInstance.DefaultDamage(ScalingValue, float)
    AbilityInstance.PhysicalDamage(ScalingValue, float)
    AbilityInstance.MagicDamage(ScalingValue, float)
    AbilityInstance.PhysicalMagicDamage(ScalingValue, float)
    AbilityInstance.PureDamage(ScalingValue, float)
    AbilityInstance.Damage(ScalingValue, float)
    AbilityInstance.CreateDamage(DamageData.SourceType, ScalingValue, float)
    AbilityInstance.Heal(ScalingValue)
    AbilityInstance.GetValue(ScalingValue)
    AbilityInstance.GetValue<T>(T[])
    AbilityInstance.GetValue(StarScalingValue)
    AbilityInstance.GetValueInt(StarScalingValue)
    Actor.TrackKills(float, Action<EventInfoKill>)
    Actor.CustomRpc_RegisterClientMessageHandler<T>(Action<T>)
    Actor.CustomRpc_ClearClientMessageHandlers()
    Actor.CustomRpc_UnregisterClientMessageHandler<T>()
    Actor.CustomRpc_UnregisterClientMessageHandler<T>(Action<T>)
    Actor.CustomRpc_RegisterServerMessageHandler<T>(Action<T>)
    Actor.CustomRpc_RegisterServerMessageHandler<T>(string, Action<T, DewPlayer>)
    Actor.CustomRpc_ClearServerMessageHandlers()
    Actor.CustomRpc_UnregisterServerMessageHandler<T>()
    Actor.CustomRpc_UnregisterServerMessageHandler<T>(Action<T>)
    Actor.CustomRpc_UnregisterServerMessageHandler<T>(Action<T, DewPlayer>)
    Actor.CustomRpc_SendMessageToServer<T>(T)
    Actor.CustomRpc_SendMessageToClient<T>(DewPlayer, T)
    Actor.CustomRpc_SendMessageToAllClients<T>(T)
    Actor.ActorEvent_OnAbilityInstanceCreated
    Actor.ActorEvent_OnAbilityInstanceBeforePrepare
    Actor.ActorEvent_OnDealDamage
    Actor.ActorEvent_OnDoHeal
    Actor.ActorEvent_OnDoManaHeal
    Actor.ActorEvent_OnSpendMana
    Actor.ActorEvent_OnKill
    Actor.ActorEvent_OnAttackHit
    Actor.ActorEvent_OnAttackEffectTriggered
    Actor.ActorEvent_OnSpawnSummon
    Actor.ActorEvent_OnApplyElemental
    Actor.ActorEvent_OnGiveShield
    Actor.ClientActorEvent_OnDestroyed
    Actor.ClientActorEvent_OnCreate
    Actor.DoHeal(HealData, Entity, ReactionChain)
    Actor.DoManaHeal(HealData, Entity, ReactionChain)
    Actor.DefaultDamage(float, float)
    Actor.PhysicalDamage(float, float)
    Actor.MagicDamage(float, float)
    Actor.PureDamage(float, float)
    Actor.CreateDamage(DamageData.SourceType, float, float)
    Actor.Heal(float)
    Actor.DealDamage(DamageData, Entity, ReactionChain)
    Actor.DoBasicAttackHit(Entity, bool, bool, float, float)
    Actor.TriggerAttackEffects(Entity, float, AttackEffectType, ReactionChain)
    Actor.RefundMana(float, Entity)
    Actor.SpendMana(float, Entity)
    Actor.CreateAbilityInstance<T>(T, Vector3, Quaternion?, CastInfo, Action<T>)
    Actor.CreateAbilityInstance<T>(Vector3, Quaternion?, CastInfo, Action<T>)
    Actor.CreateAbilityInstance(Type, Vector3, Quaternion?, CastInfo, Action<AbilityInstance>)
    Actor.CreateStatusEffect<T>(T, Entity, CastInfo, Action<T>)
    Actor.CreateStatusEffect<T>(Entity, CastInfo, Action<T>)
    Actor.CreateStatusEffect(Type, Entity, CastInfo, Action<StatusEffect>)
    Actor.GiveShield(Entity, float, float, bool, ReactionChain)
    Actor.CreateActor<T>(Vector3, Quaternion?, Action<T>)
    Actor.CreateActor<T>(T, Vector3, Quaternion?, Action<T>)
    Actor.SpawnEntity<T>(Vector3, Quaternion?, DewPlayer, int, Action<T>)
    Actor.SpawnEntity<T>(T, Vector3, Quaternion?, DewPlayer, int, Action<T>)
    Actor.Teleport(Entity, Vector3)
    Actor.ShowOnScreenTimerLocally(OnScreenTimerHandle)
    Actor.HideOnScreenTimerLocally(OnScreenTimerHandle)
    Actor.ApplyElemental(ElementalType, Entity, int)
    Actor.KilledByUnstoppableEffects
    Actor.ScaleDurationByTenacityEffects
    Actor.CreateBasicEffect(Entity, BasicEffect, float, string, DuplicateEffectBehavior)
    Actor.SpawnSummon<T>(Vector3, Quaternion?, Action<T>)
    Actor.ApplyCooldownReduction(AbilityTrigger, float, bool, bool)
    Actor.ApplyCooldownReductionByRatio(AbilityTrigger, float, bool)
    Actor.ResetCooldown(AbilityTrigger, bool)
    Actor.ApplyCooldownReductionByRatio(AbilityTrigger, CooldownReductionByRatioSettings)
    Actor.ApplyCooldownReduction(AbilityTrigger, CooldownReductionSettings)
    Actor.dealtDamageProcessor
    Actor.dealtHealProcessor
    Actor.dealtManaHealProcessor
    Actor.dealtShieldProcessor
    Actor.dealtCooldownReductionProcessor
    Actor.dealtCooldownReductionByRatioProcessor
    Actor.spawnedChildVarDefProcessor
    Actor.ProcessShieldAmount(float, Entity)
    Actor.ProcessSpawnedChildVarDefProcessor(ref VariantDef, Type)
    Actor.persistentData
    Actor.persistentSyncedData
    Actor.ClientEvent_OnPersistentSyncedDataChanged
    Actor.OnCreate_ActorData()
    Actor.HasData<T>()
    Actor.RemoveData<T>()
    Actor.RemoveData(object)
    Actor.AddData<T>(T)
    Actor.TryGetData<T>(out T)
    Actor.GetData<T>()
    Actor.FindData<T>(Predicate<T>)
    Actor.TryFindData<T>(Predicate<T>, out T)
    Actor.isDestroyedOnRoomChange
    Actor.isNewInstance
    Actor.creationTime
    Actor.persistentNetId
    Actor.isDestroyLocked
    Actor.parentActor
    Actor.position
    Actor.rotation
    Actor.chainTempName
    Actor.children
    Actor.childrenInNetwork
    Actor.Awake()
    Actor.OnStartClient()
    Actor.ActiveLogicUpdate(float)
    Actor.ToString()
    Actor.CustomDestroyRoutine()
    Actor.ICleanup.canDestroy
    Actor.ICleanup.OnCleanup()
    Actor.isActive
    Actor.isDestroyed
    Actor.OnStopServer()
    Actor.OnStopClient()
    Actor.OnEnable()
    Actor.ShouldBeSavedWithRoom()
    Actor.ICustomDestroyRoutine.CustomDestroyRoutine()
    Actor.GetNetworkAuthorityConnection()
    Actor.GetOriginalName()
    Actor.parentActorNetId
    Actor.ancestors
    Actor.firstEntity
    Actor.firstTrigger
    Actor.IsDescendantOf(Actor)
    Actor.IsDescendantOf<T>()
    Actor.FindFirstAncestorOfType<T>()
    Actor.FindFirstOfType<T>()
    Actor.Destroy()
    Actor.DestroyIfActive()
    Actor.LockDestroy()
    Actor.UnlockDestroy()
    Actor.IsExcludedFromRoomSave()
    Actor.ExcludeFromRoomSave()
    Actor.ClearExcludeFromRoomSave()
    DewNetworkBehaviour.FxPlayNewNetworked(GameObject, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlayNewNetworked(GameObject, Entity)
    DewNetworkBehaviour.FxPlayNewNetworked(GameObject, Entity, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlayNewNetworked(GameObject)
    DewNetworkBehaviour.FxPlayNetworked(GameObject)
    DewNetworkBehaviour.FxPlayNetworked(GameObject, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlayNetworked(GameObject, Entity)
    DewNetworkBehaviour.FxPlayNetworked(GameObject, Entity, Vector3, Quaternion?)
    DewNetworkBehaviour.FxStopNetworked(GameObject)
    DewNetworkBehaviour.FxPlayNew(GameObject)
    DewNetworkBehaviour.FxPlayNew(GameObject, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlayNew(GameObject, Entity)
    DewNetworkBehaviour.FxPlayNew(GameObject, Entity, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlay(GameObject)
    DewNetworkBehaviour.FxPlay(GameObject, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlay(GameObject, Entity)
    DewNetworkBehaviour.FxPlay(GameObject, Entity, Vector3, Quaternion?)
    DewNetworkBehaviour.FxStop(GameObject)
    DewNetworkBehaviour.FxApplySpeedMultiplier(GameObject, float)
    DewNetworkBehaviour.FxApplySpeedMultiplierNetworked(GameObject, float)
    DewNetworkBehaviour.InvalidateInstance()
    DewNetworkBehaviour.OnLateStart()
    DewNetworkBehaviour.OnLateStartServer()
    DewNetworkBehaviour.OnStop()
    DewNetworkBehaviour.OnDestroy()
    DewNetworkBehaviour.GetComponent<T>(out T)
    Namespace: Global
    Assembly: Dew.Core.dll
    Syntax
    public abstract class StandardProjectile : Projectile, ILogicUpdate, ICleanup, ICustomDestroyRoutine

    Fields

    _acceleration

    Declaration
    [BoxGroup("Projectile Settings", true, false, 0)]
    public float _acceleration
    Field Value
    Type Description
    float

    _initialSpeed

    Declaration
    [BoxGroup("Projectile Settings", true, false, 0)]
    public float _initialSpeed
    Field Value
    Type Description
    float

    _targetSpeed

    Declaration
    [BoxGroup("Projectile Settings", true, false, 0)]
    public float _targetSpeed
    Field Value
    Type Description
    float

    enableRandomCurve

    Declaration
    [BoxGroup("Projectile Settings", true, false, 0)]
    [Title("Random Curve", null, TitleAlignments.Left, true, true)]
    public bool enableRandomCurve
    Field Value
    Type Description
    bool

    ensurePositiveY

    Declaration
    [BoxGroup("Projectile Settings", true, false, 0)]
    [ShowIf("enableRandomCurve", true)]
    public bool ensurePositiveY
    Field Value
    Type Description
    bool

    randomCurveMagnitude

    Declaration
    [BoxGroup("Projectile Settings", true, false, 0)]
    [LabelText("Random Magnitude")]
    [ShowIf("enableRandomCurve", true)]
    public float randomCurveMagnitude
    Field Value
    Type Description
    float

    use3DVelocity

    Declaration
    [Title("Standard Projectile", null, TitleAlignments.Left, true, true)]
    [LabelText("Use 3D Velocity")]
    [BoxGroup("Projectile Settings", true, false, 0)]
    public bool use3DVelocity
    Field Value
    Type Description
    bool

    Properties

    acceleration

    Declaration
    public float acceleration { get; set; }
    Property Value
    Type Description
    float

    initialSpeed

    Declaration
    public float initialSpeed { get; set; }
    Property Value
    Type Description
    float

    normalizedPosition

    Represents progress of this projectile's trajectory. This value starts from 0 to 1 and never decreases.

    Declaration
    public float normalizedPosition { get; }
    Property Value
    Type Description
    float

    targetSpeed

    Declaration
    public float targetSpeed { get; set; }
    Property Value
    Type Description
    float

    Methods

    ActiveFrameUpdate()

    Declaration
    protected override void ActiveFrameUpdate()
    Overrides
    Actor.ActiveFrameUpdate()

    CheckForCompletion()

    Declaration
    protected override bool CheckForCompletion()
    Returns
    Type Description
    bool
    Overrides
    Projectile.CheckForCompletion()

    OnCreate()

    Declaration
    protected override void OnCreate()
    Overrides
    Projectile.OnCreate()

    OnDisable()

    Declaration
    protected override void OnDisable()
    Overrides
    Projectile.OnDisable()

    PositionSolver(float)

    Declaration
    protected override Vector3 PositionSolver(float dt)
    Parameters
    Type Name Description
    float dt
    Returns
    Type Description
    UnityEngine.Vector3
    Overrides
    Projectile.PositionSolver(float)

    Implements

    ILogicUpdate
    ICleanup
    ICustomDestroyRoutine

    Extension Methods

    ActorCheck.IsNullOrInactive(Actor)
    DewGUI.SetExpandHeight<T>(T, bool)
    DewGUI.SetExpandHeight<T>(T, float)
    DewGUI.SetExpandWidth<T>(T, bool)
    DewGUI.SetExpandWidth<T>(T, float)
    DewGUI.SetHeight<T>(T, float)
    DewGUI.SetText<T>(T, string)
    DewGUI.SetTextLocalized<T>(T, string)
    DewGUI.SetWidth<T>(T, float)
    In This Article
    Back to top Shape of Dreams API Documentation