egametang / ET

Unity3D Client And C# Server Framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

优化CoroutineLockComponent.cs TimeoutCheck 方法中 minTime赋值

eCool9 opened this issue · comments

    private void TimeoutCheck(CoroutineLockComponent self)
    {
       //.....
        bool beginFindMin = false;
        foreach (KeyValuePair<long, List<CoroutineLockTimer>> kv in self.timers)
        {
            long k = kv.Key;
            if (k > timeNow)
            {
                if (!beginFindMin)
                {
                    beginFindMin = true;
                    self.minTime = k;
                }
                else
                {
                    self.minTime = self.minTime > k ? k : self.minTime;
                }
                continue;
            }

            self.timeOutIds.Enqueue(k);
        }
        //...
}

我没看明白,为啥要这样改

多余了,没注意MultiMap key 是有序的。