示例#1
0
    /// <summary>
    /// Toggles collision and movement logic for pits
    /// </summary>
    public void ToggleInteractivity(bool toggle)
    {
        //toggle movement
        PlayerMovement m = GetComponent <PlayerMovement>();

        if (toggle)
        {
            m.SetMove();
        }
        else
        {
            m.DisableMove();
        }
        //toggle all triggers/hitboxes in system, toggle weapons off but never on
        foreach (BoxCollider2D col in GetComponentsInChildren <BoxCollider2D>())
        {
            if (!col.gameObject.CompareTag("Weapons") || !toggle)
            {
                col.enabled = toggle;
            }
        }
        GetComponent <BoxCollider2D>().enabled = toggle;
        //toggle velocity
        if (!toggle)
        {
            rb.constraints = RigidbodyConstraints2D.FreezeAll;
        }
        else
        {
            rb.constraints = RigidbodyConstraints2D.FreezeRotation;
        }

        Slasher sl = GetComponent <Slasher>();

        if (sl.isSwinging)
        {
            sl.EndSlash();
        }
    }