protected override void Tick()
{
base.Tick();
if (this.CompleteTime.HasValue)
{
var remaining = this.CompleteTime.Value.Subtract(DateTimeOffset.Now);
if (remaining.Ticks < 0) remaining = TimeSpan.Zero;
this.Remaining = remaining;
if (!this.notificated && this.Completed != null && remaining.Ticks <= 0)
{
this.Completed(this, new BuildingCompletedEventArgs(this.Id, this.Ship));
this.notificated = true;
}
}
else
{
this.Remaining = null;
}
}