void HandleNewTouchDetected(ToucheTouch.Type type) { m_buttonImages [type].color = Color.red; }
void HandleTouchOff(ToucheTouch.Type type) { m_buttonImages [type].color = Color.grey; }
void CompareCurrentCurveToSavedCurves() { if (m_toucheCurves == null || m_currentCurve == null) { return; } int storedToucheCurveCount = m_toucheCurves.Count; List <ToucheTouch> toucheList = new List <ToucheTouch> (); foreach (int key in m_toucheCurves.Keys) { int distance = 0; Vector2[] storedVector2s = CurvePositionsToVector2(m_toucheCurves [key].curve); int vCount = storedVector2s.Length; int currCount = m_currentCurve.Length; if (currCount < vCount) { vCount = currCount; } if (vCount == 0) { return; //Stop if we have no vectors... } for (int j = 0; j < m_steps; j++) { if (j < vCount) { float temp = Vector2.Distance(storedVector2s [j], m_currentCurve [j]); distance += (int)(temp * temp); //square to exxagerate differences } } m_toucheCurves [key].distance = distance; toucheList.Add(m_toucheCurves [key]); } toucheList.Sort(); //sorted by distance m_currentTouchType = toucheList [0].type; //lowest number wins... if (m_lastTouchType != m_currentTouchType) { for (int i = 0; i < toucheList.Count; i++) { if (i == 0) { if (TouchOn != null) { TouchOn(m_currentTouchType); } } else { if (TouchOff != null) { TouchOff(toucheList [i].type); } } } } m_lastTouchType = m_currentTouchType; }