public Partawn Emit( TeamTag teamTag, Vector2 location, float rotation, float speed, float dps, float life) { Partawn p = new Partawn( idSource++, teamTag, location, rotation, speed, dps, life); partawns.Add(p); return(p); }
void EmitPartawns() { if (way == 0) { return; } float rotation; if (aimTarget != null) { rotation = Vector2.SignedAngle( Vector2.right, aimTarget.location - location); } else { rotation = UnityEngine.Random.Range(0, 360.0f); } for (int i = 0; i < way; i++) { var r = rotation; if (1 < way) { r += -wayRange * 0.5f + (wayRange * i / (way - 1)); Debug.Log(r); } r += UnityEngine.Random.Range(0, jitter) - jitter * 0.5f; Partawn p = partawnPool.Emit( teamTag, location, r, partawnSpeed, partawnDps, partawnLife); partawns.Add(p); emitSubject.OnNext(p); } }