Пример #1
0
    public void AttachTo(ContactParent contact)
    {
        if (m_CurrentContacts.Count == 0)
        {
            SetParent(contact);
        }

        m_CurrentContacts.Add(contact);
    }
Пример #2
0
    void SetParent(ContactParent newParent)
    {
        m_CurrentParent = newParent;

        if (newParent == null)
        {
            m_Transform.SetParent(null, worldPositionStays: true);
        }
        else
        {
            m_Transform.SetParent(newParent.m_Transform, worldPositionStays: true);
        }
    }
Пример #3
0
    public void DetachFrom(ContactParent contact)
    {
        m_CurrentContacts.Remove(contact);

        if (m_CurrentContacts.Count == 0)
        {
            SetParent(null);
        }
        else if (contact == m_CurrentParent)
        {
            SetParent(m_CurrentContacts[0]);
        }
    }
Пример #4
0
 public void HandleExit(ContactParent contactParent)
 {
     DetachFrom(contactParent);
     contactParent.Remove(this);
 }
Пример #5
0
 public void HandleEnter(ContactParent contactParent)
 {
     AttachTo(contactParent);
     contactParent.Add(this);
 }