From a69ff588c8dbb94d417bada5fb179798263ec1d6 Mon Sep 17 00:00:00 2001 From: Anna Date: Mon, 22 Jul 2024 15:15:26 -0400 Subject: [PATCH] refactor: fool the iterator --- client/Util/ActorManager.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/client/Util/ActorManager.cs b/client/Util/ActorManager.cs index f0a73f7..e51fc34 100644 --- a/client/Util/ActorManager.cs +++ b/client/Util/ActorManager.cs @@ -92,19 +92,19 @@ internal class ActorManager : IDisposable { Pointer objMan ) { foreach (var idx in manager._idx) { - Pointer ptr; - unsafe { - var obj = (BattleChara*) objMan.Value->GetObjectByIndex((ushort) idx); - if (obj == null) { - continue; - } - - ptr = obj; + var ptr = GetChara(objMan, idx); + if (ptr == null) { + continue; } - yield return ptr; + yield return ptr.Value; } } + + private static Pointer? GetChara(Pointer objMan, uint idx) { + var obj = (BattleChara*) objMan.Value->GetObjectByIndex((ushort) idx); + return obj == null ? null : obj; + } } private unsafe class SpawnAction(Message message) : BaseActorAction {