示例#1
0
        ReadSymbol ReadQuotePara(string txt)
        {
            if (logReadSymbol)
            {
                Debug.Log("ReadQuotePara");
            }
            switch (txt)
            {
            case "_": _int1 = 1; break;

            case "A": _int3 = 0; break;

            case "B": _int3 = 1; break;

            case "C": _int3 = 2; break;

            case "D": _int3 = 3; break;

            case "E": _int3 = 4; break;

            case "F": _int3 = 5; break;

            case "G": _int3 = 6; break;

            case ",":
                _action = ReadQuotePara;
                return(ReadNum);

            case "]":
                int i = 1;
                foreach (var bar in paras[_int3].bars)
                {
                    if (i++ > _int2)
                    {
                        break;
                    }
                    bars.Add(bar);
                }
                _int4     = 1;
                _paraLast = paras[_int3];
                return(ReadNote);

            default: throw null;
            }
            return(ReadQuotePara);
        }
示例#2
0
        ReadSymbol ReadDefPara(string txt)
        {
            if (logReadSymbol)
            {
                Debug.Log("ReadDefPara");
            }
            switch (txt)
            {
            case "_": _int1 = 1; break;

            case "A": _int3 = 0; break;

            case "B": _int3 = 1; break;

            case "C": _int3 = 2; break;

            case "D": _int3 = 3; break;

            case "E": _int3 = 4; break;

            case "F": _int3 = 5; break;

            case "G": _int3 = 6; break;

            case ")":
                if (_int1 == 0)
                {
                    _para = new Para();
                    _para.bars.Add(new Bar());
                    //_paras.Add(_para);
                    paras[_int3] = _para;
                }
                else     // _int1 ==1
                {
                    _para = null;
                }
                return(ReadNote);

            default: throw null;
            }
            return(ReadDefPara);
        }
示例#3
0
        public void Init()
        {
            _para = null;
            paras = new Para[7];
            //paras = new List<Para>();
            bars = new List <Bar>();
            bars.Add(new Bar());
            readSymbol = ReadNote;

            //var text = textAsset.text;
            foreach (var b in textAsset.bytes)
            //for (int i = 0; i < text.Length; i++)
            {
                var txt = System.Text.Encoding.ASCII.GetString(new byte[] { b });
                //var txt = text.Substring(i, 1);
                readSymbol = readSymbol(txt);
            }

            ClearEmptyBars();
            CountBeats();
        }