From cc7de44969163e907bd0654b3827ee057165c2d1 Mon Sep 17 00:00:00 2001 From: Ny Bruker <robinhs@stud.ntnu.no> Date: Fri, 14 Oct 2022 18:19:55 +0200 Subject: [PATCH] Added new item interfaces for different item types. --- .../Code/Item/Base/ConditionalItemBase.cs | 2 +- .../Assets/Code/Item/Base/IConditionalItem.cs | 21 +++++++++++++++++++ .../Assets/Code/Item/Base/IInactiveItem.cs | 16 ++++++++++++++ .../Assets/Code/Item/Base/IPassiveItem.cs | 20 ++++++++++++++++++ .../Assets/Code/Item/Base/PassiveItemBase.cs | 2 +- 5 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 MrBigsock/Assets/Code/Item/Base/IConditionalItem.cs create mode 100644 MrBigsock/Assets/Code/Item/Base/IInactiveItem.cs create mode 100644 MrBigsock/Assets/Code/Item/Base/IPassiveItem.cs diff --git a/MrBigsock/Assets/Code/Item/Base/ConditionalItemBase.cs b/MrBigsock/Assets/Code/Item/Base/ConditionalItemBase.cs index 286c2b15..319f9114 100644 --- a/MrBigsock/Assets/Code/Item/Base/ConditionalItemBase.cs +++ b/MrBigsock/Assets/Code/Item/Base/ConditionalItemBase.cs @@ -10,7 +10,7 @@ namespace BigSock.Item { /* A class that represents an item that an effect when a condition is meet. */ - public abstract class ConditionalItemBase : ItemBase { + public abstract class ConditionalItemBase : IConditionalItem { public static readonly System.Random RND = new System.Random(); diff --git a/MrBigsock/Assets/Code/Item/Base/IConditionalItem.cs b/MrBigsock/Assets/Code/Item/Base/IConditionalItem.cs new file mode 100644 index 00000000..04add95c --- /dev/null +++ b/MrBigsock/Assets/Code/Item/Base/IConditionalItem.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + + +namespace BigSock.Item { + + /* + An interface for items that trigger on a particular condition. + */ + public interface IConditionalItem : IInactiveItem { + + /* + The type of trigger this item uses. + */ + TriggerType Trigger { get; } + + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Item/Base/IInactiveItem.cs b/MrBigsock/Assets/Code/Item/Base/IInactiveItem.cs new file mode 100644 index 00000000..afc9f365 --- /dev/null +++ b/MrBigsock/Assets/Code/Item/Base/IInactiveItem.cs @@ -0,0 +1,16 @@ +using System.Collections; +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + + +namespace BigSock.Item { + + /* + An interface an item that isn't an active item. + */ + public interface IInactiveItem : IItem { + + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Item/Base/IPassiveItem.cs b/MrBigsock/Assets/Code/Item/Base/IPassiveItem.cs new file mode 100644 index 00000000..56c2b6ef --- /dev/null +++ b/MrBigsock/Assets/Code/Item/Base/IPassiveItem.cs @@ -0,0 +1,20 @@ +using System.Collections; +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + + +namespace BigSock.Item { + + /* + An interface for items that are passive. + */ + public interface IPassiveItem : IInactiveItem { + /* + The modifier of the item. + */ + ICharacterStats Modifier { get; set; } + + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Item/Base/PassiveItemBase.cs b/MrBigsock/Assets/Code/Item/Base/PassiveItemBase.cs index 1b09c3b4..f0a246d1 100644 --- a/MrBigsock/Assets/Code/Item/Base/PassiveItemBase.cs +++ b/MrBigsock/Assets/Code/Item/Base/PassiveItemBase.cs @@ -10,7 +10,7 @@ namespace BigSock.Item { /* A class that represents an item that provides passive stat boosts. */ - public abstract class PassiveItemBase : ItemBase { + public abstract class PassiveItemBase : IPassiveItem { /* The modifier of the item. */ -- GitLab