public static string GetRandomSentence(ConnectorData connector, RandomMessageData randomData) { string final = null; bool noRepeat = connector.conditions.Contains(ConnectorData.ConnectorConditions.NoTypeRepeat); bool onlyOneType = connector.conditions.Contains(ConnectorData.ConnectorConditions.OnlyOneTypeStart) || connector.conditions.Contains(ConnectorData.ConnectorConditions.OnlyOneTypeEnd); string firstPart = GetRandomDataPart(connector.firstType, randomData); string middlePart = connector.connector; string secondPart = GetRandomDataPart(connector.secondType, randomData); if (noRepeat && secondPart == firstPart) { while (secondPart == firstPart) { Console.WriteLine($"{secondPart} compared to {firstPart}"); secondPart = GetRandomDataPart(connector.secondType, randomData); } } if (onlyOneType) { if (connector.conditions.Contains(ConnectorData.ConnectorConditions.OnlyOneTypeStart)) { final = firstPart + " " + middlePart; } else { final = middlePart + " " + firstPart; } } else { final = firstPart + " " + middlePart + " " + secondPart; } return(final); }
public StatusData GetRandom() { StatusData d = null; if (false /*random.Next(2) == 0*/) // Random Status! { ConnectorData connector = randomData.connectors[random.Next(randomData.connectors.Count)]; d = new StatusData(); d.emoji = "robot"; d.message = Helper.GetRandomSentence(connector, randomData); Console.WriteLine(d.message); } else // Normal status { while (d == null || d == current) { d = data[random.Next(data.Count)]; } } return(d); }