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,25 @@
using BugGame.Resources;
namespace BugGame.Parts;
internal class Body : ParentPart
{
private readonly Neck _neck = new();
private readonly Tail _tail = new();
private readonly Legs _legs = new();
public Body()
: base(Message.BodyAdded, Message.BodyNotNeeded)
{
}
protected override bool TryAddCore(IPart part, out Message message)
=> part switch
{
Neck => _neck.TryAdd(out message),
Head or Feeler => _neck.TryAdd(part, out message),
Tail => _tail.TryAdd(out message),
Leg => _legs.TryAddOne(out message),
_ => throw new NotSupportedException($"Can't add a {part.Name} to a {Name}.")
};
}