fix: Entity.java
This commit is contained in:
parent
20315c3ee2
commit
a4ed374a4c
|
@ -1,187 +1,108 @@
|
||||||
package sagittarius.model;
|
package sagittarius.model;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.math.Vector;
|
||||||
|
import com.badlogic.gdx.math.Vector2;
|
||||||
|
|
||||||
public abstract class Entity {
|
public abstract class Entity {
|
||||||
|
|
||||||
// Attributs.
|
// ---------- ATTRIBUTEs ----------
|
||||||
|
|
||||||
/** Angle associé à l'entité. */
|
|
||||||
protected float angle;
|
protected float angle;
|
||||||
|
|
||||||
/** Masse de l'entité. */
|
|
||||||
protected float mass;
|
protected float mass;
|
||||||
|
|
||||||
/** Couleur de l'entité. */
|
|
||||||
protected Color color;
|
protected Color color;
|
||||||
|
|
||||||
/** Position de l'entité. */
|
|
||||||
protected Vector2 position;
|
protected Vector2 position;
|
||||||
|
|
||||||
|
// ---------- CONSTRUCTORs ----------
|
||||||
|
|
||||||
|
/** Creates an {@link #Entity}.
|
||||||
|
* @param angle angle associated to the {@link #Entity}.
|
||||||
// Constructeur.
|
* @param mass mass of the {@link #Entity}.
|
||||||
|
* @param color color of the {@link #Entity}.
|
||||||
/** Créer une entité.
|
* @param position position of the {@link #Entity}.
|
||||||
* @param vangle angle associé à l'entité
|
|
||||||
* @param vmass masse de l'entité
|
|
||||||
* @param vcolor couleur de l'entité
|
|
||||||
* @param vposition position de l'entité
|
|
||||||
*/
|
*/
|
||||||
public Planet(float vangle, float vmass, Color vcolor, Vector2 vposition) {
|
public Entity(float angle, float mass, Color color, Vector2 position) {
|
||||||
this.angle = vangle;
|
this.angle = angle;
|
||||||
this.mass = vmass;
|
this.mass = mass;
|
||||||
this.color = vcolor;
|
this.color = color;
|
||||||
this.position.setX() = vposition.getX();
|
this.position = position.cpy();
|
||||||
this.position.setY() = vposition.getY();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ---------- GETTERs ----------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return angle associated to the {@link #Entity}.
|
||||||
// Méthodes.
|
|
||||||
|
|
||||||
|
|
||||||
/** Méthode abstraite. */
|
|
||||||
protected abstract String getInfo();
|
|
||||||
|
|
||||||
|
|
||||||
/** Obtenir l'angle associé à l'entité.
|
|
||||||
* @return angle associé à l'entité
|
|
||||||
*/
|
*/
|
||||||
public float getAngle() {
|
public float getAngle() {
|
||||||
return this.angle;
|
return this.angle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
/** Obtenir la masse de l'entité.
|
* @return mass of the {@link #Entity}.
|
||||||
* @return masse de l'entité
|
|
||||||
*/
|
*/
|
||||||
public float getMass() {
|
public float getMass() {
|
||||||
return this.mass;
|
return this.mass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return color of the {@link #Entity}.
|
||||||
/** Obtenir la couleur de l'entité.
|
|
||||||
* @return couleur de l'entité
|
|
||||||
*/
|
*/
|
||||||
public Color getColor() {
|
public Color getColor() {
|
||||||
return this.color;
|
return this.color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return position of the {@link #Entity}.
|
||||||
/** Obtenir la position de l'entité.
|
|
||||||
* @return position de l'entité
|
|
||||||
*/
|
*/
|
||||||
public Color getPosition() {
|
public Vector2 getPosition() {
|
||||||
this.position.getX();
|
return this.position.cpy();
|
||||||
this.position.getY();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ---------- SETTERs ----------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the angle associated to the {@link #Entity}.
|
||||||
/** Changer l'angle associé à l'entité.
|
*
|
||||||
* @param vangle angle associé à l'entité
|
* @param angle new angle.
|
||||||
*/
|
*/
|
||||||
public void setAngle(float vangle) {
|
public void setAngle(float angle) {
|
||||||
this.angle = vangle;
|
this.angle = angle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the mass of the {@link #Entity}.
|
||||||
/** Changer la masse de l'entité.
|
*
|
||||||
* @param vcolor couleur de la planète
|
* @param mass new mass.
|
||||||
*/
|
*/
|
||||||
public void setMass(float vmass) {
|
public void setMass(float mass) {
|
||||||
assert (vmass > 0);
|
this.mass = mass;
|
||||||
this.mass = vmass;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the color of the {@link #Entity}.
|
||||||
/** Changer la couleur de l'entité.
|
*
|
||||||
* @param vcolor couleur de l'entité
|
* @param color new color.
|
||||||
*/
|
*/
|
||||||
public void setColor(Color vcolor) {
|
public void setColor(Color color) {
|
||||||
assert (vcouleur != null);
|
this.color = color;
|
||||||
this.color = vcolor;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
/** Changer la position de l'entité.
|
* Sets the Position of the {@link #Entity}.
|
||||||
* @param vposition position de l'entité
|
*
|
||||||
|
* @param position new position.
|
||||||
*/
|
*/
|
||||||
public void setPosition(Vector2 vposition) {
|
public void setPosition(Vector2 position) {
|
||||||
this.position.setX() = vposition.getX();
|
this.position = position.cpy();
|
||||||
this.position.setY() = vposition.getY();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ---------- METHODs ----------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return String containing informations about the {@link #Entity}
|
||||||
|
*/
|
||||||
|
protected abstract String getInfo();
|
||||||
/***
|
|
||||||
|
|
||||||
public void draw(Batch batch, float parentAlpha) {
|
|
||||||
super.draw(batch, parentAlpha);
|
|
||||||
if (getDebug()) {
|
|
||||||
fontDebug(batch, getInfo(), getX(), getY());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/** Dessine les lignes de bord de cette entité si {@link #getDebug()} est vraie. */
|
|
||||||
/* public void drawDebug (ShapeRenderer shapes) {
|
|
||||||
drawDebugBounds(shapes);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Dessine un rectangle pour les limites de l'entité si {@link #getDebug()} est vraie. */
|
|
||||||
/* protected void drawDebugBounds (ShapeRenderer shapes) {
|
|
||||||
if (!debug) return;
|
|
||||||
shapes.set(ShapeType.Line);
|
|
||||||
if (stage != null) {
|
|
||||||
shapes.setColor(stage.getDebugColor());
|
|
||||||
shapes.rect(x, y, originX, originY, width, height, scaleX, scaleY, rotation);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Met à jour l'entité en fonction du temps. Called each frame by {@link Stage#act(float)}.
|
|
||||||
* <p>
|
|
||||||
* The default implementation calls {@link Action#act(float)} on each action and removes actions that are complete.
|
|
||||||
* @param delta Time in seconds since the last frame. */
|
|
||||||
/* public void act (float delta) {
|
|
||||||
Array<Action> actions = this.actions;
|
|
||||||
if (actions.size == 0) return;
|
|
||||||
if (stage != null && stage.getActionsRequestRendering()) Gdx.graphics.requestRendering();
|
|
||||||
try {
|
|
||||||
for (int i = 0; i < actions.size; i++) {
|
|
||||||
Action action = actions.get(i);
|
|
||||||
if (action.act(delta) && i < actions.size) {
|
|
||||||
Action current = actions.get(i);
|
|
||||||
int actionIndex = current == action ? i : actions.indexOf(action, true);
|
|
||||||
if (actionIndex != -1) {
|
|
||||||
actions.removeIndex(actionIndex);
|
|
||||||
action.setActor(null);
|
|
||||||
i--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (RuntimeException ex) {
|
|
||||||
String context = toString();
|
|
||||||
throw new RuntimeException("Actor: " + context.substring(0, Math.min(context.length(), 128)), ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ import sagittarius.SagittariusGame;
|
||||||
|
|
||||||
public class DesktopLauncher {
|
public class DesktopLauncher {
|
||||||
public static void main(String[] arg) {
|
public static void main(String[] arg) {
|
||||||
|
|
||||||
Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
|
Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
|
||||||
config.useVsync(true);
|
config.useVsync(true);
|
||||||
config.setForegroundFPS(120);
|
config.setForegroundFPS(120);
|
||||||
|
@ -14,6 +14,6 @@ public class DesktopLauncher {
|
||||||
config.setDecorated(false);
|
config.setDecorated(false);
|
||||||
|
|
||||||
new Lwjgl3Application(new SagittariusGame(), config);
|
new Lwjgl3Application(new SagittariusGame(), config);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue