protected override void OnPointerClick(FPoint relPositionPoint, InputState istate) { if (_rectHeader1.Contains(relPositionPoint)) { var tabNext = 0; tabTimer = tabNext * TAB_SWITCHTIME; } else if (_rectHeader2.Contains(relPositionPoint)) { var tabNext = 1; tabTimer = tabNext * TAB_SWITCHTIME; } else if (_rectHeader3.Contains(relPositionPoint)) { var tabNext = 2; tabTimer = tabNext * TAB_SWITCHTIME; } else if (_rectRow1.Contains(relPositionPoint)) { tabTimer = tab * TAB_SWITCHTIME; switch (tab) { case 0: if (node.LevelData.HasCompletedExact(FractionDifficulty.DIFF_0)) { Toast_1(L10N.TF(L10NImpl.STR_INFOTOAST_1, node.LevelData.GetTimeString(FractionDifficulty.DIFF_0, true))); } else { Toast_4(L10N.TF(L10NImpl.STR_INFOTOAST_4, FractionDifficultyHelper.GetDescription(FractionDifficulty.DIFF_0))); } break; case 1: Toast_2(L10N.TF(L10NImpl.STR_INFOTOAST_2, TimeExtension.FormatMilliseconds(node.LevelData.Data[FractionDifficulty.DIFF_0].GlobalBestTime, true))); break; case 2: Toast_3(L10N.TF(L10NImpl.STR_INFOTOAST_3, PositiveOrZero(node.LevelData.Data[FractionDifficulty.DIFF_0].GlobalCompletionCount), FractionDifficultyHelper.GetDescription(FractionDifficulty.DIFF_0))); break; default: SAMLog.Error("INFD::EnumSwitch_OPC1", "value: " + tab); break; } } else if (_rectRow2.Contains(relPositionPoint)) { tabTimer = tab * TAB_SWITCHTIME; switch (tab) { case 0: if (node.LevelData.HasCompletedExact(FractionDifficulty.DIFF_1)) { Toast_1(L10N.TF(L10NImpl.STR_INFOTOAST_1, node.LevelData.GetTimeString(FractionDifficulty.DIFF_1, true))); } else { Toast_4(L10N.TF(L10NImpl.STR_INFOTOAST_4, FractionDifficultyHelper.GetDescription(FractionDifficulty.DIFF_1))); } break; case 1: Toast_2(L10N.TF(L10NImpl.STR_INFOTOAST_2, TimeExtension.FormatMilliseconds(node.LevelData.Data[FractionDifficulty.DIFF_1].GlobalBestTime, true))); break; case 2: Toast_3(L10N.TF(L10NImpl.STR_INFOTOAST_3, PositiveOrZero(node.LevelData.Data[FractionDifficulty.DIFF_1].GlobalCompletionCount), FractionDifficultyHelper.GetDescription(FractionDifficulty.DIFF_1))); break; default: SAMLog.Error("INFD::EnumSwitch_OPC2", "value: " + tab); break; } } else if (_rectRow3.Contains(relPositionPoint)) { tabTimer = tab * TAB_SWITCHTIME; switch (tab) { case 0: if (node.LevelData.HasCompletedExact(FractionDifficulty.DIFF_2)) { Toast_1(L10N.TF(L10NImpl.STR_INFOTOAST_1, node.LevelData.GetTimeString(FractionDifficulty.DIFF_2, true))); } else { Toast_4(L10N.TF(L10NImpl.STR_INFOTOAST_4, FractionDifficultyHelper.GetDescription(FractionDifficulty.DIFF_2))); } break; case 1: Toast_1(L10N.TF(L10NImpl.STR_INFOTOAST_2, TimeExtension.FormatMilliseconds(node.LevelData.Data[FractionDifficulty.DIFF_2].GlobalBestTime, true))); break; case 2: Toast_2(L10N.TF(L10NImpl.STR_INFOTOAST_3, PositiveOrZero(node.LevelData.Data[FractionDifficulty.DIFF_2].GlobalCompletionCount), FractionDifficultyHelper.GetDescription(FractionDifficulty.DIFF_2))); break; default: SAMLog.Error("INFD::EnumSwitch_OPC3", "value: " + tab); break; } } else if (_rectRow4.Contains(relPositionPoint)) { tabTimer = tab * TAB_SWITCHTIME; switch (tab) { case 0: if (node.LevelData.HasCompletedExact(FractionDifficulty.DIFF_3)) { Toast_1(L10N.TF(L10NImpl.STR_INFOTOAST_1, node.LevelData.GetTimeString(FractionDifficulty.DIFF_3, true))); } else { Toast_4(L10N.TF(L10NImpl.STR_INFOTOAST_4, FractionDifficultyHelper.GetDescription(FractionDifficulty.DIFF_3))); } break; case 1: Toast_2(L10N.TF(L10NImpl.STR_INFOTOAST_2, TimeExtension.FormatMilliseconds(node.LevelData.Data[FractionDifficulty.DIFF_3].GlobalBestTime, true))); break; case 2: Toast_3(L10N.TF(L10NImpl.STR_INFOTOAST_3, PositiveOrZero(node.LevelData.Data[FractionDifficulty.DIFF_3].GlobalCompletionCount), FractionDifficultyHelper.GetDescription(FractionDifficulty.DIFF_3))); break; default: SAMLog.Error("INFD::EnumSwitch_OPC4", "value: " + tab); break; } } else { var tabNext = (int)(tabTimer / TAB_SWITCHTIME + 1) % 3; tabTimer = tabNext * TAB_SWITCHTIME; } }
private void DrawInfoLine(IBatchRenderer sbatch, FractionDifficulty d, int idx, string strTime, bool colorize) { var p1 = Position + new Vector2(32, HEADER_HEIGHT + 40 + 56 * idx); var p2 = Position + new Vector2(64, HEADER_HEIGHT + 40 + 56 * idx); var p3 = Position + new Vector2(224, HEADER_HEIGHT + 40 + 56 * idx); var ic = (node.LevelData.HasCompletedOrBetter(d) ? FractionDifficultyHelper.GetColor(d) : FlatColors.Concrete) * progressDisplay; var tc = (node.LevelData.HasCompletedOrBetter(d) ? FlatColors.TextHUD : FlatColors.Asbestos) * progressDisplay; if (colorize && node.LevelData.Data[d].GlobalBestUserID >= 0 && node.LevelData.Data[d].GlobalBestUserID == MainGame.Inst.Profile.OnlineUserID) { tc = FlatColors.SunFlower * progressDisplay; } sbatch.DrawCentered(Textures.TexCircle, p1, 48, 48, FlatColors.WetAsphalt * progressDisplay); sbatch.DrawCentered(FractionDifficultyHelper.GetIcon(d), p1, 32, 32, ic); FontRenderHelper.DrawTextVerticallyCentered(sbatch, Textures.HUDFontRegular, 32, FractionDifficultyHelper.GetDescription(d), tc, p2); FontRenderHelper.DrawTextVerticallyCentered(sbatch, Textures.HUDFontRegular, 32, strTime, tc, p3); }