Пример #1
0
    // Use this for initialization
    void Start()
    {
        // Don't actually stay connected to the parent, as we want to stick around a for a time after it's gone so we can destroy ourself.
        if (transform.parent)
        {
            parentObj = transform.parent.gameObject;
        }

        transform.SetParent(null);

        lastEmissionTime = Time.time;
        pointList.AddFirst(transform.position);

        lr = SparkySpark.InitLineRenderer(gameObject, sparkInfo);
        lr.transform.SetParent(transform);

        SetPoints();
    }
Пример #2
0
    void CreateSpark()
    {
        float   halfAngle = emissionAngle * 0.5f;
        float   angle     = Random.Range(-halfAngle, halfAngle);
        Vector2 dir       = Quaternion.AngleAxis(angle, Vector3.forward) * transform.right;

        // Create the new spark, copied from the old one!
        GameObject  o        = new GameObject(name + " spark");
        SparkySpark newSpark = o.AddComponent <SparkySpark> ();

        newSpark.info        = sparkInfo;
        o.transform.position = transform.position;
        o.transform.rotation = transform.rotation;

        float myVel           = Random.Range(startVelocityRange.x, startVelocityRange.y);
        float myLifetime      = Random.Range(sparkLifetime.x, sparkLifetime.y);
        float myAppearTime    = Random.Range(sparkAppearTime.x, sparkAppearTime.y);
        float myDisappearTime = Random.Range(sparkDisappearTime.x, sparkDisappearTime.y);

        newSpark.SetupSpark(dir * myVel, myLifetime, directionalAcceleration, drag, myAppearTime, myDisappearTime, sparkLengthMultiplier);
    }