🐛 Fixed fighters keep fighting at 0 hp #24

Merged
Jonathan merged 1 commits from bug/enemy_die into develop 2 months ago
Owner

Fixed a bug where fighters keep attacking despite being dead at 0 HP.

Fixed a bug where fighters keep attacking despite being dead at 0 HP.
kziolkowski was assigned by Jonathan 2 months ago
Jonathan added 1 commit 2 months ago
Jonathan requested review from kziolkowski 2 months ago
kziolkowski approved these changes 2 months ago
kziolkowski left a comment
Owner

Zwei kleinere Nachfragen, sonst alles juti 👍

Zwei kleinere Nachfragen, sonst alles juti 👍
{
if (f.IsDead())
{
HappeningData.fighterTurn.Remove(f);
Owner

Ich gehe zwar davon aus, dass du das getestet hast und es keine Fehler wirft, aber zur Sicherheit, weil ich mich gewundert habe: Wenn fighterTurn ein IEnumerable ist und du in der foreach-Schleife etwas daraus entfernst, kann das nicht zu exceptions führen? Hätte ich jetzt erwartet.

Ich gehe zwar davon aus, dass du das getestet hast und es keine Fehler wirft, aber zur Sicherheit, weil ich mich gewundert habe: Wenn fighterTurn ein IEnumerable ist und du in der foreach-Schleife etwas daraus entfernst, kann das nicht zu exceptions führen? Hätte ich jetzt erwartet.
Poster
Owner

Ist auch oft so. Deshalb habe ich GetEnumerator so implementiert, dass er erst eine List aus den Einträgen erstellt und dann den Enumerator der Liste zurückgibt

Ist auch oft so. Deshalb habe ich `GetEnumerator` so implementiert, dass er erst eine `List` aus den Einträgen erstellt und dann den Enumerator der Liste zurückgibt
public IEnumerator<FightWorld.Fighter> GetEnumerator()
{
if (_currentNode == null) return Enumerable.Empty<FightWorld.Fighter>().GetEnumerator();
Owner

Sehe ich da was falsch oder ist das ein Loop?

Wenn currentnode == null, dann wird Enumerable.GetEnumerator ( Zeile 119) und darin dann wieder GetEnumerator (Zeile 102) aufgerufen und so weiter. Oder ist das noch ein anderer Overload, der da aufgerufen wird?

Again, ich gehe schon davon aus, dass du das getestet hast und ich da irgendwas übersehe, aber ich frage lieber zur Sicherheit immer nach.

Sehe ich da was falsch oder ist das ein Loop? Wenn currentnode == null, dann wird Enumerable.GetEnumerator ( Zeile 119) und darin dann wieder GetEnumerator (Zeile 102) aufgerufen und so weiter. Oder ist das noch ein anderer Overload, der da aufgerufen wird? Again, ich gehe schon davon aus, dass du das getestet hast und ich da irgendwas übersehe, aber ich frage lieber zur Sicherheit immer nach.
Poster
Owner

Hier wird Enumerable.Empty<...>.GetEnumerator() aufgerufen. Das Empty ist nen Statischer member von der Enumerable Klasse. (Nicht IEnumerable)

Hier wird `Enumerable.`**`Empty<...>`**`.GetEnumerator()` aufgerufen. Das `Empty` ist nen Statischer member von der `Enumerable` Klasse. (Nicht `IEnumerable`)
Jonathan merged commit a9446ec770 into develop 2 months ago

Reviewers

kziolkowski approved these changes 2 months ago
The pull request has been merged as a9446ec770.
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: Jonathan/Babushka#24
Loading…
There is no content yet.