private static void SendEvents(int i, SendMouseEvents.HitInfo hit) { bool mouseButtonDown = Input.GetMouseButtonDown(0); bool mouseButton = Input.GetMouseButton(0); if (mouseButtonDown) { if ((bool) hit) { SendMouseEvents.m_MouseDownHit[i] = hit; SendMouseEvents.m_MouseDownHit[i].SendMessage("OnMouseDown"); } } else if (!mouseButton) { if ((bool) SendMouseEvents.m_MouseDownHit[i]) { if (SendMouseEvents.HitInfo.Compare(hit, SendMouseEvents.m_MouseDownHit[i])) SendMouseEvents.m_MouseDownHit[i].SendMessage("OnMouseUpAsButton"); SendMouseEvents.m_MouseDownHit[i].SendMessage("OnMouseUp"); SendMouseEvents.m_MouseDownHit[i] = new SendMouseEvents.HitInfo(); } } else if ((bool) SendMouseEvents.m_MouseDownHit[i]) SendMouseEvents.m_MouseDownHit[i].SendMessage("OnMouseDrag"); if (SendMouseEvents.HitInfo.Compare(hit, SendMouseEvents.m_LastHit[i])) { if ((bool) hit) hit.SendMessage("OnMouseOver"); } else { if ((bool) SendMouseEvents.m_LastHit[i]) SendMouseEvents.m_LastHit[i].SendMessage("OnMouseExit"); if ((bool) hit) { hit.SendMessage("OnMouseEnter"); hit.SendMessage("OnMouseOver"); } } SendMouseEvents.m_LastHit[i] = hit; }