add PreconditionRequirement and RelatedModule requirement
This commit is contained in:
@@ -103,6 +103,24 @@ namespace EscapeRoomEngine.Engine.Runtime.Modules
|
||||
State.SetModule(this);
|
||||
}
|
||||
|
||||
internal static Module CreateModuleByType(Space space, ModuleDescription description)
|
||||
{
|
||||
if (description.HasType(ModuleType.Puzzle) &&
|
||||
description is PuzzleModuleDescription puzzleModuleDescription)
|
||||
{
|
||||
return new PuzzleModule(space, puzzleModuleDescription);
|
||||
}
|
||||
else if((description.HasType(ModuleType.DoorEntrance) || description.HasType(ModuleType.DoorExit)) &&
|
||||
description is DoorModuleDescription doorModuleDescription)
|
||||
{
|
||||
return new DoorModule(space, doorModuleDescription);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("Module description does not have fitting type.");
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"Module ({string.Join(", ", description.types.ToList().ConvertAll(type => type.ToString()))})";
|
||||
|
||||
Reference in New Issue
Block a user