private void ToInDropState(EnLsnAct Act, VcTime sTime)
        {
            DtMatrix <eRule> rles
                = VC2WinFmApp.Engine.GetActChangeRule(this.squad, Act, sTime);

            foreach (SqdScheduleCell cell in Matrix.eachCell())
            {
                //存在重复更新,为简化逻辑,不要管
                if (cell.Time == sTime)
                {
                    cell.CellState = eCellState.isDropSrc;
                }
                else if (cell.Act != null && cell.Act.ClsLesson == Act.ClsLesson)
                {
                    cell.CellState = eCellState.likeDropSrc;
                }
                else
                {
                    cell.CellState = eCellState.inDrop;
                    cell.Rule      = rles[cell.Time];
                }
            }

            RenewRuleGrid(sTime);
            sTime.CopyFieldTo(DropSrcTime);
            schState = eSchState.inDrop;  //进入拖放状态
            if (Act == null || Act.ClsLesson == null)
            {
                VC2WinFmApp.MessageSwitch.SetLastTch(null, null);
            }
            else
            {
                VC2WinFmApp.MessageSwitch.SetLastTch(Act.ClsLesson.Teacher, Act.Time);
            }
        }
示例#2
0
 public EnFailAct(EnLsnAct act, VcTime time)
 {
     this.act = act;
     time.CopyFieldTo(this.time);
 }