void EnableLabel(int i, string hint = "未安排\r\n(休息)") { Label label = PlanLabelList[i]; Button button = BtnList[i]; label.Text = hint; label.ForeColor = Color.Black; StatusList[i] = true; EventList[i] = GameSystem.GetEvent(); }
public void RenderForm(Game curGame) { //全体初始化 Gamest = curGame; PlanList = new List <Course>() { new Course(), new Course(), new Course(), new Course() }; PlanLabelList = new List <Label>() { Plan0, Plan1, Plan2, Plan3 }; BtnList = new List <Button>() { ClearMorning, ClearAfternoon, ClearEvening, ClearNight }; StatusList = new bool[] { true, true, true, true }; EventList = new List <GameEventBase>(); for (int i = 0; i < 4; i++) { EventList.Add(GameSystem.GetEvent()); } MidBarFocus = new Label(); //清空原数据,表格归正 while (CourseTablePanel.RowCount > 1) { int delRow = CourseTablePanel.RowCount - 1; for (int i = 0; i < 3; i++) { CourseTablePanel.Controls.RemoveAt(3 * delRow); } CourseTablePanel.RowStyles.RemoveAt(delRow); CourseTablePanel.RowCount--; CourseTablePanel.Height = CourseTablePanel.RowCount * RowHeight; } while (SelectionTable.Controls.Count > 0) { SelectionTable.Controls.RemoveAt(0); } MidCurCol = MidCurRow = 0; //渲染日期,进度条,玩家名 UpdateDate(); UpdateBar(); PlayerName.Text = curGame.PlayerName; //添加新课程 foreach (Course course in curGame.GameChapter.CourseList) { AddCourse(course); } foreach (Label label in SelectionTable.Controls) { label.Click += new EventHandler(SetMidFocus); label.DoubleClick += new EventHandler(SetMidFocus); label.DoubleClick += new EventHandler(DoubleClickMid); } //渲染右侧计划表 foreach (Label label in PlanLabelList) { label.Click += new EventHandler(SetRightFocus); label.Text = "未安排\r\n(休息)"; } DisableLabel(3, "好好休息"); //通宵事件 if (curGame.IfNight == 2) { DisableLabel(0, "昨晚通宵,只能休息"); } //占用考试时间段: foreach (Course course in Gamest.GameChapter.CourseList) { if (course.Deadline == Gamest.CurTurn) { DisableLabel(course.TestPeriod, $"参加{course.CourseName}考试"); EventList[course.TestPeriod] = new GameEventTest(); PlanList[course.TestPeriod] = course; } } RightBarFocus = new Label(); SetRightFocus(GetRightFocus(), new EventArgs()); }