Add parts and messages

This commit is contained in:
Andrew Cooper
2022-07-11 08:46:42 +10:00
parent f35bbb0224
commit 6078da8c78
16 changed files with 249 additions and 2 deletions

View File

@@ -0,0 +1,22 @@
using BugGame.Resources;
namespace BugGame.Parts;
internal abstract class ParentPart : Part
{
public ParentPart(Message addedMessage, Message duplicateMessage)
: base(addedMessage, duplicateMessage)
{
}
public bool TryAdd(IPart part, out Message message)
=> IsPresent ? TryAddCore(part, out message) : ReportDoNotHave(out message);
protected abstract bool TryAddCore(IPart part, out Message message);
private bool ReportDoNotHave(out Message message)
{
message = Message.DoNotHaveA(this);
return false;
}
}