2023-03-18 02:49:20 +04:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Sailboat
|
|
|
|
|
{
|
2023-04-22 01:09:06 +04:00
|
|
|
|
interface IDrawingObject : IEquatable<IDrawingObject>
|
2023-03-18 02:49:20 +04:00
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Шаг перемещения объекта
|
|
|
|
|
/// </summary>
|
|
|
|
|
public float Step { get; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Установка позиции объекта
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="x">Координата X</param>
|
|
|
|
|
/// <param name="y">Координата Y</param>
|
|
|
|
|
/// <param name="width">Ширина полотна</param>
|
|
|
|
|
/// <param name="height">Высота полотна</param>
|
|
|
|
|
void SetObject(int x, int y, int width, int height);
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Изменение направления пермещения объекта
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="direction">Направление</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
void MoveObject(Direction direction);
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Отрисовка объекта
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="g"></param>
|
|
|
|
|
void DrawingObject(Graphics g);
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получение текущей позиции объекта
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
(float Left, float Right, float Top, float Bottom) GetCurrentPosition();
|
2023-04-21 23:04:27 +04:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получение информации по объекту
|
|
|
|
|
/// </summary>
|
|
|
|
|
string GetInfo();
|
2023-03-18 02:49:20 +04:00
|
|
|
|
}
|
|
|
|
|
}
|