Добавлен интерфейс для класса DrawningAirplaneEngines

This commit is contained in:
Данияр Аглиуллов 2022-09-22 06:08:48 +04:00
parent cb68550a45
commit 8d19ef6890
5 changed files with 29 additions and 15 deletions

View File

@ -10,7 +10,7 @@
/// </summary>
public EntityAirplane Airplane { get; protected set; }
public DrawningAirplaneEngines DrawningEngines { get; private set; }
public IAirplaneEngines DrawningEngines { get; private set; }
/// <summary>
/// Левая координата отрисовки автомобиля
/// </summary>
@ -44,7 +44,7 @@
public DrawningAirplane(int speed, float weight, Color bodyColor)
{
Airplane = new EntityAirplane(speed, weight, bodyColor);
DrawningEngines = new();
DrawningEngines = new DrawningAirplaneEngines();
}
/// <summary>

View File

@ -9,13 +9,11 @@ namespace AirBomber
/// <summary>
/// Класс-дополнение к самолету отвечающий за число двигателей и их отрисовку
/// </summary>
internal class DrawningAirplaneEngines
internal class DrawningAirplaneEngines : IAirplaneEngines
{
/// <summary>Приватное поле содержащие текущее количество двигателей самолета</summary>
private CountEngines _countEngines;
/// <summary>Получение действительного количества двигателей или установка поддерживаемого числа двигателей</summary>
/// <value>The count engines.</value>
public int CountEngines
{
get => (int)_countEngines;
@ -27,14 +25,6 @@ namespace AirBomber
}
}
/// <summary>Отрисовывает все двигатели на обеих крыльях</summary>
/// <param name="g">The g.</param>
/// <param name="colorEngine">Цвет двигателей.</param>
/// <param name="wingPosX">Позиция крыльев по x. В этой координате будут центры двигателей</param>
/// <param name="leftWingY">Крайняя левая позиция левого крыла по y</param>
/// <param name="rightWingY">Крайняя правая позиция правого крыла по y</param>
/// <param name="widthBodyAirplane">Ширина тела самолета, или расстояние между крыльями.</param>
public void DrawEngines(Graphics g, Color colorEngine, float wingPosX, float leftWingY, float rightWingY, int widthBodyAirplane)
{
float distanceBetweenEngines = (leftWingY - rightWingY - widthBodyAirplane) / 8.0f;

View File

@ -8,7 +8,7 @@ namespace AirBomber
{
internal class DrawningObject : IDrawningObject
{
private DrawningAirplane _airplane = null;
private DrawningAirplane _airplane;
public DrawningObject(DrawningAirplane airplane)
{

View File

@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AirBomber
{
internal interface IAirplaneEngines
{
/// <summary>Получение действительного количества двигателей или установка поддерживаемого числа двигателей</summary>
/// <value>The count engines.</value>
int CountEngines { get; set; }
/// <summary>Отрисовывает все двигатели на обеих крыльях</summary>
/// <param name="g">The g.</param>
/// <param name="colorEngine">Цвет двигателей.</param>
/// <param name="wingPosX">Позиция крыльев по x. В этой координате будут центры двигателей</param>
/// <param name="leftWingY">Крайняя левая позиция левого крыла по y</param>
/// <param name="rightWingY">Крайняя правая позиция правого крыла по y</param>
/// <param name="widthBodyAirplane">Ширина тела самолета, или расстояние между крыльями.</param>
void DrawEngines(Graphics g, Color colorEngine, float wingPosX, float leftWingY, float rightWingY, int widthBodyAirplane);
}
}

View File

@ -11,7 +11,7 @@ namespace AirBomber
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new FormMap());
Application.Run(new FormAirBomber());
}
}
}