Exemple #1
0
 protected override void OnEnable()
 {
     base.OnEnable();
     _ropeJointObject        = _jointObject as b2RopeJointObject;
     _oldAutoConfigureAnchor = _ropeJointObject.autoConfigureAnchor;
     fixAutoAnchor();
     _oldLocalAnchor1.SetV(_ropeJointObject.localAnchor1);
     _oldLocalAnchor2.SetV(_ropeJointObject.localAnchor2);
     _oldMaxLength = _ropeJointObject.maxLength;
 }
Exemple #2
0
    /**修复b2RopeJointObject*/
    private static void fixB2RopeJointWithTransform(Transform transform)
    {
        b2RopeJointObject ropeJointObj = transform.GetComponent <b2RopeJointObject>();

        if (ropeJointObj != null)
        {
            ropeJointObj.updateAutoAnchor();
        }

        for (int i = 0; i < transform.childCount; i++)
        {
            fixB2RopeJointWithTransform(transform.GetChild(i));
        }
    }
Exemple #3
0
    /**解析b2RopeJointObject*/
    private static void parseB2RopeJointObject(b2RopeJointObject ropeJointObject, XmlElement componentElement, XmlDocument xml)
    {
        //EnableCollision
        XmlElement enableCollisionElement = xml.CreateElement("EnableCollision");

        enableCollisionElement.InnerText = ropeJointObject.enableCollision.ToString();
        componentElement.AppendChild(enableCollisionElement);
        //ConnectedB2BodyObject    "null"/"instanceID"
        XmlElement connectedB2BodyObjectElement = xml.CreateElement("ConnectedB2BodyObject");

        if (ropeJointObject.connectedB2BodyObject == null)
        {
            connectedB2BodyObjectElement.InnerText = "null";
        }
        else
        {
            connectedB2BodyObjectElement.InnerText = ropeJointObject.connectedB2BodyObject.GetInstanceID().ToString();
        }
        componentElement.AppendChild(connectedB2BodyObjectElement);
        //AutoConfigureAnchor
        XmlElement autoConfigureAnchorElement = xml.CreateElement("AutoConfigureAnchor");

        autoConfigureAnchorElement.InnerText = ropeJointObject.autoConfigureAnchor.ToString();
        componentElement.AppendChild(autoConfigureAnchorElement);
        //LocalAnchor1
        XmlElement localAnchor1Element = xml.CreateElement("LocalAnchor1");

        localAnchor1Element.SetAttribute("x", ropeJointObject.localAnchor1.x.ToString());
        localAnchor1Element.SetAttribute("y", ropeJointObject.localAnchor1.y.ToString());
        componentElement.AppendChild(localAnchor1Element);
        //LocalAnchor2
        XmlElement localAnchor2Element = xml.CreateElement("LocalAnchor2");

        localAnchor2Element.SetAttribute("x", ropeJointObject.localAnchor2.x.ToString());
        localAnchor2Element.SetAttribute("y", ropeJointObject.localAnchor2.y.ToString());
        componentElement.AppendChild(localAnchor2Element);
        //MaxLength
        XmlElement maxLengthElement = xml.CreateElement("MaxLength");

        maxLengthElement.InnerText = ropeJointObject.maxLength.ToString();
        componentElement.AppendChild(maxLengthElement);
    }