public Mission(MissionPrefab prefab, Location[] locations) { System.Diagnostics.Debug.Assert(locations.Length == 2); this.prefab = prefab; Description = prefab.Description; SuccessMessage = prefab.SuccessMessage; FailureMessage = prefab.FailureMessage; Headers = new List <string>(prefab.Headers); Messages = new List <string>(prefab.Messages); for (int n = 0; n < 2; n++) { if (Description != null) { Description = Description.Replace("[location" + (n + 1) + "]", locations[n].Name); } if (SuccessMessage != null) { SuccessMessage = SuccessMessage.Replace("[location" + (n + 1) + "]", locations[n].Name); } if (FailureMessage != null) { FailureMessage = FailureMessage.Replace("[location" + (n + 1) + "]", locations[n].Name); } for (int m = 0; m < Messages.Count; m++) { Messages[m] = Messages[m].Replace("[location" + (n + 1) + "]", locations[n].Name); } } }