Skip to content

BuildingManager

Graydon edited this page Mar 21, 2017 · 6 revisions

public class BuildingManager

Base Class: SimulationManagerBase<BuildingManager, BuildingProperties>
Implements: IAudibleManager
Implements: IRenderableManager
Implements: ISimulationManager
Implements: ITerrainManager

Fields

public int m_buildingCount
public int m_infoCount
public bool m_abandonmentDisabled
public bool m_firesDisabled
public Array16<Building> m_buildings
public ulong[] m_updatedBuildings
public bool m_buildingsUpdated
public ushort[] m_buildingGrid
public ushort[] m_buildingGrid2
public MaterialPropertyBlock m_materialBlock
public int ID_BuildingState
public int ID_ObjectIndex
public int ID_Color
public int ID_BuildingSize
public int ID_MainTex
public int ID_XYSMap
public int ID_ACIMap
public int[] ID_BuildingLocations
public int[] ID_BuildingStates
public int[] ID_ObjectIndices
public int[] ID_BuildingColors
public int ID_HeightMap
public int ID_HeightMapping
public int ID_SurfaceMapping
public int ID_Speed
public int ID_State
public AudioGroup m_audioGroup
public BuildingCommonCollection m_common
public BuildingInstanceGuide m_buildingAbandoned1
public BuildingInstanceGuide m_buildingAbandoned2
public BuildingOnFireGuide m_buildingOnFire
public BuildingInstanceGuide m_buildingBurned
public BuildingInstanceGuide m_buildingLevelUp
public GenericGuide m_buildNextToRoad
public GenericGuide m_buildNextToWater
public BuildingInstanceGuide m_landfillSiteFull
public BuildingInstanceGuide m_cemeteryFull
public BuildingInstanceGuide m_landfillSiteEmpty
public BuildingInstanceGuide m_cemeteryEmpty
public GenericGuide m_windTurbinePlacement
public GenericGuide m_harborPlacement
public Problem m_lastBuildingProblems
public Problem m_currentBuildingProblems
public Environment m_cityNameGroups
public LevelUpWrapper m_LevelUpWrapper
public Texture2D m_lodRgbAtlas
public Texture2D m_lodXysAtlas
public Texture2D m_lodAciAtlas
private ushort[] m_areaBuildings
private bool m_areaBuildingsDirty
private [FastList1[]](https://github.com/klparrot/Assembly-CSharp/wiki/FastList1) m_serviceBuildings
private FastList<ushort> m_outsideConnections
private Mesh m_highlightMesh
private Material m_highlightMaterial
private int m_buildingLayer
private int m_colorUpdateMin
private int m_colorUpdateMax
private object m_colorUpdateLock
public const float BUILDINGGRID_CELL_SIZE = 64
public const int BUILDINGGRID_RESOLUTION = 270
public const int MAX_BUILDING_COUNT = 32768
public const int MAX_OUTSIDE_CONNECTIONS = 4
public const int MAX_MAP_BUILDINGS = 8192
public const int MAX_ASSET_BUILDINGS = 64

Methods

private static int GetAreaIndex(Service service, SubService subService, Level level, int width, int length)
protected void Awake()
private void OnDestroy()
private void CreateRelay()
private void ReleaseRelay()
public void InitializeProperties(BuildingProperties properties)
public void DestroyProperties(BuildingProperties properties)
private void RefreshUnlocks()
public bool UpdateColorMap(Texture2D colorMap)
protected void BeginRenderingImpl(CameraInfo cameraInfo)
protected void EndRenderingImpl(CameraInfo cameraInfo)
protected void BeginOverlayImpl(CameraInfo cameraInfo)
public void InitRenderData()
private IEnumerator InitRenderDataImpl()
private void CreateHighlightMesh()
protected void PlayAudioImpl(ListenerInfo listenerInfo)
public void CalculateServiceProximity(Vector3 position, float radius, float[] serviceProximity, float[] subServiceProximity)
public float SampleSmoothHeight(Vector3 worldPos, Layer layers)
public bool CheckLimits()
public bool CreateBuilding(out ushort building, ref Randomizer randomizer, BuildingInfo info, Vector3 position, float angle, int length, uint buildIndex)
public void ReleaseBuilding(ushort building)
public BuildingInfo GetRandomBuildingInfo(ref Randomizer r, Service service, SubService subService, Level level, int width, int length)
public void AddServiceBuilding(ushort building, Service service)
public void RemoveServiceBuilding(ushort building, Service service)
public FastList<ushort> GetServiceBuildings(Service service)
public void AddOutsideConnection(ushort buildingID)
public void RemoveOutsideConnection(ushort buildingID)
public FastList<ushort> GetOutsideConnections()
private void InitializeBuilding(ushort building, ref Building data)
private void AddToGrid(ushort building, ref Building data)
private void AddToGrid2(ushort building, ref Building data)
private void RemoveFromGrid(ushort building, ref Building data)
private void RemoveFromGrid2(ushort building, ref Building data)
private void ReleaseBuildingImplementation(ushort building, ref Building data)
private void ReleasePaths(ushort building, ref Building data)
private void ReleaseWaterSource(ushort building, ref Building data)
public void RelocateBuilding(ushort building, Vector3 position, float angle)
private void RelocateBuildingImpl(ushort building, ref Building data, Vector3 position, float angle)
public void UpdateBuilding(ushort building)
public void UpdateBuildingRenderer(ushort building, bool updateGroup)
public void UpdateBuildingRenderer(ushort building, ref Building data, bool updateGroup)
public void UpdateBuildingInfo(ushort building, BuildingInfo newInfo)
public void UpdateParkingSpaces(ushort building, ref Building data)
public void UpdateBuildingInfo(ushort building, ref Building data, BuildingInfo newInfo)
private int GetLayers(BuildingInfo info, ushort building)
public void UpdateNotifications(ushort building, Problem oldProblems, Problem newProblems)
private void UpdateBuilding(ushort building, float minX, float minZ, float maxX, float maxZ)
public bool OverlapQuad(Quad2 quad, float minY, float maxY, Layer layers, ushort ignoreBuilding, ushort ignoreNode1, ushort ignoreNode2)
public bool OverlapQuad(Quad2 quad, float minY, float maxY, Layer layers, ushort ignoreBuilding, ushort ignoreNode1, ushort ignoreNode2, ulong[] buildingMask)
public ushort GetWalkingBuilding(Vector3 worldPos)
public ushort FindBuilding(Vector3 pos, float maxDistance, Service service, SubService subService, Flags flagsRequired, Flags flagsForbidden)
private bool IgnoreOverlap(ushort buildingIndex, ushort ignoreBuilding, ushort ignoreNode1, ushort ignoreNode2)
public bool RayCast(Segment3 ray, Service service, SubService subService, Layer itemLayers, Flags ignoreFlags, out Vector3 hit, out ushort buildingIndex)
public void UpdateFlags(ushort building, Flags changeMask)
protected void SimulationStepImpl(int subStep)
public void CheckAllMilestones()
public void TerrainUpdated(TerrainArea heightArea, TerrainArea surfaceArea, TerrainArea zoneArea)
public void AfterTerrainUpdate(TerrainArea heightArea, TerrainArea surfaceArea, TerrainArea zoneArea)
public void ZonesUpdated(float minX, float minZ, float maxX, float maxZ)
private void RefreshAreaBuildings()
public IEnumerator<bool> SetBuildingName(ushort building, string name)
public bool CalculateGroupData(int groupX, int groupZ, int layer, ref int vertexCount, ref int triangleCount, ref int objectCount, ref VertexArrays vertexArrays)
public void PopulateGroupData(int groupX, int groupZ, int layer, ref int vertexIndex, ref int triangleIndex, Vector3 groupPosition, MeshData data, ref Vector3 min, ref Vector3 max, ref float maxRenderDistance, ref float maxInstanceDistance, ref bool requireSurfaceMaps)
public void UpdateData(UpdateMode mode)
public void GetData(FastList<IDataContainer> data)
public void UpdateBuildingColors(ushort building)
public void UpdateBuildingColors(ushort min, ushort max)
public void UpdateBuildingColors()
public void CalculateOutsideConnectionCount(Service service, SubService subService, out int incoming, out int outgoing)
public string GetDefaultBuildingName(ushort building, InstanceID caller)
public string GetBuildingName(ushort building, InstanceID caller)
private string GenerateName(ushort building, InstanceID caller)
string ISimulationManager.GetName()
ThreadProfiler ISimulationManager.GetSimulationProfiler()
void ISimulationManager.SimulationStep(int subStep)
string IRenderableManager.GetName()
DrawCallData IRenderableManager.GetDrawCallData()
void IRenderableManager.BeginRendering(CameraInfo cameraInfo)
void IRenderableManager.EndRendering(CameraInfo cameraInfo)
void IRenderableManager.BeginOverlay(CameraInfo cameraInfo)
void IRenderableManager.EndOverlay(CameraInfo cameraInfo)
void IRenderableManager.UndergroundOverlay(CameraInfo cameraInfo)
void IAudibleManager.PlayAudio(ListenerInfo listenerInfo)

Clone this wiki locally