public Traitor.Objective Instantiate() { var result = new Traitor.Objective(InfoText, ShuffleGoalsCount, Goals.ConvertAll(goal => { var instance = goal.Instantiate(); if (instance == null) { GameServer.Log($"Failed to instantiate goal \"{goal.Type}\".", ServerLog.MessageType.Error); } return(instance); }).FindAll(goal => goal != null).ToArray()); if (StartMessageTextId != null) { result.StartMessageTextId = StartMessageTextId; } if (StartMessageServerTextId != null) { result.StartMessageServerTextId = StartMessageServerTextId; } if (EndMessageSuccessTextId != null) { result.EndMessageSuccessTextId = EndMessageSuccessTextId; } if (EndMessageSuccessDeadTextId != null) { result.EndMessageSuccessDeadTextId = EndMessageSuccessDeadTextId; } if (EndMessageSuccessDetainedTextId != null) { result.EndMessageSuccessDetainedTextId = EndMessageSuccessDetainedTextId; } if (EndMessageFailureTextId != null) { result.EndMessageFailureTextId = EndMessageFailureTextId; } if (EndMessageFailureDeadTextId != null) { result.EndMessageFailureDeadTextId = EndMessageFailureDeadTextId; } if (EndMessageFailureDetainedTextId != null) { result.EndMessageFailureDetainedTextId = EndMessageFailureDetainedTextId; } return(result); }
public override Traitor.Objective Instantiate(IEnumerable <string> roles) { var result = new Traitor.Objective(InfoText, ShuffleGoalsCount, roles.ToArray(), goalInstances); if (StartMessageTextId != null) { result.StartMessageTextId = StartMessageTextId; } if (StartMessageServerTextId != null) { result.StartMessageServerTextId = StartMessageServerTextId; } if (EndMessageSuccessTextId != null) { result.EndMessageSuccessTextId = EndMessageSuccessTextId; } if (EndMessageSuccessDeadTextId != null) { result.EndMessageSuccessDeadTextId = EndMessageSuccessDeadTextId; } if (EndMessageSuccessDetainedTextId != null) { result.EndMessageSuccessDetainedTextId = EndMessageSuccessDetainedTextId; } if (EndMessageFailureTextId != null) { result.EndMessageFailureTextId = EndMessageFailureTextId; } if (EndMessageFailureDeadTextId != null) { result.EndMessageFailureDeadTextId = EndMessageFailureDeadTextId; } if (EndMessageFailureDetainedTextId != null) { result.EndMessageFailureDetainedTextId = EndMessageFailureDetainedTextId; } return(result); }