Closed AMatutat closed 1 year ago
Mein Plan wäre nun wie folgt
LEVELELEMENT_IS_ACCESSIBLE
und LEVELELEMENT_IS_NOT_ACCESSIBLE
wieder ins LevelElement bewegen oder Löschen (nur benutzt beim errstellen des Enums)runloop
entfernenDas wäre hier jetzt so meine Idee hier brauche ich aber Feedback bzw. vielleicht denke ich auch zu extrem. @AMatutat Hier einmal drauf schauen ob dies mögliche Veränderungen wären die du dir auch so vorstellen kannst. Sobald ich das Ok Für das aufräumen hab laufe ich hier die Checkliste nach ihren primär Klassen ab alle in eigenen PRs damit kleiner und auch nicht zu viel auf einmal.
klingt für mich alles recht sinnvoll. vor allem, dass man endlich punkte und vektoren direkt addieren kann (und dafür nicht außerhalb der klasse die interna rausfischen muss und damit dann arbeiten muss - da hätte man sich die klasse point gleich sparen können ...).
edit: @AHeinisch dennoch solltest du bitte besser auf ein go vom @AMatutat warten, da er viel näher am code ist als ich ...
Sieht gut aus.
Zu Point: Da können wir nochcalculateDistance(Point other)
(wirst du für inRange
vermutlich auch brauchen). @Lena241 hat das bei den Skills auch ein paar mal per Hand geklöppelt.
zurücksetzen der Velocity vielleicht nicht mehr im System machen
wo dann?
Projektillogik im VelocitySystem
Kannst du das etwas ausführen?
zurücksetzen der Velocity vielleicht nicht mehr im System machen
wo dann?
Vielleicht bietet es sich ja auch an ein flag wie "velocityResetsEachFrame" als Alternative einzubauen. Da war ich mir aber nicht sicher, ob dies wirklich notwendig ist es raus zu machen darum ein vielleicht.
Projektillogik im VelocitySystem
Kannst du das etwas ausführen?
In updatePosition der folgende Schnipsel:
// remove projectiles that hit the wall or other non-accessible
// tiles
else if (vsd.e.getComponent(ProjectileComponent.class).isPresent())
Game.entitiesToRemove.add(vsd.e);
Hier wäre es doch schlauer dieses im ProjectileSystem zu haben, da es hier für mich irgendwie fehl am Platz ist.
Zu Point: Da können wir noch
calculateDistance(Point other)
(wirst du fürinRange
vermutlich auch brauchen). @Lena241 hat das bei den Skills auch ein paar mal per Hand geklöppelt.
Klingt sinnvoll, auch wenn bei den vielen merges ja dieses hier bereits hereingekommen ist.
/**
* calculates the distance between two points
*
* @param p1 Point A
* @param p2 Point B
* @return the Distance between the two points
*/
public static float calculateDistance(Point p1, Point p2) {
float xDiff = p1.x - p2.x;
float yDiff = p1.y - p2.y;
return (float) Math.sqrt(xDiff * xDiff + yDiff * yDiff);
}
Klingt sinnvoll, auch wenn bei den vielen merges ja dieses hier bereits hereingekommen ist.
Oha, das meint ich. Das kann ja dann nach Point geschoben werden.
Ich würde erstmal sagen: Mach mal alles. Aber (auch wenn nervig) bitte jeweils ein eigenen PR. Dann kriegen wir die kleinen Sachen schnell rein und bei größeren Änderungen haben wir ein wenig Diskussionszeit.
@AMatutat ich hab mal "meeting" dran gemacht. schaue dir bitte die ergebnisse von @AHeinisch an und stelle das im meeting kurz vor (was, vor-/nachteile).
aus diesem ticket sind einige sub-tickets entstanden. Ich glaube dieses Ticket hat seine schuld erfüllt.
Durch den merge des Frameworks und des ECS (also
pm-dungeon
intogame
), könnten einige Strukturen entfernt oder vereinfacht werden. Daher sollen sich insbesondere die Verbindungsstellen der beiden Projekte angeschaut werden und geschaut werden, was davon vereinfacht werden kann. Einiges kann bestimmt auch vollkommen raus. Wir haben auch einige Helfermethoden geschrieben (Distanz zwischen zwei Punkte berechnen), die können jetzt in die entsprechenden "Framework"-Klassen geschoben werden.Wir werden nicht alles auf einmal finden, aber einen ersten großen Rundumschlag sollten wir schon durchführen.
Time: 10