PIbd-14_Pruidze_I.K_Simple_.../ProjectCruiser/CollectionGenericObj/ShipSharingService.cs

76 lines
2.2 KiB
C#
Raw Normal View History

using ProjectCruiser.DrawningSamples;
2024-06-15 09:05:36 +04:00
namespace ProjectCruiser.CollectionGenericObj;
public class ShipSharingService : AbstractCompany
{
protected int MaxInRow { get; private set; }
protected int MaxInColon { get; private set; }
private int fromBorder = 20, fromCeiling = 20, between = 30;
public ShipSharingService(int picWidth, int picHeight,
ICollectionGenObj<DrawningBase> collection)
: base(picWidth, picHeight, collection)
{
MaxInRow = (picWidth - fromBorder - fromCeiling)
/ (_placeSizeWidth + between);
MaxInColon = (picHeight - fromBorder - fromCeiling)
/ _placeSizeHeight;
}
protected override void DrawBackground(Graphics g)
{
Pen pen = new(Color.Black, 2);
2024-06-13 10:57:01 +04:00
int currentH = fromCeiling, currentW = fromBorder;
for (int i = 0; i < MaxInRow; i++)
{
2024-06-13 10:57:01 +04:00
currentH = fromCeiling;
for (int j = 0; j < MaxInColon; j++)
{
2024-06-13 10:57:01 +04:00
g.DrawLine(pen, currentW + _placeSizeWidth,
currentH, currentW, currentH);
g.DrawLine(pen, currentW, currentH,
currentW, currentH + _placeSizeHeight);
currentH += _placeSizeHeight + 1;
}
currentW += _placeSizeWidth + between;
}
}
2024-06-16 19:46:37 +04:00
protected override void SetObjectsPosition(int border)
{
int index_collection = 0;
2024-06-16 19:46:37 +04:00
int newY = fromCeiling + 4;
if (_collection != null)
{
2024-06-16 19:46:37 +04:00
for (int i = 0; i < MaxInColon; i++)
{
2024-06-16 19:46:37 +04:00
int newX = fromBorder + 2;
for (int j = 0; j < MaxInRow; j++)
{
2024-06-16 19:46:37 +04:00
// TRY / CATCH [?]
_collection.GetItem(index_collection).SetPictureSize(
_pictureWidth, _pictureHeight);
_collection.GetItem(index_collection).SetPosition(newX, newY);
newX += _placeSizeWidth + between + 2;
if (index_collection < border)
{
index_collection++;
}
2024-06-16 19:46:37 +04:00
else return;
}
2024-06-16 19:46:37 +04:00
newY += _placeSizeHeight + 1;
}
}
}
}