コード例 #1
0
        private void Burst(WorldEntityController entity, Vector3 position, Gradient gradient, bool fadeTrails, int burstSeparationAngle, int bursOffsetAngle, float burstOffsetVector,
                           float forceStrenght, float maxTimeAlive)
        {
            for (int angle = 0; angle < 360; angle += burstSeparationAngle)
            {
                float   angleInRad = (float)(angle + bursOffsetAngle) * Mathf.Deg2Rad;
                Vector2 dir        = new Vector2((float)Math.Cos(angleInRad), (float)Math.Sin(angleInRad));

                SoundWaveController soundWaveController =
                    Instantiate(soundWaveControllerPrefab,
                                position + new Vector3(dir.x, dir.y, 0) * burstOffsetVector, Quaternion.identity,
                                soundWaveParent.transform);
                soundWaveController.Init(entity, maxTimeAlive, gradient, fadeTrails, dir, forceStrenght);
                soundWaveController.onDestroy += CleanSoundWave;
                _soundWaveControllers.Add(soundWaveController);
            }
        }
コード例 #2
0
 private void CleanSoundWave(SoundWaveController entity)
 {
     entity.onDestroy -= CleanSoundWave;
     _soundWaveControllers.Remove(entity);
 }