コード例 #1
0
    IEnumerator CoBreakPlanks()
    {
        //  Adjust hinge break force so it breaks off
        BridgePlank1.breakForce  = 0;
        BridgePlank1.breakTorque = 0;
        BridgePlank2.useLimits   = false;
        yield return(new WaitForSeconds(.25f));

        BridgePlank2.breakForce  = 0;
        BridgePlank2.breakTorque = 0;

        //  Remove hingejoints from bridgeplank support
        HingeJoint[] bridge2HingeJoints = BridgePlank2.GetComponents <HingeJoint>();
        for (int i = 0; i < bridge2HingeJoints.Length; i++)
        {
            Destroy(bridge2HingeJoints[i]);
        }

        //  Remove limiter on rope supports to make them swing realisticly
        for (int i = 0; i < BridgePlank2RopeSupports.Length; i++)
        {
            BridgePlank2RopeSupports[i].useLimits = false;
        }

        BridgePlank2RopeSupports[BridgePlank2RopeSupports.Length - 1].GetComponent <Rigidbody>().AddForce(Vector2.left * 500);

        yield return(new WaitForSeconds(5));

        //  Remove gameobject event and corresponding planks
        Destroy(BridgePlank1);
        //Destroy(BridgePlank2);
        Destroy(gameObject);
    }