/// <summary> /// Registering the interation between 2 rbelement types /// </summary> public void RegisterRBElementInteraction(MyRBElementType type1, MyRBElementType type2, MyRBElementInteraction intr) { int t1 = (int)type1; int t2 = (int)type2; List <MyRBElementInteraction> intrList = null; if (t1 < t2) { intrList = m_IslandsPool[t1, t2]; m_IslandsPoolStatic[t1, t2] = intr.CreateNewInstance(); } else { intrList = m_IslandsPool[t2, t1]; m_IslandsPoolStatic[t2, t1] = intr.CreateNewInstance(); } intrList.Capacity = m_preAllocCount; intrList.Add(intr); for (int i = 1; i < m_preAllocCount; i++) { MyRBElementInteraction ins = intr.CreateNewInstance(); intrList.Add(ins); } }
/// <summary> /// Registering the interation between 2 rbelement types /// </summary> public void RegisterRBElementInteraction(MyRBElementType type1, MyRBElementType type2, MyRBElementInteraction intr) { int t1 = (int)type1; int t2 = (int)type2; List<MyRBElementInteraction> intrList = null; if (t1 < t2) { intrList = m_IslandsPool[t1, t2]; m_IslandsPoolStatic[t1, t2] = intr.CreateNewInstance(); } else { intrList = m_IslandsPool[t2, t1]; m_IslandsPoolStatic[t2, t1] = intr.CreateNewInstance(); } intrList.Capacity = m_preAllocCount; intrList.Add(intr); for (int i = 1; i < m_preAllocCount; i++) { MyRBElementInteraction ins = intr.CreateNewInstance(); intrList.Add(ins); } }