public IEntityShape AddShape(IEntity entity, PointF position)
{
if (!(IsInitialized?.Get() ?? false))
{
return(null);
}
if (entity == null)
{
throw new ArgumentNullException(nameof(entity));
}
IEntityShape result = null;
if (GetEntityShape(entity.Id) == null)
{
if (_entities == null)
{
_entities = new List <IEntityShape>();
}
result = new EntityShape(Model?.Get(), entity)
{
Position = position
};
_entities.Add(result);
Dirty.IsDirty = true;
_entityShapeAdded?.Invoke(EntityShapesContainer?.Get(), result);
}
return(result);
}