コード例 #1
0
        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();
        }
コード例 #2
0
        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());
        }