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);
    }
예제 #2
0
    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();
    }
예제 #3
0
 void OnEnable()
 {
     mSplinecomp = (XSplineComponent)target;
     mSpline     = mSplinecomp.Spline;
     mEdithelper = mSpline.GetEditHelper();
 }