Refactoring ClearButton. Made by drawing CircleHitbox. Need to finish doing HitboxCircleRenderingFunction and saving hitboxCircle when you put the second point
This commit is contained in:
@ -6,6 +6,8 @@ import java.awt.event.MouseEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JTabbedPane;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
|
||||
@ -16,10 +18,15 @@ import events.EntityHitboxChangedListener;
|
||||
import model.Hitbox;
|
||||
import model.HitboxRectangle;
|
||||
import model.Point;
|
||||
import repository.Project;
|
||||
|
||||
|
||||
public class HitboxEditor extends Editable {
|
||||
|
||||
JButton changeInRectangleHitboxJButton;
|
||||
JButton changeInCircleHitboxJButton;
|
||||
|
||||
|
||||
HitboxEditor(ListGUI listGUI) {
|
||||
super(listGUI);
|
||||
|
||||
@ -28,29 +35,58 @@ public class HitboxEditor extends Editable {
|
||||
canvas.setHitboxRectengleRenderingFunction();
|
||||
canvas.setVisible(true);
|
||||
|
||||
clearLinesJButton.addActionListener((e)->{
|
||||
if(entity != null) {
|
||||
HitboxRectangle nowHitbox = (HitboxRectangle)entity.getHitbox();
|
||||
System.out.println("1. nowHitbox.getListPointsIso().size() = "+ nowHitbox.getListPointsIso().size());
|
||||
nowHitbox.getListPointsIso().clear();
|
||||
System.out.println("2. nowHitbox.getListPointsIso().size() = "+ nowHitbox.getListPointsIso().size());
|
||||
System.out.println("1. nowHitbox.getListPointsCartesian().size() = "+ nowHitbox.getListPointsCartesian().size() );
|
||||
nowHitbox.getListPointsCartesian().clear();
|
||||
System.out.println("2. nowHitbox.getListPointsCartesian().size() = "+ nowHitbox.getListPointsCartesian().size());
|
||||
canvas.getHitboxRectengleRenderFunct().getLocalListPointsCartesian().clear();
|
||||
canvas.getHitboxRectengleRenderFunct().getLocalListPointsIso().clear();
|
||||
canvas.getHitboxRectengleRenderFunct().setFirstIsoPointIsNull();
|
||||
canvas.repaint();
|
||||
}
|
||||
changeInRectangleHitboxJButton = super.createButton("Hitbox Rectangle",null,"res/square.png");
|
||||
changeInCircleHitboxJButton = super.createButton("Hitbox circle",null,"res/circle.png");
|
||||
toolbar.add(changeInRectangleHitboxJButton);
|
||||
toolbar.add(changeInCircleHitboxJButton);
|
||||
|
||||
changeInRectangleHitboxJButton.addActionListener((e)->{
|
||||
functionClearHitboxJButton();
|
||||
//canvas.setHitboxRectengleRenderingFunction();
|
||||
//Сделать создание нового Hitbox формы Rectengle
|
||||
});
|
||||
changeInCircleHitboxJButton.addActionListener((e)->{
|
||||
functionClearHitboxJButton();
|
||||
//canvas.setHitboxCircleRenderingFunction();
|
||||
//Сделать создание нового Hitbox формы Circle
|
||||
});
|
||||
|
||||
}
|
||||
public void functionClearHitboxJButton() {
|
||||
if(entity != null) {
|
||||
canvas.renderingFunction.functionClearJButton();
|
||||
canvas.repaint();
|
||||
}
|
||||
}
|
||||
|
||||
//НАДО ДОБАВИТЬ ЧТО БЫ ПОД КОНЕЦ РИСОВАНИЯ ХИТБОКСА ОНО ВЫЗЫВАЛО ФУНКЦИЮ И ВСЕ СОХРАНЯЛО.
|
||||
//СОХРАНЕНИЕ УЖЕ РЕАЛИЗОВАНО.
|
||||
//НО НЕ ДОБАВЛЕН ВЫЗОВ ФУНКЦИИ И НЕ ОФОРМЛЕНА ПОДПИСКА
|
||||
//UPD: вроде подписку оформил в MainGUI;
|
||||
|
||||
|
||||
@Override
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
if(e.getSource() instanceof JList) {
|
||||
//TODO: надо бы элегантнее пробросить сюда ListGUI - просто передача его в аргументах немножко громоздкая
|
||||
// как-то обыграть это через события?
|
||||
// ps. попытки обратиться к eventSource проваливаются - ListGUI это панель, уже внутри которой лежит JList
|
||||
selectedEntityName = listGUI.getSelectedName();
|
||||
try {
|
||||
entity = Project.getInstance().getEntityByName(selectedEntityName);
|
||||
} catch (Exception e1) {
|
||||
//logger.severe("Entity with name '"+selectedEntityName+"' was not found! Cannot display it on panel!");
|
||||
}
|
||||
image = Project.getInstance().loadImageByName(selectedEntityName);
|
||||
//TODO: if(image == null) вызов FileChooser'a и выбор изображения
|
||||
canvas.setEntity(entity);
|
||||
canvas.setImage(image);
|
||||
if(entity.getHitbox().getShape().equals("Rectangle")) {
|
||||
canvas.setHitboxRectengleRenderingFunction();
|
||||
}
|
||||
if(entity.getHitbox().getShape().equals("Circle")) {
|
||||
canvas.setHitboxCircleRenderingFunction();
|
||||
}
|
||||
canvas.repaint();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user