mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-23 07:29:02 -08:00
35 lines
730 B
C#
35 lines
730 B
C#
using BugGame.Resources;
|
|
|
|
namespace BugGame.Parts;
|
|
|
|
internal class Part : IPart
|
|
{
|
|
private readonly Message _addedMessage;
|
|
private readonly Message _duplicateMessage;
|
|
|
|
public Part(Message addedMessage, Message duplicateMessage)
|
|
{
|
|
_addedMessage = addedMessage;
|
|
_duplicateMessage = duplicateMessage;
|
|
}
|
|
|
|
public virtual bool IsComplete => IsPresent;
|
|
|
|
protected bool IsPresent { get; private set; }
|
|
|
|
public string Name => GetType().Name;
|
|
|
|
public bool TryAdd(out Message message)
|
|
{
|
|
if (IsPresent)
|
|
{
|
|
message = _duplicateMessage;
|
|
return false;
|
|
}
|
|
|
|
message = _addedMessage;
|
|
IsPresent = true;
|
|
return true;
|
|
}
|
|
}
|