示例#1
0
    public void LogLayout()
    {
        string layout = "";

        for (var i = 0; i < m_GameStrands.Count; i++)
        {
            GameStrand strand = m_GameStrands[i];
            layout += string.Format("Strand {0} = {1}\n", i, strand);
        }
        Debug.Log(layout);
    }
示例#2
0
    private void HandleLayoutCommand(params object[] args)
    {
        if (args == null || args.Length < 2)
        {
            return;
        }
        List <int> strandTypes = args[0] as List <int>;

        if (strandTypes == null)
        {
            return;
        }
        bool layoutChanged = false;

        if (m_GameStrands == null)
        {
            m_GameStrands = new List <GameStrand>();
            layoutChanged = true;
        }
        for (int i = 0; i < strandTypes.Count; i++)
        {
            var currentType = ConvertStrandIntToChannelType(strandTypes[i]);
            if (m_GameStrands.Count - 1 < i)
            {
                m_GameStrands.Add(new GameStrand(currentType, i));
                layoutChanged = true;
            }
            if (m_GameStrands[i].Strand != currentType)
            {
                m_GameStrands[i] = new GameStrand(currentType, i);
                layoutChanged    = true;
            }
            m_GameStrands[i].AverageValue.AutoIncreaseMaxValue = m_AutoIncreaseMax;
        }
        UpdateFrequenciesInStrands();
        if (!m_IsPlaying)
        {
            return;
        }
        if (layoutChanged && m_LayoutCallbacks != null)
        {
            m_LayoutCallbacks(m_GameStrands.ToArray());
        }
    }