Exemplo n.º 1
0
        protected void Start()
        {
            Debug.Log("[AdditiveShader] AdditiveShaderManager.Start()");

            AssetReporter.Timer = Stopwatch.StartNew();

            managedAssets = AssetScanner.CollateManagedAssets();

            if (managedAssets.Count == 0)
            {
                OnDestroy();
                return;
            }

            RefreshRenderGroups();

            BuildCategories();

            remoteGroups = new Dictionary <Guid, List <ManagedAsset> >();

            instance = this;

            if (twilightAssets.Count != 0)
            {
                CheckForTwilight(FORCE);
                InvokeRepeating(nameof(CheckForTwilight), TWILIGHT_CHECK_INTERVAL, TWILIGHT_CHECK_INTERVAL);
            }
            else
            {
                enabled = timeBasedAssets.Count != 0;
            }

            HookEvents(true);
        }
Exemplo n.º 2
0
 protected void OnDestroy()
 {
     Debug.Log("[AdditiveShader] Manager shutting down.");
     HookEvents(false);
     instance = null;
     CancelInvoke();
     enabled      = false;
     remoteGroups = null;
     RestoreOriginalAssetSettings();
     DisposeAssetLists();
 }