/// <summary> /// Count Student's point by question and answer /// </summary> /// <param name="candidate">Question</param> /// <param name="answer">Student's answer</param> /// <param name="questionOrder"></param> /// <returns> /// True if correct /// False if incorrect. /// </returns> /// <exception> /// if exception was found, throw it for GetPoint function to handle /// <cref>SQLException</cref> /// </exception> private Dictionary <string, string> GradeAnswer(Candidate candidate, string answer, int questionOrder) { // await TaskEx.Delay(100); if (string.IsNullOrEmpty(answer.Trim())) { throw new Exception("Empty."); } // Process by Question Type switch (candidate.QuestionType) { case Candidate.QuestionTypes.Schema: // Schema Question return(PaperUtils.SchemaType(candidate, StudentID, answer, questionOrder)); case Candidate.QuestionTypes.Select: //Select Question return(PaperUtils.SelectType(candidate, StudentID, answer, questionOrder)); case Candidate.QuestionTypes.DML: // DML: Insert/Delete/Update Question return(PaperUtils.TriggerProcedureType(candidate, StudentID, answer, questionOrder)); case Candidate.QuestionTypes.Procedure: // Procedure Question return(PaperUtils.TriggerProcedureType(candidate, StudentID, answer, questionOrder)); case Candidate.QuestionTypes.Trigger: // Trigger Question return(PaperUtils.TriggerProcedureType(candidate, StudentID, answer, questionOrder)); default: // Not supported yet throw new Exception("This question type has not been supported yet."); } }
public override void Draw() { if (brightness <= 0.05f) { return; } for (int i = 0; i < stars.Length; i++) { Raylib.DrawTexture(stars[i].GetTexture(), (int)stars[i].literalPosition.X, (int)stars[i].literalPosition.Y, starColors[i]); } PaperUtils.DrawCenteredObject(symbol); Raylib.DrawRectangle((int)header.literalPosition.X, (int)header.literalPosition.Y, (int)header.size.X, (int)header.size.Y, new Color(25, 25, 25, 255)); // sliders Raylib.DrawRectangle((int)volumeSlider.literalPosition.X, (int)volumeSlider.literalPosition.Y, (int)volumeSlider.size.X, (int)volumeSlider.size.Y, Color.GRAY); Raylib.DrawRectangle((int)brightnessSlider.literalPosition.X, (int)brightnessSlider.literalPosition.Y, (int)brightnessSlider.size.X, (int)brightnessSlider.size.Y, Color.GRAY); // handles PaperUtils.DrawCircle(volumeHandle, Color.DARKGRAY); PaperUtils.DrawCircle(brightnessHandle, Color.DARKGRAY); Raylib.DrawRectangle((int)mainPanel.literalPosition.X, (int)mainPanel.literalPosition.Y, (int)mainPanel.size.X, (int)mainPanel.size.Y, new Color(0, 0, 0, 140)); timeText.Draw(); for (int i = 0; i < consoleText.Length; i++) { consoleText[i].Draw(); } Raylib.DrawRectangle((int)brightnessPanel.literalPosition.X, (int)brightnessPanel.literalPosition.Y, (int)brightnessPanel.size.X, (int)brightnessPanel.size.Y, new Color(0, 0, 0, (int)(255 - (brightness * 255)))); }
public override void Update() { timeText.SetText(DateTime.Now.ToString("MM-dd").Replace("-", "/") + " | " + Pluto.GetTime().ToUpper()); if (Raylib.IsKeyPressed(KeyboardKey.KEY_R)) { GenerateStars(); } if (PaperUtils.RectClick(volumeSlider.GetRectangle())) { volumeHandle.position = new Vector2(Raylib.GetMouseX(), volumeHandle.position.Y); float newVolume = GetRelativePercentage(volumeSlider.literalPosition.X, volumeSlider.literalPosition.X + volumeSlider.size.X, Raylib.GetMouseX()); // Console.WriteLine(newVolume); pluto.musicSystem.SetVolume(newVolume); } if (PaperUtils.RectClick(brightnessSlider.GetRectangle())) { brightnessHandle.position = new Vector2(Raylib.GetMouseX(), brightnessHandle.position.Y); brightness = GetRelativePercentage(brightnessSlider.literalPosition.X, brightnessSlider.literalPosition.X + brightnessSlider.size.X, Raylib.GetMouseX()); // Console.WriteLine(brightness); } }
public CenteredRectangle(Vector2 pos, Vector2 size) : base(pos) { this.size = size; literalPosition = PaperUtils.CenterRectToPoint(pos, size); Center(); }
public override void Update() { if (PaperUtils.RectClicked(rect.GetRectangle(), MouseButton.MOUSE_LEFT_BUTTON)) { col = (col.Equals(Color.GREEN)) ? Color.RED : Color.GREEN; centeredText.SetText(centeredText.text.Equals("PaperSDL") ? "Built on Raylib" : "PaperSDL"); } }
public override void Center() { literalPosition = PaperUtils.CenterRectToPoint(position, size); rectangle = new Rectangle(literalPosition.X, literalPosition.Y, size.X, size.Y); }
public override void Center() { literalPosition = PaperUtils.CenterTextureToPoint(position, currentFrame); }
public override void Center() { literalPosition = PaperUtils.CenterTextToPoint(position, fontData, text); }
public override void Draw() { PaperUtils.DrawText(fontData, text, literalPosition, color); }