Loading...
Searching...
No Matches
AdventureCore.ProjectileDamageSender Class Reference

Detailed Description

special triggered damage sender that moves itself gets destroyed once it has done damage or hits the environment

https://adventure.softleitner.com/manual/damage

Inheritance diagram for AdventureCore.ProjectileDamageSender:
AdventureCore.TriggerDamageSender AdventureCore.TriggerArea< TriggerDamageSender, TriggerDamageReceiver > AdventureCore.IDamageSender AdventureCore.ICharacterAssociator

Public Member Functions

override bool PreDamage (IDamageReceiver receiver)
 called before any real damage handling to check if the handling is valid and should continue
for example if a character is currently dodging damage handling can be cancelled here
 
override void PostDamage (IDamageReceiver receiver, List< DamageEvent > events)
 called after alle the damages have been applied
this is a good spot to react to the change of state that has been done by the damages
for example death or destruction if health was reduced to 0 by the damages
 
void Redirect (Vector3 direction)
 
void RedirectXZ (Vector3 direction)
 
void Redirect (DamageEvent e)
 
void RedirectBack ()
 
- Public Member Functions inherited from AdventureCore.TriggerDamageSender
virtual void Activate ()
 
virtual void Activate (float modifier)
 
virtual void Deactivate ()
 
void Send ()
 
virtual void SendCharacterMessages (string e)
 
virtual void SendCharacterMessage (string e)
 
virtual Vector3 GetPosition ()
 position of the receiver, may be used to determine damage direction
 
virtual Vector3 GetDirection (IDamageReceiver receiver)
 calculates direction of damage between this sender and a receiver
 
virtual void OnDamage (DamageEvent e)
 this is where the main damage handling should take place and damage vectors are assigned
OnDamage is called in the order Sender > Receiver > Damage
for example if a character is wearing protective gear it may reduce the damage value here
this method is called for every damage parameter see DamageEvent for more details
 
- Public Member Functions inherited from AdventureCore.TriggerArea< TriggerDamageSender, TriggerDamageReceiver >
virtual void AddItem (TItem item)
 
virtual void RemoveItem (TItem item)
 

Public Attributes

float Speed
 
float Gravity
 
GameObject DestroyedPrefab
 
bool AttachDestroyed = true
 
LayerMask Environment
 
- Public Attributes inherited from AdventureCore.TriggerDamageSender
CharacterBase Character
 
DamageParameter[] Damages
 
DirectionMode Direction
 
float Magnitude = 0f
 
bool SendStart = true
 
bool SendTick = false
 
bool SendEnd = false
 
float TickRate
 
bool SendOnce
 
UnityEvent Damaged
 
- Public Attributes inherited from AdventureCore.TriggerArea< TriggerDamageSender, TriggerDamageReceiver >
UnityEvent< TItem > ItemAdded
 
UnityEvent< TItem > ItemRemoved
 
UnityEvent ItemsChanged
 

Protected Member Functions

override void Update ()
 
override void OnTriggerEnter (Collider other)
 
- Protected Member Functions inherited from AdventureCore.TriggerDamageSender
override void OnDisable ()
 
override void onItemAdded (TriggerDamageReceiver item)
 
override void onItemRemoved (TriggerDamageReceiver item)
 
virtual void assignDamageVector (DamageEvent e)
 
- Protected Member Functions inherited from AdventureCore.TriggerArea< TriggerDamageSender, TriggerDamageReceiver >
virtual void OnEnable ()
 
virtual void OnTriggerEnter2D (Collider2D collider)
 
virtual void OnTriggerExit2D (Collider2D collider)
 
virtual void OnTriggerExit (Collider collider)
 
void clear ()
 
virtual void tryAdd (Component component)
 
virtual void tryRemove (Component component)
 
virtual void onItemAdded (TItem item)
 
virtual void onItemRemoved (TItem item)
 

Additional Inherited Members

- Public Types inherited from AdventureCore.TriggerDamageSender
enum  DirectionMode {
  Forward , Up , Right , SenderToReceiver ,
  SenderToReceiverXZ , None
}
 
- Protected Attributes inherited from AdventureCore.TriggerDamageSender
Dictionary< TriggerDamageReceiver, DamageInstance_instances = new Dictionary<TriggerDamageReceiver, DamageInstance>()
 
List< TriggerDamageReceiver_sent = new List<TriggerDamageReceiver>()
 
List< CharacterBase_sentCharacters = new List<CharacterBase>()
 
float _modifier = 1f
 
- Protected Attributes inherited from AdventureCore.TriggerArea< TriggerDamageSender, TriggerDamageReceiver >
Dictionary< TItem, int > _items
 
- Properties inherited from AdventureCore.TriggerDamageSender
CharacterBase AssociatedCharacter [get]
 character that owns or is otherwise associted with the object
 
- Properties inherited from AdventureCore.TriggerArea< TriggerDamageSender, TriggerDamageReceiver >
IEnumerable< TItem > Items [get]
 
- Properties inherited from AdventureCore.IDamageSender
- Properties inherited from AdventureCore.ICharacterAssociator

Member Function Documentation

◆ OnTriggerEnter()

override void AdventureCore.ProjectileDamageSender.OnTriggerEnter ( Collider other)
inlineprotectedvirtual

◆ PostDamage()

override void AdventureCore.ProjectileDamageSender.PostDamage ( IDamageReceiver receiver,
List< DamageEvent > events )
inlinevirtual

called after alle the damages have been applied
this is a good spot to react to the change of state that has been done by the damages
for example death or destruction if health was reduced to 0 by the damages

Parameters
sender
events

Reimplemented from AdventureCore.TriggerDamageSender.

◆ PreDamage()

override bool AdventureCore.ProjectileDamageSender.PreDamage ( IDamageReceiver receiver)
inlinevirtual

called before any real damage handling to check if the handling is valid and should continue
for example if a character is currently dodging damage handling can be cancelled here

Parameters
receiver
Returns
whether the damage handling should continue

Reimplemented from AdventureCore.TriggerDamageSender.

◆ Update()

override void AdventureCore.ProjectileDamageSender.Update ( )
inlineprotectedvirtual

Reimplemented from AdventureCore.TriggerDamageSender.