Skip to content
Snippets Groups Projects
Commit 4e31861b authored by Robin Halseth Sandvik's avatar Robin Halseth Sandvik
Browse files

Added new item trigger types and character events.

parent 0c7479bd
Branches main
No related tags found
1 merge request!22Implemented initial version of conditional items.
......@@ -7,7 +7,7 @@ using BigSock.Item;
namespace BigSock {
// Common class for all characters.
public class Character : Entity {
public partial class Character : Entity {
/*
Attack speed of the character.
......@@ -214,4 +214,99 @@ namespace BigSock {
}
}
/*
Events
*/
public partial class Character {
/*
Triggers when character uses an attack.
Params: actor, attack stats.
*/
public event Action<Character, AttackStats> OnFire;
/*
Triggers when character hits an enemy.
Params: actor, target, attack stats.
*/
public event Action<Character, Character, AttackStats> OnHit;
/*
Triggers when character kills an enemy.
Params: actor, target, attack stats.
*/
public event Action<Character, Character, AttackStats> OnKill;
/*
Triggers when character takes damage.
Params: actor, target, attack stats.
(Target here is the character that dealt damage to this one)
*/
public event Action<Character, Character, AttackStats> OnTakeDamage;
/*
Triggers when character heals back health.
Params: actor, amount.
(Add heal source later on)
*/
public event Action<Character, int> OnHeal;
/*
Triggers when character has taken fatal damage.
(This is before the character is killed, so can be used to prevent death)
Params: actor, target, attack stats.
(Target here is the character that dealt damage to this one)
*/
public event Action<Character, Character, AttackStats> OnDeath;
/*
Triggers when character picked up an item.
Params: actor, item.
*/
public event Action<Character, IItem> OnPickedUpItem;
/*
Triggers when character gains xp.
Params: actor, amount.
*/
public event Action<Character, int> OnGainedXP;
/*
Triggers when character levels up.
Params: actor.
*/
public event Action<Character> OnLevelUp;
/*
Triggers when character enters a new room.
Params: actor.
(Add room object later)
*/
public event Action<Character> OnEnterNewRoom;
/*
Triggers when character clears a room.
Params: actor.
(Add room object later)
*/
public event Action<Character> OnClearedRoom;
/*
Triggers when character enters a new level.
Params: actor.
(Add level object later)
*/
public event Action<Character> OnEnterNewStage;
}
}
......@@ -12,9 +12,24 @@ namespace BigSock.Item {
*/
public enum TriggerType {
None,
OnKill,
OnAttack,
OnHit,
OnDamage,
// Target
Fire,
Hit,
Kill,
// Actor
TakeDamage,
Heal,
Death,
PickedUpItem,
GainedXP,
LevelUp,
// Stage
EnterNewRoom,
ClearedRoom,
EnterNewStage,
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment