From b085f977b81eefd4989b5d36b0e47d6fa2301557 Mon Sep 17 00:00:00 2001 From: Ny Bruker <robinhs@stud.ntnu.no> Date: Fri, 30 Sep 2022 15:19:34 +0200 Subject: [PATCH] Added new base classes for items tied to some conditions. --- .../Code/Item/Base/ConditionalItemBase.cs | 4 +-- .../Assets/Code/Item/Base/OnDeathItemBase.cs | 25 +++++++++++++++++++ .../Assets/Code/Item/Base/OnFireItemBase.cs | 25 +++++++++++++++++++ .../Assets/Code/Item/Base/OnHealItemBase.cs | 25 +++++++++++++++++++ .../Assets/Code/Item/Base/OnHitItemBase.cs | 25 +++++++++++++++++++ .../Assets/Code/Item/Base/OnKillItemBase.cs | 25 +++++++++++++++++++ .../Code/Item/Base/OnTakeDamageItemBase.cs | 25 +++++++++++++++++++ 7 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 MrBigsock/Assets/Code/Item/Base/OnDeathItemBase.cs create mode 100644 MrBigsock/Assets/Code/Item/Base/OnFireItemBase.cs create mode 100644 MrBigsock/Assets/Code/Item/Base/OnHealItemBase.cs create mode 100644 MrBigsock/Assets/Code/Item/Base/OnHitItemBase.cs create mode 100644 MrBigsock/Assets/Code/Item/Base/OnKillItemBase.cs create mode 100644 MrBigsock/Assets/Code/Item/Base/OnTakeDamageItemBase.cs diff --git a/MrBigsock/Assets/Code/Item/Base/ConditionalItemBase.cs b/MrBigsock/Assets/Code/Item/Base/ConditionalItemBase.cs index 95612893..7beca59d 100644 --- a/MrBigsock/Assets/Code/Item/Base/ConditionalItemBase.cs +++ b/MrBigsock/Assets/Code/Item/Base/ConditionalItemBase.cs @@ -14,12 +14,12 @@ namespace BigSock.Item { /* The type of trigger this item uses. */ - public TriggerType Trigger { get; set; } + public abstract TriggerType Trigger { get; } /* The handler to activate when the condition is triggered. */ - public Action<ICharEventParams> Handler { get; set; } + //public Action<ICharEventParams> Handler { get; set; } } } \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Item/Base/OnDeathItemBase.cs b/MrBigsock/Assets/Code/Item/Base/OnDeathItemBase.cs new file mode 100644 index 00000000..f2e237dc --- /dev/null +++ b/MrBigsock/Assets/Code/Item/Base/OnDeathItemBase.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + + +namespace BigSock.Item { + + /* + Base class for all items that trigger when the user recieves fatal damage. + */ + public abstract class OnDeathItemBase : ConditionalItemBase { + /* + The type of trigger this item uses. + */ + public override TriggerType Trigger => TriggerType.Death; + + /* + The handler to activate when the condition is triggered. + */ + public abstract void Handler(Character source, Character target, AttackStats attack); + + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Item/Base/OnFireItemBase.cs b/MrBigsock/Assets/Code/Item/Base/OnFireItemBase.cs new file mode 100644 index 00000000..bd4f03b4 --- /dev/null +++ b/MrBigsock/Assets/Code/Item/Base/OnFireItemBase.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + + +namespace BigSock.Item { + + /* + Base class for all items that trigger when the user attacks. + */ + public abstract class OnFireItemBase : ConditionalItemBase { + /* + The type of trigger this item uses. + */ + public override TriggerType Trigger => TriggerType.Fire; + + /* + The handler to activate when the condition is triggered. + */ + public abstract void Handler(Character source, AttackStats attack); + + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Item/Base/OnHealItemBase.cs b/MrBigsock/Assets/Code/Item/Base/OnHealItemBase.cs new file mode 100644 index 00000000..4a277773 --- /dev/null +++ b/MrBigsock/Assets/Code/Item/Base/OnHealItemBase.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + + +namespace BigSock.Item { + + /* + Base class for all items that trigger when the user heals. + */ + public abstract class OnHealItemBase : ConditionalItemBase { + /* + The type of trigger this item uses. + */ + public override TriggerType Trigger => TriggerType.Heal; + + /* + The handler to activate when the condition is triggered. + */ + public abstract void Handler(Character source, int amount); + + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Item/Base/OnHitItemBase.cs b/MrBigsock/Assets/Code/Item/Base/OnHitItemBase.cs new file mode 100644 index 00000000..49abf297 --- /dev/null +++ b/MrBigsock/Assets/Code/Item/Base/OnHitItemBase.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + + +namespace BigSock.Item { + + /* + Base class for all items that trigger when the user hits an enemy. + */ + public abstract class OnHitItemBase : ConditionalItemBase { + /* + The type of trigger this item uses. + */ + public override TriggerType Trigger => TriggerType.Hit; + + /* + The handler to activate when the condition is triggered. + */ + public abstract void Handler(Character source, Character target, AttackStats attack); + + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Item/Base/OnKillItemBase.cs b/MrBigsock/Assets/Code/Item/Base/OnKillItemBase.cs new file mode 100644 index 00000000..b27f1435 --- /dev/null +++ b/MrBigsock/Assets/Code/Item/Base/OnKillItemBase.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + + +namespace BigSock.Item { + + /* + Base class for all items that trigger when the user kills an enemy. + */ + public abstract class OnKillItemBase : ConditionalItemBase { + /* + The type of trigger this item uses. + */ + public override TriggerType Trigger => TriggerType.Kill; + + /* + The handler to activate when the condition is triggered. + */ + public abstract void Handler(Character source, Character target, AttackStats attack); + + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Item/Base/OnTakeDamageItemBase.cs b/MrBigsock/Assets/Code/Item/Base/OnTakeDamageItemBase.cs new file mode 100644 index 00000000..0dd121d9 --- /dev/null +++ b/MrBigsock/Assets/Code/Item/Base/OnTakeDamageItemBase.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + + +namespace BigSock.Item { + + /* + Base class for all items that trigger when the user takes damage. + */ + public abstract class OnTakeDamageItemBase : ConditionalItemBase { + /* + The type of trigger this item uses. + */ + public override TriggerType Trigger => TriggerType.TakeDamage; + + /* + The handler to activate when the condition is triggered. + */ + public abstract void Handler(Character source, Character target, AttackStats attack); + + } +} \ No newline at end of file -- GitLab