refactor: fool the iterator

This commit is contained in:
Anna 2024-07-22 15:15:26 -04:00
parent 1d5a85d188
commit a69ff588c8
Signed by: anna
GPG Key ID: D0943384CD9F87D1

View File

@ -92,19 +92,19 @@ internal class ActorManager : IDisposable {
Pointer<ClientObjectManager> objMan Pointer<ClientObjectManager> objMan
) { ) {
foreach (var idx in manager._idx) { foreach (var idx in manager._idx) {
Pointer<BattleChara> ptr; var ptr = GetChara(objMan, idx);
unsafe { if (ptr == null) {
var obj = (BattleChara*) objMan.Value->GetObjectByIndex((ushort) idx); continue;
if (obj == null) {
continue;
}
ptr = obj;
} }
yield return ptr; yield return ptr.Value;
} }
} }
private static Pointer<BattleChara>? GetChara(Pointer<ClientObjectManager> objMan, uint idx) {
var obj = (BattleChara*) objMan.Value->GetObjectByIndex((ushort) idx);
return obj == null ? null : obj;
}
} }
private unsafe class SpawnAction(Message message) : BaseActorAction { private unsafe class SpawnAction(Message message) : BaseActorAction {