// ------------------------------------------- /* * Logic */ public void Logic() { try { for (int i = 0; i < m_inteporlateObjects.Count; i++) { IInterpolateData itemData = m_inteporlateObjects[i]; if (itemData.Inperpolate()) { itemData.Destroy(); m_inteporlateObjects.RemoveAt(i); i--; } } } catch (Exception err) { }; for (int j = 0; j < m_inteporlateQueue.Count; j++) { IInterpolateData newItem = m_inteporlateQueue[j]; bool found = false; for (int i = 0; i < m_inteporlateObjects.Count; i++) { IInterpolateData item = m_inteporlateObjects[i]; if ((item.GameActor == newItem.GameActor) && (item.TypeData == newItem.TypeData)) { item.ResetData(newItem.GameActor.transform, newItem.Goal, newItem.TotalTime, 0); found = true; } } if (!found) { m_inteporlateObjects.Add(newItem); } else { newItem.Destroy(); newItem = null; } } m_inteporlateQueue.Clear(); }