Exemplo n.º 1
0
    private void initializeSpeaker(RHSpeaker s, int colorIndex, RHSpeaker startingSpeaker)
    {
        this.m_speakers.Add(s);
        RHListener l = s.GetComponent <RHListener>();

        this.m_listeners_with_scores.Add(l, startingScore(l));
        this.m_listeners.Add(l);
        m_queue.RegisterSpeaker(s);
        if (s.speakerColor == Color.white)
        {
            m_speakerColorMaps[s] = m_defaultColors[colorIndex];
        }
        else
        {
            m_speakerColorMaps[s] = s.speakerColor;
        }

        List <RHStatement> stlist = GetAvailableStatements(s);

        s.OnRhetoricStart(stlist, this, this.m_listeners);

        if (s == startingSpeaker)
        {
            return;
        }

        GameObject go = Instantiate(RHManager.PrefabUIListener(), RHManager.ListenersBaseTransform());

        go.GetComponent <RHUIListener>().InitializeUI(l, this, startingSpeaker, m_speakerColorMaps[l.GetComponent <RHSpeaker>()]);
        l.GetComponent <AITaskManager>()?.triggerEvent(new AIEVConversationStarted(this));
    }