예제 #1
0
    void Refresh()
    {
        ClearList();
        DateTime?previous = null;

        foreach (var item in manager.intervals)
        {
            CreateDay(previous, item.start);
            var elem = new TableIntervalPresenter(item, previous, elementPrefab, elementPrefab.height);
            elem.OnEdit += () => HandleIntervalEdit(elem);
            presenters.Add(elem);
            previous = item.finish;
            if (item.start.Date != item.finish.Date)
            {
                CreateDay(item.finish);
            }
        }

        var currentIntervalStart = manager.currentIntervalStart;

        if (currentIntervalStart != null)
        {
            CreateDay(previous, currentIntervalStart.Value);
            var elem = new TableCurrentIntervalPresenter(currentIntervalStart.Value, previous, elementPrefab, elementPrefab.height);
            elem.OnEdit += () => HandleCurrentEdit(elem);
            presenters.Add(elem);
        }
        listBuilder.SetDirty();
    }
예제 #2
0
 private void HandleCurrentEdit(TableCurrentIntervalPresenter elem)
 {
     Singleton <EditDateUI> .Instance.Open(elem.start, (newdata) => { manager.EditCurrentInterval(newdata); Refresh(); }, null);
 }