Пример #1
0
    private void __ProcessMusicChangeNode(IDNodeBase _node)
    {
        MusicChangeNode node = (MusicChangeNode)_node;

        // Change tracks
        m_audio.SetTrack(node.Music);
        m_scenario.AdvanceCurrentNode();
    }
    private bool CanParse(string token, Context context)
    {
        bool canParse            = true;
        InterpreterBaseNode node = null;

        if (token.Equals("Play", System.StringComparison.OrdinalIgnoreCase))
        {
            node = new MusicPlayNode();
        }
        else if (token.Equals("Stop", System.StringComparison.OrdinalIgnoreCase))
        {
            node = new MusicStopNode();
        }
        else if (token.Equals("Add", System.StringComparison.OrdinalIgnoreCase))
        {
            node = new MusicAddNode();
        }
        else if (token.Equals("Remove", System.StringComparison.OrdinalIgnoreCase))
        {
            node = new MusicRemoveNode();
        }
        else if (token.Equals("Change", System.StringComparison.OrdinalIgnoreCase))
        {
            node = new MusicChangeNode();
        }
        else if (token.Equals("Clear", System.StringComparison.OrdinalIgnoreCase))
        {
            node = new MusicClearNode();
        }
        else
        {
            canParse = false;
        }

        if (node != null)
        {
            gameNodeList.Add(node);
            node.Interpret(context);
        }

        return(canParse);
    }