Example #1
0
    private void Update()
    {
        if (cubes == null)
        {
            return;
        }

        if (Math.Abs(cubes.Hash - lastHash) > Mathf.Epsilon)
        {
            lastHash = cubes.Hash;
            cubes.ComputeMetaBalls();
            ReDraw();
            return;
        }

        if (Application.isPlaying)
        {
            movement += Time.deltaTime;
            if (cubes.metaBalls.metaPoints.Count > 0)
            {
                cubes.metaBalls.MoveBall(0, new Vector3(Mathf.Cos(movement), Mathf.Sin(movement), Mathf.Cos(movement * 2)) * 0.1f);
            }
            if (cubes.metaBalls.metaPoints.Count > 1)
            {
                cubes.metaBalls.MoveBall(1, new Vector3(Mathf.Sin(movement), Mathf.Cos(movement), Mathf.Sin(movement * 2)) * 0.1f);
            }

            ReDraw();
        }
        if (Math.Abs(iso - cubes.iso) > 0.0001f)
        {
            cubes.iso = iso;
            ReDraw();
        }
        //if(taskQueued&&taskDone)
        //{
        //	taskQueued = false;
        //}
    }