예제 #1
0
        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;
            }
        }
예제 #2
0
        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);
        }