예제 #1
0
        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));
        }
예제 #2
0
        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);
        }
예제 #3
0
 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;
     }
 }