protected override void OnPrefabInit()
 {
     Debug.Assert((UnityEngine.Object)instance == (UnityEngine.Object)null);
     instance                         = this;
     partitioner                      = new ScenePartitioner(16, 64, Grid.WidthInCells, Grid.HeightInCells);
     solidChangedLayer                = partitioner.CreateMask("SolidChanged");
     liquidChangedLayer               = partitioner.CreateMask("LiquidChanged");
     digDestroyedLayer                = partitioner.CreateMask("DigDestroyed");
     fogOfWarChangedLayer             = partitioner.CreateMask("FogOfWarChanged");
     decorProviderLayer               = partitioner.CreateMask("DecorProviders");
     attackableEntitiesLayer          = partitioner.CreateMask("FactionedEntities");
     fetchChoreLayer                  = partitioner.CreateMask("FetchChores");
     pickupablesLayer                 = partitioner.CreateMask("Pickupables");
     pickupablesChangedLayer          = partitioner.CreateMask("PickupablesChanged");
     gasConduitsLayer                 = partitioner.CreateMask("GasConduit");
     liquidConduitsLayer              = partitioner.CreateMask("LiquidConduit");
     solidConduitsLayer               = partitioner.CreateMask("SolidConduit");
     noisePolluterLayer               = partitioner.CreateMask("NoisePolluters");
     validNavCellChangedLayer         = partitioner.CreateMask("validNavCellChangedLayer");
     dirtyNavCellUpdateLayer          = partitioner.CreateMask("dirtyNavCellUpdateLayer");
     trapsLayer                       = partitioner.CreateMask("trapsLayer");
     floorSwitchActivatorLayer        = partitioner.CreateMask("FloorSwitchActivatorLayer");
     floorSwitchActivatorChangedLayer = partitioner.CreateMask("FloorSwitchActivatorChangedLayer");
     collisionLayer                   = partitioner.CreateMask("Collision");
     lure   = partitioner.CreateMask("Lure");
     plants = partitioner.CreateMask("Plants");
     industrialBuildings  = partitioner.CreateMask("IndustrialBuildings");
     completeBuildings    = partitioner.CreateMask("CompleteBuildings");
     prioritizableObjects = partitioner.CreateMask("PrioritizableObjects");
     objectLayers         = new ScenePartitionerLayer[39];
     for (int i = 0; i < 39; i++)
     {
         ObjectLayer objectLayer = (ObjectLayer)i;
         objectLayers[i] = partitioner.CreateMask(new HashedString(objectLayer.ToString()));
     }
 }