using System.Collections.Generic; using EscapeRoomEngine.Engine.Runtime.Modules; using NaughtyAttributes; using UnityEngine; namespace EscapeRoomEngine.Engine.Runtime.Requirements { [CreateAssetMenu(menuName = "Requirements/Related Module")] class RelatedModule : PreconditionRequirement { [InfoBox("A related module that must be added to the same space successfully before this module is added.")] [Required] public ModuleDescription relatedModule; protected override IEnumerable GenerateCandidates(Module module, Space space) { var newModule = Module.CreateModuleByType(space, relatedModule); module.relatedModules.Add(newModule); return new []{ space.StageModuleWithRequirements(newModule) }; } } }