protected virtual void OnEnable()
        {
            stamp = new Stamp();
            wave  = new Wave2D();

            currCameraData = default;
            validator.Reset();
            validator.SetCheckers(() => !transform.hasChanged && currCameraData.Equals(GetCamera()));
            validator.Validation += () => {
                currCameraData = GetCamera();
                if (GetCamera() == null)
                {
                    return;
                }

                Vector2Int reqSize = GetResolution();
                wave.SetSize(reqSize.x, reqSize.y);
                wave.SetBoundary(data.boundary);
                wave.Params = data.paramset;

                transform.hasChanged = false;

                Debug.Log($"{wave}");
            };
            validator.Validated += () => {
                Validated?.Invoke();
            };
        }
Beispiel #2
0
    private void OnEnable()
    {
        stamp = new Stamp();
        wave  = new Wave2D();

        rend = GetComponent <Renderer>();
        col  = GetComponent <Collider>();

        validator.Reset();
        validator.SetCheckers(() => !transform.hasChanged);
        validator.Validation += () => {
            var c          = Camera.main;
            var height     = c.pixelHeight >> data.lod;
            var localScale = transform.localScale;
            var reqSize    = new Vector2Int(Mathf.RoundToInt(height * localScale.x / localScale.y), height);
            wave.SetSize(reqSize.x, reqSize.y);
            wave.SetBoundary(data.boundary);
            wave.Params = data.paramset;

            transform.hasChanged = false;
        };
    }