Add door interaction system with requirements and HUD integration

This commit is contained in:
2025-10-30 00:57:28 +01:00
parent 9c0cd3f549
commit 5ae8b6f08c
21 changed files with 337 additions and 14 deletions

View 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")
};
}
}