void SetupAssetDistrictStyle(Package.Asset asset) { int i; try { if (asset != null && asset.isEnabled) { DistrictStyleMetaData districtStyleMetaData = asset.Instantiate <DistrictStyleMetaData>(); if (districtStyleMetaData != null && !districtStyleMetaData.builtin) { districtStyleMetaDatas.Add(districtStyleMetaData); districtStylePackages.Add(asset.package); if (districtStyleMetaData.assets != null) { for (i = 0; i < districtStyleMetaData.assets.Length; i++) { styleBuildings.Add(districtStyleMetaData.assets[i]); } } } } } catch (Exception ex) { CODebugBase <LogChannel> .Warn(LogChannel.Modding, string.Concat(new object[] { ex.GetType(), ": Loading custom district style failed[", asset, "]\n", ex.Message })); } }
void PostprocessDistricStyles() { int i, j; for (i = 0; i < districtStyleMetaDatas.m_size; i++) { try { DistrictStyleMetaData districtStyleMetaData = districtStyleMetaDatas.m_buffer[i]; DistrictStyle districtStyle = new DistrictStyle(districtStyleMetaData.name, false); if (districtStylePackages.m_buffer[i].GetPublishedFileID() != PublishedFileId.invalid) { districtStyle.PackageName = districtStylePackages.m_buffer[i].packageName; } if (districtStyleMetaData.assets != null) { for (j = 0; j < districtStyleMetaData.assets.Length; j++) { BuildingInfo bi = PrefabCollection <BuildingInfo> .FindLoaded(districtStyleMetaData.assets[j] + "_Data"); if (bi != null) { districtStyle.Add(bi); if (districtStyleMetaData.builtin) // this is always false { bi.m_dontSpawnNormally = !districtStyleMetaData.assetRef.isEnabled; } } else { CODebugBase <LogChannel> .Warn(LogChannel.Modding, "Warning: Missing asset (" + districtStyleMetaData.assets[i] + ") in style " + districtStyleMetaData.name); } } districtStyles.Add(districtStyle); } } catch (Exception ex) { CODebugBase <LogChannel> .Warn(LogChannel.Modding, ex.GetType() + ": Loading district style failed\n" + ex.Message); } } Singleton <DistrictManager> .instance.m_Styles = districtStyles.ToArray(); if (Singleton <BuildingManager> .exists) { Singleton <BuildingManager> .instance.InitializeStyleArray(districtStyles.Count); } }