void Fire(XffectComponent xt) { int index = Random.Range(0, Targets.Length); Transform tar = Targets[index]; Vector3 center = (tar.position + xt.transform.position) * 0.5f; //we need to activate first to retrieve the effectlayer list. xt.Active(); //note you may need to check the specific effectlayer's name here. XSplineComponent spline = xt.EffectLayerList[0].EmitSpline; //build the spline dynamically. spline.RemoveAllPointsExceptFirst(); spline.AppendWorldPoint(center + Vector3.up * 60f); spline.AppendWorldPoint(tar.position); spline.ReBuild(); //set collision target xt.SetCollisionGoalPos(tar); }
public static void CreateXSpline() { GameObject go = new GameObject("XSpline"); XSplineComponent spcomp = go.AddComponent <XSplineComponent>(); spcomp.Spline.AppendPoint(Vector3.zero, XSpline.BezierPointType.Smooth, Vector3.zero, Vector3.zero); spcomp.Spline.AppendPoint(spcomp.Spline.mPoints[spcomp.Spline.mPoints.Count - 1].mPoint + Vector3.right, XSpline.BezierPointType.Smooth, Vector3.zero, Vector3.zero); spcomp.Spline.Build(); spcomp.RefreshElements(); }
void OnEnable() { mSplinecomp = (XSplineComponent)target; mSpline = mSplinecomp.Spline; mEdithelper = mSpline.GetEditHelper(); }