|
|
|
|
@ -99,6 +99,23 @@ public class FighterTurn : IEnumerable<FightWorld.Fighter>
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Sets the current one back
|
|
|
|
|
/// This is an expensive operation, because the entire data structure needs to be circled
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void SpinBack()
|
|
|
|
|
{
|
|
|
|
|
if (_currentNode == null) return;
|
|
|
|
|
|
|
|
|
|
var node = _currentNode;
|
|
|
|
|
while (node.next != _currentNode)
|
|
|
|
|
{
|
|
|
|
|
node = node.next;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_currentNode = node;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IEnumerator<FightWorld.Fighter> GetEnumerator()
|
|
|
|
|
{
|
|
|
|
|
if (_currentNode == null) return Enumerable.Empty<FightWorld.Fighter>().GetEnumerator();
|
|
|
|
|
|