static public bool create(Dictionary <string, object> dict, List <Wave> waves)
        {
            if (MiniJsonHelper.getString(dict, "type", "") != "trochoidRipple")
            {
                return(false);
            }
            int num = MiniJsonHelper.getInt(dict, "num", 1);

            float[] radius        = MiniJsonHelper.getFloatArray(dict, "radius");
            float[] waveLength    = MiniJsonHelper.getFloatArray(dict, "waveLength");
            float[] amplitudeRate = MiniJsonHelper.getFloatArray(dict, "amplitudeRate");
            float[] phase         = MiniJsonHelper.getFloatArray(dict, "phase");
            float[] sec           = MiniJsonHelper.getFloatArray(dict, "sec");

            // 生成
            var rand = new Random();

            for (int i = 0; i < num; ++i)
            {
                var     wave   = new TrochoidRippleWave();
                float   rad    = ( float )(rand.NextDouble() * 2.0 * Math.PI);
                float   r      = frand(radius, rand);
                Vector2 center = new Vector2();
                wave.Center        = circleRrand(radius, rand, ref center);
                wave.WaveLength    = frand(waveLength, rand);
                wave.AmplitudeRate = frand(amplitudeRate, rand);
                wave.PhaseSpeed    = frand(phase, rand);
                wave.setTime(frand(sec, rand));
                waves.Add(wave);
            }

            return(true);
        }
Esempio n. 2
0
        // クローン作成
        override public Wave clone()
        {
            var obj = new TrochoidRippleWave();

            obj.Center        = Center;
            obj.WaveLength    = WaveLength;
            obj.AmplitudeRate = AmplitudeRate;
            obj.phaseSpeed_   = phaseSpeed_;
            obj.setTime(Time);
            return(obj);
        }