private void updateEnded(List<int> points)
{
var endedCount = points.Count;
var list = touchPointListPool.Get();
for (var i = 0; i < endedCount; i++)
{
var id = points[i];
TouchPoint touch;
if (!idToTouch.TryGetValue(id, out touch))
{
#if TOUCHSCRIPT_DEBUG
Debug.LogWarning("TouchScript > Id [" + id + "] was in ENDED list but no touch with such id found.");
#endif
continue;
}
idToTouch.Remove(id);
touches.Remove(touch);
list.Add(touch);
if (touch.Layer != null) touch.Layer.INTERNAL_EndTouch(touch);
#if TOUCHSCRIPT_DEBUG
removeDebugFigureForTouch(touch);
#endif
}
if (touchesEndedInvoker != null)
touchesEndedInvoker.InvokeHandleExceptions(this, TouchEventArgs.GetCachedEventArgs(list));
for (var i = 0; i < endedCount; i++) touchPointPool.Release(list[i]);
touchPointListPool.Release(list);
}