Fight rework premature merge #22
Reference in New Issue
Block a user
Delete Branch "feature/fight_rework"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A working but not finished version of the new fight system.
Includes:
Known bugs:
@@ -13,2 +15,2 @@[Export] private bool _useSprite = true;[Export] private CanvasItem _spriteToOutline;//[Export] private bool _useSprite = true;[Export(PropertyHint.ArrayType)] private CanvasItem[] _spriteToOutline = [];Bitte in Plural umbenennen.
@@ -0,0 +10,4 @@#endregion[Export] private AllFightersVisual _allFightersVisual = null!;Nur aus Neugier, weil ich das noch nie gesehen hab: Was macht diese "null!" Zuweisung hier?
@@ -0,0 +1,26 @@using System.Collections.Generic;Ich weiß nicht, was es mit diesem Unicode-Character hier auf sich hat, aber ich gehe einfach mal davon aus, dass er uns keine Ärger machen wird 👀
@@ -0,0 +1,26 @@using System.Collections.Generic;namespace Babushka.scripts.CSharp.Common.Fight.ActionDetails;Vielleicht macht es Sinn, das Fightsystem in einen eigenen Namespace-Bereich auszulagern und nicht einfach mit unter "Common" abzulegen?
@@ -0,0 +4,4 @@public class MinigameActionDetail : FighterAction.FighterActionDetail{// settingsbrauchen wir den Kommentar noch?
@@ -0,0 +6,4 @@{public enum VisualRange{SingleEin Enum mit nur einem Eintrag? Was soll da voraussichtlich noch kommen? Vielleicht
@@ -0,0 +34,4 @@public FightWorld.Fighter GetTarget(){return target ?? throw new InvalidOperationException("No target selected");Muss das immer ne Exception werfen? Also kann es keinen Fall geben, wo es keine Selection gibt? ISt es dann für die Praxis nicht vielleicht nicer, wenn man nen Default definiert? Oder passiert das auf den höheren Detailebenen?
GetTarget sollte nur im ActionExecute und ActionAnimate state aufgerufen werden. Die states werden nur erreicht, nach dem alle action details completed sind. Das heißt es muss ein target gesetzt worden sein.
@@ -0,0 +4,4 @@namespace Babushka.scripts.CSharp.Common.Fight.Actions;public class BlobAttackAction : FighterActionVerstehe ich das richtig, dass wir für jeden Gegner(typ) ne neue Klasse anlegen müssen? Falls ja: Wäre es vielleicht auch möglich, das über Config-Ressourcen ganz oder teilwese konfigurierbar zu machen?
Es braucht nicht jeder gegner type eine klasse, sondern jede action. Es können auch mehrere gegner typen die gleiche action haben.
Das irgendwie cool konfigurierbar zu machen fänd ich auch sinnvoll, aber erst später und nicht für den prototypen
@@ -0,0 +7,4 @@namespace Babushka.scripts.CSharp.Common.Fight;public partial class AllFightersVisual : NodeDiese Klasse managed das Layout der Kampfszene, oder? Das Naming hatte mich etwas verwirrt.
please see comments and resolve merge conflicts.
1edbe7aeb7tof27f69c15f