added final battle cutscene
This commit is contained in:
commit
33c5abe4dd
BIN
Game_of_Prod.zip
Normal file
BIN
Game_of_Prod.zip
Normal file
Binary file not shown.
@ -158,4 +158,8 @@ public abstract class BattlePerson {
|
||||
public int getStrength() {
|
||||
return strength;
|
||||
}
|
||||
|
||||
public int getMaxHealth() {
|
||||
return maxHealth;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,17 +1,74 @@
|
||||
package ruscz.game.gameOfProd.BattleUI;
|
||||
|
||||
import ruscz.game.gameOfProd.Battle.BattlePerson;
|
||||
import ruscz.game.gameOfProd.Windows.WindowOfBattle;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import static ruscz.game.gameOfProd.Windows.WindowOfBattle.*;
|
||||
|
||||
public class EnemyDescription extends JPanel {
|
||||
|
||||
private final WindowOfBattle windowOfBattle;
|
||||
|
||||
public EnemyDescription(WindowOfBattle window) {
|
||||
windowOfBattle = window;
|
||||
|
||||
setSize(CELL_SIZE * CANVAS_WIDTH * 2 / 3, CELL_SIZE * CANVAS_HEIGHT / 4);
|
||||
setLocation(0, CELL_SIZE * CANVAS_HEIGHT * 3 / 4);
|
||||
setBackground(Color.cyan);
|
||||
setVisible(false);
|
||||
|
||||
updateDescription();
|
||||
}
|
||||
|
||||
public void updateDescription() {
|
||||
Timer timer = new Timer(1000, e -> {
|
||||
if (isVisible()){
|
||||
deletePreviousDescription();
|
||||
addNewDescription();
|
||||
revalidate();
|
||||
repaint();
|
||||
}
|
||||
});
|
||||
|
||||
timer.start();
|
||||
}
|
||||
|
||||
private void addNewDescription() {
|
||||
if (getComponentCount() != 0) return;
|
||||
if (windowOfBattle.getBattle() == null) return;
|
||||
|
||||
LinkedList<BattlePerson> he = new LinkedList<>(windowOfBattle.getBattle().getHeroes());
|
||||
he.addAll(windowOfBattle.getBattle().getEnemies());
|
||||
|
||||
setLayout(new GridLayout (he.size() + 1, 3));
|
||||
|
||||
for (BattlePerson person: he){
|
||||
JPanel jPanel = new JPanel();
|
||||
JLabel name = new JLabel(person.getName());
|
||||
JLabel level = new JLabel("Level: " + person.getLevel());
|
||||
JLabel health = new JLabel("Health: " + person.getHealth() + "/" + person.getMaxHealth());
|
||||
jPanel.add(name);
|
||||
jPanel.add(level);
|
||||
jPanel.add(health);
|
||||
|
||||
add(jPanel);
|
||||
}
|
||||
|
||||
System.out.println(Arrays.toString(getComponents()));
|
||||
}
|
||||
|
||||
private void deletePreviousDescription() {
|
||||
if (getComponentCount() == 0) return;
|
||||
for (Component c: getComponents())
|
||||
remove(c);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user