コード例 #1
0
        // PUBLIC STATIC METHODS: ---------------------------------------------------------

        public static ShootingTrailRenderer Create(ShootingTrail data)
        {
            GameObject            instance = new GameObject("ShootingTrailRenderer");
            ShootingTrailRenderer trail    = instance.AddComponent <ShootingTrailRenderer>();

            trail.SetupShootingTrail(data);
            return(trail);
        }
コード例 #2
0
        // PRIVATE METHODS: --------------------------------------------------------------

        private void SetupShootingTrail(ShootingTrail data)
        {
            this.SetupLineRenderer(data, true);
            this.lineRenderer.positionCount = 2;
            this.lineRenderer.SetPositions(new Vector3[]
            {
                data.position1,
                data.position2
            });

            this.positionA = data.position1;
            this.positionB = data.position2;

            this.startAlpha = this.lineRenderer.material.color.a;
            this.startTime  = Time.time;

            float distance = Vector3.Magnitude(this.positionB - this.positionA);

            this.totalDuration = distance * data.duration;
        }
コード例 #3
0
        public static ShootingTrailRenderer Create(
            ShootingTrail data,
            TrajectoryRenderer.TrajectoryResult trajectory)
        {
            GameObject            instance = new GameObject("ShootingTrailRenderer");
            ShootingTrailRenderer trail    = instance.AddComponent <ShootingTrailRenderer>();

            trail.SetupShootingTrail(data);

            trail.lineRenderer.positionCount = trajectory.count;
            trail.lineRenderer.SetPositions(trajectory.points);

            trail.retract = (trajectory.count == 2);
            if (trail.retract)
            {
                trail.positionA = trajectory.points[0];
                trail.positionB = trajectory.points[1];
            }

            return(trail);
        }