diff --git a/MrBigsock/Assets/Code/Item/Base/ConditionalItemBase.cs b/MrBigsock/Assets/Code/Item/Base/ConditionalItemBase.cs index 286c2b158acd8f6eef0a88ad9e0f3499be733186..319f9114f83de2f6f261f8f1d457e1ae5294830a 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 0000000000000000000000000000000000000000..04add95c149c8cf6a6443ad5466110004a4fd2f1 --- /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 0000000000000000000000000000000000000000..afc9f365541c6293044a42c9232a9304993c4910 --- /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 0000000000000000000000000000000000000000..56c2b6ef1656936a4afb57c8f9c7f2ecafc63e2c --- /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 1b09c3b45c9e33bb67790386d61559486ca16d0e..f0a246d102cd85ec5ede1ca3d18e10c3db4c2cbf 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. */