From d6aea632699af043d3c8aeeb1f40ad76cb7e8e7b Mon Sep 17 00:00:00 2001 From: hondacrx Date: Wed, 6 May 2020 14:46:28 -0400 Subject: [PATCH] Core/MotionMaster: cleanup use of _expireList Port From (https://github.com/TrinityCore/TrinityCore/commit/b2d1b11326ed70325d6bbd4b4558f9c4e5f6f300) --- Source/Game/Movement/MotionMaster.cs | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/Source/Game/Movement/MotionMaster.cs b/Source/Game/Movement/MotionMaster.cs index 571f4cf2b..98396ee76 100644 --- a/Source/Game/Movement/MotionMaster.cs +++ b/Source/Game/Movement/MotionMaster.cs @@ -80,13 +80,15 @@ namespace Game.Movement Cypher.Assert(!Empty()); _cleanFlag |= MMCleanFlag.Update; - bool isMoveGenUpdateSuccess = Top().Update(_owner, diff); - _cleanFlag &= ~MMCleanFlag.Update; - - if (!isMoveGenUpdateSuccess) + if (!Top().Update(_owner, diff)) + { + _cleanFlag &= ~MMCleanFlag.Update; MovementExpired(); + } + else + _cleanFlag &= ~MMCleanFlag.Update; - if (_expireList != null) + if (!_expireList.Empty()) ClearExpireList(); } @@ -107,12 +109,9 @@ namespace Game.Movement void ClearExpireList() { for (int i = 0; i < _expireList.Count; ++i) - { - IMovementGenerator mg = _expireList[i]; - DirectDelete(mg); - } + DirectDelete(_expireList[i]); - _expireList = null; + _expireList.Clear(); if (Empty()) Initialize(); @@ -735,8 +734,7 @@ namespace Game.Movement { if (IsStatic(curr)) return; - if (_expireList == null) - _expireList = new List(); + _expireList.Add(curr); }