private Material GetMaterial(RuntimeMaterial runtimeMaterial, ClimateBases climate, ClimateSeason season) { int archive = runtimeMaterial.Archive; int record = runtimeMaterial.Record; if (runtimeMaterial.ApplyClimate) { archive = ClimateSwaps.ApplyClimate(archive, record, climate, season); } return(DaggerfallUnity.Instance.MaterialReader.GetMaterial(archive, record)); }
private Material GetMaterial(RuntimeMaterial runtimeMaterial, DFLocation.ClimateBaseType climateBaseType, ClimateBases climate, ClimateSeason season, int[] dungeonTextureTable) { int archive = runtimeMaterial.Archive; int record = runtimeMaterial.Record; if (dungeonTextureTable != null) archive = DungeonTextureTables.ApplyTextureTable(archive, dungeonTextureTable, climateBaseType); if (runtimeMaterial.ApplyClimate) archive = ClimateSwaps.ApplyClimate(archive, record, climate, season); return DaggerfallUnity.Instance.MaterialReader.GetMaterial(archive, record); }
private void InitFromMeshRenderer() { var meshRenderer = GetComponent<MeshRenderer>(); if (meshRenderer) { Materials = new RuntimeMaterial[meshRenderer.sharedMaterials.Length]; for (int i = 0; i < Materials.Length; i++) { Materials[i] = new RuntimeMaterial() { Index = i }; } } else { Materials = null; } }