Пример #1
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.F1))
        {
            _autoTest = !_autoTest;
        }

        _loader.Update();
        for (int i = 0; i < HandleCount; i++)
        {
            Update(i);
        }

        if (_autoTest)
        {
            if (UnityEngine.Random.Range(0f, 1f) < 0.01f)
            {
                OnClickClearStorageCacheButton();
            }
            if (UnityEngine.Random.Range(0f, 1f) < 0.1f)
            {
                Release();
            }
        }
    }
Пример #2
0
    void Update()
    {
        _log.Update();

        if (_loader.ready)         // 見ないでUpdate,Dumpを呼べば、初期化が終わるまでブロックするが動く。ブロックを嫌うならこれを見ておくこと。
        {
            _loader.Update();
            _sb.Length = 0;
            bool summaryOnly = (_fileList.Count > 20);
            _loader.Dump(_sb, summaryOnly);
            dump.text = _sb.ToString();
        }

        // 破棄中は何もしない
        int sinceRelease = Time.frameCount - _releasedFrame;

        if (sinceRelease == (_releaseWait / 2))
        {
            System.GC.Collect();             // GC走らせて素材消す
        }
        else if (sinceRelease == _releaseWait)
        {
            if (autoTestToggle.isOn)             // 自動なら一定確率でキャッシュ消す
            {
                if (UnityEngine.Random.Range(0f, 1f) < 0.5f)
                {
                    ClearStorageCache();
                }
            }
        }
        if (sinceRelease < _releaseWait)
        {
            return;
        }

        if (autoTestToggle.isOn)
        {
            Load();
            if (UnityEngine.Random.Range(0f, 1f) < 0.1f)
            {
                Release();
            }
            if (UnityEngine.Random.Range(0f, 1f) < 0.1f)
            {
                if (!_listFileExists)
                {
                    UpdateHashMap();
                }
            }
        }
    }