Beispiel #1
0
    //call this when tornadoReference already exists
    public void Init(TornadoScript tornadoRef, float springForce, float damper, float maxDistance, float minDistance)
    {
        //make sure this s enabled (for reentrance)
        enabled = true;

        //save tornado reference
        tornadoReference = tornadoRef;

        //initialize the spring
        spring               = gameObject.AddComponent <SpringJoint>();
        spring.spring        = springForce;
        spring.damper        = damper;
        spring.maxDistance   = maxDistance;
        spring.minDistance   = minDistance;
        spring.connectedBody = tornadoRef.gameObject.GetComponent <Rigidbody>();



        spring.autoConfigureConnectedAnchor = false;

        //set initial position of the caught object relative to its position and the tornado
        Vector3 initialPosition = Vector3.zero;

        initialPosition.y      = transform.position.y;
        spring.connectedAnchor = initialPosition;

        //StartCoroutine(refreshImpulse());
    }
 void OnEnable()
 {
     if (tornadoScript == null)
     {
         tornadoScript = target as TornadoScript;
     }
 }
    static void DrawGizmos(TornadoScript tornado, GizmoType gizmoType)
    {
        Handles.color = Color.red;
        Handles.DrawWireDisc(tornado.transform.position, Vector3.up, tornado.minDistance);

        Handles.color = Color.yellow;
        Handles.DrawWireDisc(tornado.transform.position, Vector3.up, tornado.maxDistance);

        Handles.color = Color.blue;
        Handles.DrawLine(tornado.transform.position, tornado.transform.position + tornado.rotationAxis * 20);

        Handles.color = Color.green;
        Handles.DrawWireDisc(tornado.transform.position, Vector3.up, tornado.tornadoCollider.radius);

        Handles.color = new Color(0, 0, 1, 0.3f);

        Handles.DrawSolidArc(tornado.transform.position,
                             Vector3.left,
                             Vector3.forward,
                             tornado.lift, tornado.minDistance);
    }