Refactoring EditableCanvas in DrawboxEditable and other classes
This commit is contained in:
@ -3,9 +3,15 @@ package gui;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.JTabbedPane;
|
||||
|
||||
import events.EntityDrawboxChangedEvent;
|
||||
import events.EntityDrawboxChangedListener;
|
||||
import events.EntityHitboxChangedEvent;
|
||||
import events.EntityHitboxChangedListener;
|
||||
import model.Hitbox;
|
||||
import model.Point;
|
||||
|
||||
@ -14,13 +20,13 @@ public class HitboxEditor extends Editable {
|
||||
Point firstIsoPoint = null;
|
||||
Point currentIsoPoint = new Point(0,0);
|
||||
Point firstCartesianPoint = new Point(0,0), currentCartesianPoint = new Point(0,0);
|
||||
|
||||
private List<EntityHitboxChangedListener> listeners = new ArrayList<>();
|
||||
HitboxEditor(ListGUI listGUI) {
|
||||
super(listGUI);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawing(Graphics2D g) {
|
||||
//@Override
|
||||
//public void drawing(Graphics2D g) {
|
||||
/*Hitbox nowHitbox = entity.getHitbox();
|
||||
//if(firstIsoPoint != null) {
|
||||
int x1,y1,x2,y2;
|
||||
@ -39,14 +45,8 @@ public class HitboxEditor extends Editable {
|
||||
g.drawLine(x1, y1, x2, y2);
|
||||
//}
|
||||
*/
|
||||
}
|
||||
//}
|
||||
|
||||
@Override
|
||||
public void saveDataInEntity() {
|
||||
// saveDataInEntity - сохранение данных в сущности.
|
||||
//Она нам тут не нужна.
|
||||
//Все данные и так лежат где необходимо, используя ссылки.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
@ -85,8 +85,28 @@ public class HitboxEditor extends Editable {
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@Override
|
||||
public void subscribe(EntityHitboxChangedListener listener) {
|
||||
listeners.add(listener);
|
||||
}
|
||||
|
||||
public void unsubscribe(EntityHitboxChangedListener listener) {
|
||||
listeners.remove(listener);
|
||||
}
|
||||
|
||||
//НАДО ДОБАВИТЬ ЧТО БЫ ПОД КОНЕЦ РИСОВАНИЯ ХИТБОКСА ОНО ВЫЗЫВАЛО ФУНКЦИЮ И ВСЕ СОХРАНЯЛО.
|
||||
//СОХРАНЕНИЕ УЖЕ РЕАЛИЗОВАНО.
|
||||
//НО НЕ ДОБАВЛЕН ВЫЗОВ ФУНКЦИИ И НЕ ОФОРМЛЕНА ПОДПИСКА
|
||||
//UPD: вроде подписку оформил в MainGUI;
|
||||
|
||||
private void notifySubscribers() {
|
||||
for (EntityHitboxChangedListener listener : listeners) {
|
||||
listener.hitboxChanged(
|
||||
new EntityHitboxChangedEvent(entity.getHitbox(), entity)
|
||||
);
|
||||
}
|
||||
}
|
||||
//это старая очистка которая пока убрана. В будущем будет убрана вовсе, после рефакторинга.
|
||||
/*@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JTabbedPane parent = (JTabbedPane) getParent();
|
||||
if(parent.getSelectedComponent() == this){
|
||||
@ -96,7 +116,7 @@ public class HitboxEditor extends Editable {
|
||||
repaint();
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user