Add door interaction system with requirements and HUD integration
This commit is contained in:
19
Code/Factories/InteractionRequirementFactory.cs
Normal file
19
Code/Factories/InteractionRequirementFactory.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using CryptonymThunder.Code.Resources;
|
||||
using GameCore.Interaction;
|
||||
using GameCore.Interaction.Interfaces;
|
||||
|
||||
namespace CryptonymThunder.Code.Factories;
|
||||
|
||||
public class InteractionRequirementFactory
|
||||
{
|
||||
public IInteractionRequirement Create(InteractionRequirementResource resource)
|
||||
{
|
||||
return resource switch
|
||||
{
|
||||
RequiresItemRequirementResource itemReq => new RequiresItemRequirement(itemReq.ItemId, itemReq.Quantity, itemReq.ConsumeItem),
|
||||
RequiresAttributeRequirementResource attrReq => new RequiresAttributeRequirement(attrReq.Attribute, attrReq.RequiredValue, attrReq.Comparison),
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(resource), $"Requirement type {resource.GetType().Name} not recognized")
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user