void CreateParticle(Color color, bool canMove = false, float duration = 0.3f)
    {
        GameObject particle = GameObject.Instantiate(ParticlePrefab,
                                                     new Vector3(transform.position.x + Random.Range(-0.1f, 0.1f),
                                                                 transform.position.y + Random.Range(-0.1f, 0.1f),
                                                                 transform.position.z), transform.rotation) as GameObject;
        ProjectileParticle part = particle.GetComponent <ProjectileParticle>();

        part.Initialize(color, 0.3f, canMove);
        _nextParticleTrow = Time.time + Random.Range(0.01f, 0.03f);
    }
Beispiel #2
0
        private static ProjectileUpdateCallback MakeController()
        {
            var lastPart = 0f;

            return((pr, dt) => {
                lastPart += dt;

                if (lastPart >= 0.1f)
                {
                    lastPart = 0;

                    var p = new ProjectileParticle();
                    pr.Area.Add(p);
                    p.Center = pr.Center;                     // + Random.Vector(3, 3);
                    // give some velocity too??
                }
            });
        }