// ** keep this block in sync ** (end) int GetOrAddHeadIdIndex(int objectInstanceId) { if (!m_HeadIdIndices.TryGetValue(objectInstanceId, out var headIdIndex)) { if (!m_FreeHeadIds.IsEmpty) { int end = m_FreeHeadIds.Length - 1; headIdIndex = m_FreeHeadIds[end]; m_FreeHeadIds.Length -= 1; } else { headIdIndex = m_HeadIdCount++; }; m_HeadIdIndices.Add(objectInstanceId, headIdIndex); var headIdsCapacity = headIdIndex + 1; if (MultiList.CalcExpandCapacity(m_Entities.HeadIds.Length, ref headIdsCapacity)) { m_Entities.SetHeadIdsCapacity(headIdsCapacity); m_LogEvents.SetHeadIdsCapacity(headIdsCapacity); } } return(headIdIndex); }
int GetOrAddHybridHeadIdIndex(GameObject gameObject) { if (!m_NewHybridHeadIdIndices.TryGetValue(gameObject, out var headIdIndex)) { headIdIndex = m_NewHybridHeadIdIndices.Count; m_NewHybridHeadIdIndices.Add(gameObject, headIdIndex); var headIdsCapacity = headIdIndex + 1; if (MultiList.CalcExpandCapacity(m_HybridTypes.HeadIds.Length, ref headIdsCapacity)) { m_HybridTypes.SetHeadIdsCapacity(headIdsCapacity); } } return(headIdIndex); }