/// <summary> /// Changes ID by which an entity is registered. Do not call this directly, it is called automatically when /// EntityID changes. /// </summary> /// <param name="entity">Entity whose ID has changed.</param> /// <param name="oldId">Old ID of the entity.</param> /// <param name="newId">New ID of the entity.</param> public static void SwapRegisteredEntityId(IMyEntity entity, long oldId, long newId) { //Debug.Assert(m_entityList.ContainsKey(oldId), "Old ID of the entity does not exist. This can't happen."); //Debug.Assert(!m_entityList.ContainsKey(newId), "New ID of the entity already exists. This can't happen."); //Debug.Assert(entity != null, "Entity is null. This can't happen."); //Debug.Assert(m_entityList[oldId] == entity, "Entity assigned to old ID is different. This can't happen."); //Debug.Assert(m_entityList.ContainsValue(entity), "Entity is not in the list. This can't happen."); var result = m_entityList.ChangeKey(oldId, newId); Debug.Assert(result == entity, "Entity had different EntityId"); }