コード例 #1
0
    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));
    }
コード例 #2
0
    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));
    }