コード例 #1
0
    void OnTriggerEnter(Collider other)
    {
        if (other.transform.parent == null)
        {
            return;
        }

        bl_Ladder l = other.transform.parent.GetComponent <bl_Ladder>();

        if (l != null)
        {
            if (!l.CanUse)
            {
                return;
            }

            m_Ladder = l;
            if (other.transform.name == bl_Ladder.BottomColName)
            {
                m_Ladder.InsertionPoint = other.transform;
                if (!isClimbing)
                {
                    m_Ladder.ToBottom();
                    ToggleClimbing();
                }
                else
                {
                    ToggleClimbing();
                    m_Ladder.HasPending = false;
                }
            }
            else if (other.transform.name == bl_Ladder.TopColName)
            {
                m_Ladder.InsertionPoint = other.transform;
                if (isClimbing)
                {
                    m_Ladder.SetToTop();
                    if (!MoveToStarted)
                    {
                        StartCoroutine(MoveTo(m_Ladder.GetCurrent, true));
                    }
                }
                else
                {
                    m_Ladder.ToMiddle();
                }
                ToggleClimbing();
            }
        }
    }