Ejemplo n.º 1
0
    public void SaveCurrentRecording(WindRecording rec)
    {
        Debug.Log("Attempting to save to disk!");
        var t = new Thread(new ParameterizedThreadStart(saveCurrentRecording));

        t.Start(rec);
    }
Ejemplo n.º 2
0
    public void Play(WindRecording windRecording)
    {
        recording   = windRecording;
        sampleTimer = windRecording.SampleTime;

        direction = (windRecording.HemispherePosition - windRecording.Origin).normalized;

        GetComponent <TrailRenderer>().time = windRecording.TrailTime;

        currentSample = 0;
        PlaySamples   = true;
    }
Ejemplo n.º 3
0
    public WindPlayer PlayRecording(WindRecording windRecording)
    {
        var obj = Instantiate(this.gameObject);

        obj.transform.position = windRecording.Samples[0];

        obj.GetComponent <WindRecorder>().enabled = false;
        var player = obj.AddComponent <WindPlayer>();

        player.Play(windRecording);

        return(player);
    }
Ejemplo n.º 4
0
    private WindRecording getCurrentRecording()
    {
        var recording = new WindRecording();

        recording.SampleTime = SampleTime;
        recording.Samples    = new List <Vector3>(samples);
        recording.TrailTime  = trail.time;

        recording.Origin = transform.position;


        var pos = Random.onUnitSphere;

        pos.y = Mathf.Abs(pos.y);

        const float HEMISPHERE_RADIUS = 6f;

        pos *= HEMISPHERE_RADIUS;

        recording.HemispherePosition = pos;

        return(recording);
    }