示例#1
0
    void OnTriggerEnter(Collider other)
    {
        if ((other.gameObject.layer == LayerMask.NameToLayer("CharacterBody") || other.gameObject.layer == LayerMask.NameToLayer("Character")) && m_Passes >= m_PassesRequired)
        {
            if ((m_RequiresKey || !m_Played) && !Root.Instance.m_Character.m_HasKey)
            {
                m_HintScript.ShowHint();
                m_Played = true;
            }


            if (Root.Instance.m_Character.m_HasKey && m_Switch != null)
            {
                m_Switch.Unlock();
                m_Switch.HitSwitch();
            }

            if (m_ToActivate != null)
            {
                m_ToActivate.SetActive(true);
            }

            m_Passes++;
        }
    }
    public void WeaponCollide(Collider other)
    {
        if (m_NextState == this)
        {
            if (other.gameObject.layer == LayerMask.NameToLayer("Switch") || other.gameObject.layer == LayerMask.NameToLayer("Terrain"))
            {
                SwitchScript s = other.GetComponentInParent <SwitchScript>();

                if (s != null)
                {
                    s.HitSwitch();
                }
                else
                {
                    s = other.transform.parent.GetComponentInParent <SwitchScript>();

                    if (s != null)
                    {
                        s.HitSwitch();
                    }
                }
            }
        }
    }