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())); } }