private void Start() { // Force mixer to update volumes (does not work in init if init is called too early?) MasterVolume.ForceUpdateMixer(); MusicVolume.ForceUpdateMixer(); WorldVolume.ForceUpdateMixer(); UIVolume.ForceUpdateMixer(); }
public void Do() { WorldVolume add; Vector3 remove; int addcount, removecount; while (true) { addcount = 0; removecount = 0; while (AddQueue.Count > 0 && addcount < 3000) { add = new WorldVolume((Volume)AddQueue.Dequeue()); if (add == null) { continue; } octree.Add(add); addcount++; } while (RemoveQueue.Count > 0 && removecount < 3000) { remove = (Vector3)RemoveQueue.Dequeue(); if (remove == null) { continue; } Console.WriteLine("Removing " + remove); octree.Remove(remove); removecount++; } faceBatch.Update(); lock (Locked) { while (AddQueue.Count == 0 && RemoveQueue.Count == 0) { Monitor.Wait(Locked); } } } }
public void Do() { WorldVolume add; Vector3 remove; int addcount, removecount; while (true) { addcount = 0; removecount = 0; while (AddQueue.Count > 0 && addcount < 3000) { add = new WorldVolume((Volume)AddQueue.Dequeue()); if (add == null) continue; octree.Add( add ); addcount++; } while (RemoveQueue.Count > 0 && removecount < 3000) { remove = (Vector3)RemoveQueue.Dequeue(); if (remove == null) continue; Console.WriteLine("Removing " + remove); octree.Remove( remove ); removecount++; } faceBatch.Update(); lock (Locked) { while (AddQueue.Count == 0 && RemoveQueue.Count == 0) Monitor.Wait(Locked); } } }