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); }
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?? } }); }