public override Conversation.Topic GetNextTopic(MinionIdentity speaker, Conversation.Topic lastTopic) { if (lastTopic == null) { return(new Conversation.Topic(target, Conversation.ModeType.Query)); } List <Conversation.ModeType> list = transitions[lastTopic.mode]; Conversation.ModeType modeType = list[Random.Range(0, list.Count)]; if (modeType == Conversation.ModeType.Statement) { Conversation.ModeType modeForAmount = GetModeForAmount(speaker, target); return(new Conversation.Topic(target, modeForAmount)); } return(new Conversation.Topic(target, modeType)); }
public override Conversation.Topic GetNextTopic(MinionIdentity speaker, Conversation.Topic lastTopic) { if (string.IsNullOrEmpty(target)) { return(null); } List <Conversation.ModeType> list2; if (lastTopic == null) { List <Conversation.ModeType> list = new List <Conversation.ModeType>(); list.Add(Conversation.ModeType.Query); list.Add(Conversation.ModeType.Statement); list.Add(Conversation.ModeType.Musing); list2 = list; } else { list2 = transitions[lastTopic.mode]; } Conversation.ModeType mode = list2[Random.Range(0, list2.Count)]; return(new Conversation.Topic(target, mode)); }