Я создаю проект, похожий на графическую доску, где я столкнулся с проблемой дизайна.
Основной класс — это Board, который представляет собой холст, отвечающий за обработку событий мыши при рисовании фигур. Он также имеет переменные контекста, такие как currentShape или snapFlag, для активации магнетизма сетки.
Для обработки перемещения/изменения размера/вращения фигур они наследуются от стороннего инструмента с открытым исходным кодом, который называется ObjectHandles (flex).
У меня есть baseShape, расширяющий основной класс ObjectHandles, чтобы переопределить некоторые из его внутренних функций, например функцию onMove.
При создании формы (мышь вниз, движение, мышь вверх) это обрабатывается Board, и он знает о своем собственном флаге привязки.
var mouseUpPoint:Point = boardCanvas.globalToLocal(новая точка(event.stageX, event.stageY)); var snapMouseUpPoint = snapPoint(mouseUpPoint.x, mouseUpPoint.y);
В моем переопределенном методе onMove я хотел бы, чтобы форма знала о флаге привязки платы и когда он менялся. Как мне это сделать ?
Должен ли я передавать Board в качестве параметра в моем конструкторе basicShape, чтобы я мог проверить привязку?
Можно ли передать флаг в качестве параметра и заставить все фигуры прослушивать изменения?
Какое самое чистое решение?
Большое спасибо.