コード例 #1
0
    void LateUpdate()
    {
        if (mNextUpdate < Time.time)
        {
            mNextUpdate = Time.time + 0.075f + Random.value * 0.05f;

            if (FOWSystem.instance == null)
            {
                enabled = false;
                return;
            }

            if (mUpdate)
            {
                mRenderers = GetComponentsInChildren <Renderer>();
            }

            bool visible = FOWSystem.IsVisible(mTrans.position);

            if (mUpdate || mIsVisible != visible)
            {
                mUpdate    = false;
                mIsVisible = visible;

                for (int i = 0, imax = mRenderers.Length; i < imax; ++i)
                {
                    Renderer ren = mRenderers[i];

                    if (ren)
                    {
                        ren.enabled = mIsVisible;
                    }
                    else
                    {
                        mUpdate     = true;
                        mNextUpdate = Time.time;
                    }
                }
            }
        }
    }