// 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(); }
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); }