/// <summary> /// Verify given <see cref="Material"/> arrays are valid (not empty nor containing any null /// entries, and both arrays of the same length). /// </summary> private void Awake() { // Verify that at least one Wall Material and at least one Roof Material has been given. if (WallMaterials.Length == 0) { Debug.LogError(ExampleErrors.EmptyArray(this, WallMaterials, "Wall Materials")); return; } if (RoofMaterials.Length == 0) { Debug.LogError(ExampleErrors.EmptyArray(this, RoofMaterials, "Roof Materials")); return; } // Verify that the same number of Wall and Roof Materials have been given. if (WallMaterials.Length != RoofMaterials.Length) { Debug.LogErrorFormat("Incorrect number of Building Roof Materials defined for {0}.{1}: {2} " + "Building Wall Materials were given, but {3} Building Roof Materials were given.\n{1} " + "needs the same number of Building Roof Materials as Building Wall Materials, i.e. {2} " + "of each.", name, GetType(), WallMaterials.Length, RoofMaterials.Length); return; } // Verify that no null Materials have been given. for (int i = 0; i < WallMaterials.Length; i++) { if (WallMaterials[i] == null) { Debug.LogError(ExampleErrors.NullArrayElement(this, WallMaterials, "Wall Materials", i)); return; } if (RoofMaterials[i] == null) { Debug.LogError(ExampleErrors.NullArrayElement(this, RoofMaterials, "Roof Materials", i)); return; } } // If have reached this point then have verified that all required parts are present and // properly set up. }