예제 #1
0
        public override void InitTestData()
        {
            Note = new ANote
            {
                AddDateTime  = DateTime.Now.ToString(),
                EditDateTime = DateTime.Now.ToString(),
                Title        = "测试信息这是测试信息!",
                Content      = @"新华网北京10月26日电 联合国教科文组织第九届青年论坛26日在巴黎开幕。国家主席习近平发去贺词,代表中国政府和人民,对论坛的举行表示热烈的祝贺。贺词全文如下:
习近平主席在联合国教科文组织第九届青年论坛开幕式上的贺词
亲爱的青年朋友们:
值此第九届青年论坛开幕暨联合国教科文组织成立70周年之际,我谨代表中国政府和人民,并以我个人的名义,对论坛的举行表示热烈的祝贺!本届论坛以“推动可持续发展,塑造全球公民”为主题,对促进可持续发展、开展文明对话具有重要意义。前不久,联合国可持续发展峰会通过了2030年可持续发展议程。落实好项议程确定的目标,建立一个公平、包容、可持续的地球,是包括全球青年在内的每个人都要重视和担当的责任。",
                Category     = new ACategory {
                    Category = "默认分类"
                },
            };
        }
예제 #2
0
    public bool EqualsOrDouble(ANote note)
    {
        if (Index == note.Index)
        {
            return(true);
        }
        var diff = Index - note.Index * 2;

        diff = diff < 0 ? -diff : diff;
        if (diff <= 1)
        {
            return(true);
        }
        diff = Index * 2 - note.Index;
        diff = diff < 0 ? -diff : diff;
        return(diff <= 1);
    }
예제 #3
0
    // Use this for initialization
    void Start()
    {
        TextAsset textFile = Resources.Load <TextAsset>(FileName);
        var       lines    = textFile.text.Split('\n');
        //var lines = File.ReadAllLines(Path.Combine(Application.dataPath, FileName));

        int index = 0;

        foreach (var line in lines)
        {
            var split = line.Split('\t');

            ANote note = new ANote()
            {
                Frequency = float.Parse(split[1]),
                Index     = index,
                Name      = split[0]
            };

            Values.Add(note);

            var noteSplit = split[0].Split('/');
            foreach (var noteName in noteSplit)
            {
                NoteFromName.Add(noteName, note);
            }
            if (noteSplit.Length >= 2)
            {
                NoteFromName.Add(split[0], note);
            }
            index++;
        }
        if (ReadDone != null)
        {
            ReadDone.Invoke(Values);
        }
    }
예제 #4
0
 public void Update(ANote model)
 {
     throw new NotImplementedException();
 }
예제 #5
0
 public void Insert(ANote model)
 {
     throw new NotImplementedException();
 }
예제 #6
0
    // Update is called once per frame
    void Update()
    {
        var buffer = input.NoteBuffer;

        if (buffer.Count == 0)
        {
            DonimantNoteOrNull = null;
        }
        else
        {
            Dictionary <ANote, int> indexNumMap = new Dictionary <ANote, int>();
            foreach (var noteAndTime in buffer)
            {
                if (indexNumMap.ContainsKey(noteAndTime.Note))
                {
                    indexNumMap[noteAndTime.Note]++;
                }
                else
                {
                    indexNumMap.Add(noteAndTime.Note, 1);
                }
            }

            ANote target = null;
            int   most   = 0;
            foreach (var pair in indexNumMap)
            {
                if (most < pair.Value)
                {
                    target = pair.Key;
                }
            }

            DonimantNoteOrNull = target;
        }

        Dictionary <float, List <ANote> > noteWholeTimeline = new Dictionary <float, List <ANote> >();
        float currentTime = 0;

        foreach (var noteAndTime in buffer)
        {
            if (currentTime == noteAndTime.Time)
            {
                noteWholeTimeline[noteAndTime.Time].Add(noteAndTime.Note);
            }
            else
            {
                noteWholeTimeline.Add(noteAndTime.Time, new List <ANote>()
                {
                    noteAndTime.Note
                });
            }

            currentTime = noteAndTime.Time;
        }

        NoteTimeline.Clear();
        List <ANote> prevNotes = null;

        foreach (var notesPair in noteWholeTimeline)
        {
            var time  = notesPair.Key;
            var notes = notesPair.Value;

            if (prevNotes != null)
            {
                foreach (var note in notes)
                {
                    if (prevNotes.Find((x) => { return(x.Index == note.Index); }) == null)
                    {
                        // 새로운 음
                        var finded = NoteTimeline.Find((x) => { return(x.Time == time); });
                        if (finded == null)
                        {
                            NoteTimeline.Add(new TimeAndNotes()
                            {
                                Time = time, Notes = new List <ANote>()
                                {
                                    note
                                }
                            });
                        }
                        else
                        {
                            finded.Notes.Add(note);
                        }
                    }
                    else
                    {
                        // 이전것과 겹침
                    }
                }
            }
            else
            {
                NoteTimeline.Add(new TimeAndNotes()
                {
                    Time = time, Notes = notes
                });
            }



            prevNotes = notes;
        }
    }