Exemplo n.º 1
0
 /// <summary>
 /// マークの評価変更
 /// </summary>
 /// <param name="type">マークの評価タイプ</param>
 /// <param name="isMissPress">押し間違いか</param>
 /// <param name="currentLife">今のライフ</param>
 /// <param name="currentEvaluateRatio">現状の評価割合</param>
 /// <param name="currentResultType">現状の評価</param>
 public override void ChangeEvaluate(MarkEvaluateType type, bool isMissPress, float currentLife, float currentEvaluateRatio, ResultEvaluateType currentResultType)
 {
     mgb.CreateOnpu((4 - (int)type) / 2);
     mgb.CurrentLife = currentLife;
     mgb.ChangeTempEvaluate(currentEvaluateRatio, currentResultType);
     currentlife = currentLife;
 }
Exemplo n.º 2
0
        public void GainScore(MarkEvaluateType type, bool isMissPress, float scoreScale)
        {
            int basescore = 0;

            switch (type)
            {
            case MarkEvaluateType.Cool:
                basescore = isMissPress ? 250 : 500;
                break;

            case MarkEvaluateType.Fine:
                basescore = isMissPress ? 150 : 300;
                break;

            case MarkEvaluateType.Safe:
                basescore = isMissPress ? 50 : 100;
                break;

            case MarkEvaluateType.Sad:
                basescore = isMissPress ? 30 : 50;
                break;

            case MarkEvaluateType.Worst:
                basescore = 0;
                break;
            }
            CurrentScore += (int)(basescore * scoreScale) + ComboBonus;
        }
Exemplo n.º 3
0
        public void GainScore(MarkEvaluateType type, bool isMissPress)
        {
            int basescore = 0;

            switch (type)
            {
            case MarkEvaluateType.Cool:
                basescore = 500;
                break;

            case MarkEvaluateType.Fine:
                basescore = 300;
                break;

            case MarkEvaluateType.Sad:
                basescore = 100;
                break;

            case MarkEvaluateType.Safe:
                basescore = 50;
                break;

            case MarkEvaluateType.Worst:
                basescore = 0;
                break;
            }
            CurrentScore += (isMissPress ? (int)Math.Round(basescore / 20.0) * 10 : basescore) + ComboBonus;
        }
Exemplo n.º 4
0
 public void GainEvaluate(MarkEvaluateType evaluateType, int gain)
 {
     evacount[(int)evaluateType] += gain;
     if (evacount[(int)evaluateType] < 0)
     {
         evacount[(int)evaluateType] = 0;
     }
 }
Exemplo n.º 5
0
        private void CreateResource()
        {
            List <string> pathes         = new List <string>(30);
            List <string> checktracelist = new List <string>(10);

            for (ButtonType type = ButtonType.Square; type < ButtonType.Start; type++)
            {
                pathes.Add(imagepathes.GetMarkImagePath(type));
                pathes.Add(imagepathes.GetMarkColorImagePath(type));
                string tracepath = imagepathes.GetTraceImagePath(type);
                pathes.Add(tracepath);
                if (!checktracelist.Contains(tracepath))
                {
                    checktracelist.Add(tracepath);
                    simpiclist.Add((int)type + 1);
                }
            }
            pathes.Add(imagepathes.GetCircleAxisImagePath());
            pathes.Add(imagepathes.GetClockAxisImagePath());
            string fn;
            float  inner, outer;

            imagepathes.GetLongNoteCircleInfo(out fn, out inner, out outer);
            pathes.Add(fn);
            float x, y;

            imagepathes.GetHoldInfo(out fn, out x, out y);
            pathes.Add(fn);
            CreateCirclePoints(inner, outer);

            for (int i = 0; i < pathes.Count; i++)
            {
                resourceManager.Add(pathes[i], new ImageResource(pathes[i], device));
            }
            for (MarkEvaluateType type = MarkEvaluateType.Cool; type <= MarkEvaluateType.Worst; type++)
            {
                string effectfilename = imagepathes.GetEvaluateEffectPath(type);
                if (File.Exists(effectfilename))
                {
                    ppdem.CreateEffect(effectfilename);
                    effectfilenames[5 - (int)type] = effectfilename;
                }
            }
            string appearname = imagepathes.GetAppearEffectPath();

            if (File.Exists(appearname))
            {
                ppdem.CreateEffect(appearname);
                effectfilenames[(int)EffectType.Appear] = appearname;
            }
        }
Exemplo n.º 6
0
 void mainGameComponent_EvaluateChanged(MarkEvaluateType obj1, bool obj2)
 {
     if (obj1 == MarkEvaluateType.Cool || obj1 == MarkEvaluateType.Fine)
     {
         selfPlayState.Evaluate = obj2 ? (MarkEvaluateTypeEx)(obj1 + 5) : (MarkEvaluateTypeEx)obj1;
     }
     else
     {
         selfPlayState.Evaluate = (MarkEvaluateTypeEx)obj1;
     }
     client.Write(MessagePackSerializer.Serialize(new ChangeEvaluateNetworkData {
         Evaluate = selfPlayState.Evaluate
     }));
 }
Exemplo n.º 7
0
        private void CreateResource()
        {
            var pathes         = new List <string>(30);
            var checktracelist = new List <string>(10);

            for (ButtonType type = ButtonType.Square; type < ButtonType.Start; type++)
            {
                pathes.Add(imagepathes.GetMarkImagePath(type));
                pathes.Add(imagepathes.GetMarkColorImagePath(type));
                string tracepath = imagepathes.GetTraceImagePath(type);
                pathes.Add(tracepath);
                if (!checktracelist.Contains(tracepath))
                {
                    checktracelist.Add(tracepath);
                    simpiclist.Add((int)type + 1);
                }
            }
            pathes.Add(imagepathes.GetCircleAxisImagePath());
            pathes.Add(imagepathes.GetClockAxisImagePath());
            imagepathes.GetLongNoteCircleInfo(out PathObject fn, out float inner, out float outer);
            pathes.Add(fn);
            imagepathes.GetHoldInfo(out fn, out float x, out float y);
            pathes.Add(fn);
            CreateCirclePoints(inner, outer);

            for (MarkEvaluateType type = MarkEvaluateType.Cool; type <= MarkEvaluateType.Worst; type++)
            {
                var effectfilename = imagepathes.GetEvaluateEffectPath(type);
                if (File.Exists(effectfilename))
                {
                    ppdem.CreateEffect(effectfilename);
                    effectfilenames[5 - (int)type] = effectfilename;
                }
            }
            var appearname = imagepathes.GetAppearEffectPath();

            if (File.Exists(appearname))
            {
                ppdem.CreateEffect(appearname);
                effectfilenames[(int)EffectType.Appear] = appearname;
            }
            var slidername = imagepathes.GetSlideEffectPath();

            if (File.Exists(slidername))
            {
                ppdem.CreateEffect(slidername);
                effectfilenames[(int)EffectType.Slide] = slidername;
            }
        }
Exemplo n.º 8
0
 public void ChangeState(MarkEvaluateType type, bool isMissPress)
 {
     count = 0;
     if (state != State.Nothing)
     {
         evals[(int)state].Hidden = true;
     }
     state = State.Cool + (int)type;
     if (isMissPress && (type == MarkEvaluateType.Cool || type == MarkEvaluateType.Fine))
     {
         state += 5;
     }
     if (state != State.Nothing)
     {
         evals[(int)state].Hidden = false;
     }
 }
Exemplo n.º 9
0
 static MarkImagePaths()
 {
     if (File.Exists(@"skins\defaultskin.ini"))
     {
         var pathManager = new PathManager(@"img\PPD\main_game");
         var sr          = new StreamReader(@"skins\defaultskin.ini");
         var setting     = new SettingReader(sr.ReadToEnd());
         sr.Close();
         for (ButtonType type = ButtonType.Square; type < ButtonType.Start; type++)
         {
             colorimagepaths[(int)type] = pathManager.Combine(setting.ReadString("Color" + type));
             imagepaths[(int)type]      = pathManager.Combine(setting.ReadString(type.ToString()));
             traceimagepaths[(int)type] = pathManager.Combine(setting.ReadString("Trace" + type));
         }
         colorimagepaths[(int)ButtonType.Start]                 = pathManager.Combine(setting["ColorSliderRight"]);
         colorimagepaths[(int)ButtonType.Start + 1]             = pathManager.Combine(setting["ColorSliderLeft"]);
         colorimagepaths[(int)ButtonType.Start + 2]             = pathManager.Combine(setting["ColorSliderRightExtra"]);
         colorimagepaths[(int)ButtonType.Start + 3]             = pathManager.Combine(setting["ColorSliderLeftExtra"]);
         imagepaths[(int)ButtonType.Start]                      = pathManager.Combine(setting["SliderRight"]);
         imagepaths[(int)ButtonType.Start + 1]                  = pathManager.Combine(setting["SliderLeft"]);
         imagepaths[(int)ButtonType.Start + 2]                  = pathManager.Combine(setting["SliderRightExtra"]);
         imagepaths[(int)ButtonType.Start + 3]                  = pathManager.Combine(setting["SliderLeftExtra"]);
         traceimagepaths[(int)ButtonType.Start]                 =
             traceimagepaths[(int)ButtonType.Start + 1]         =
                 traceimagepaths[(int)ButtonType.Start + 2]     =
                     traceimagepaths[(int)ButtonType.Start + 3] = pathManager.Combine(setting["TraceSlider"]);
         longnotecirclepath = pathManager.Combine(setting.ReadString("LongNoteCirle"));
         _innerradius       = float.Parse(setting.ReadString("InnerRadius"));
         _outerradius       = float.Parse(setting.ReadString("OuterRadius"));
         axisimagepath      = pathManager.Combine(setting.ReadString("CircleAxis"));
         clockaxisimagepath = pathManager.Combine(setting.ReadString("ClockAxis"));
         for (MarkEvaluateType type = MarkEvaluateType.Cool; type <= MarkEvaluateType.Worst; type++)
         {
             effectpaths[(int)type] = pathManager.Combine(setting.ReadString("Effect" + type));
         }
         appeareffectpath = pathManager.Combine(setting.ReadString("EffectAppear"));
         slideeffectpath  = pathManager.Combine(setting.ReadString("EffectSlide"));
         holdpath         = pathManager.Combine(setting.ReadString("Hold"));
         holdx            = float.Parse(setting.ReadString("HoldX"));
         holdy            = float.Parse(setting.ReadString("HoldY"));
     }
 }
Exemplo n.º 10
0
            public void ChangeState(MarkEvaluateType type, bool isMissPress)
            {
                displayCount = 0;
#pragma warning disable RECS0033 // Convert 'if' to '||' expression
                if (state != State.Nothing)
#pragma warning restore RECS0033 // Convert 'if' to '||' expression
                {
                    evals[(int)state].Hidden = true;
                }
                state = State.Cool + (int)type;
                if (isMissPress && type != MarkEvaluateType.Worst)
                {
                    state += 5;
                }
                if (state != State.Nothing)
                {
                    evals[(int)state].Hidden = false;
                    display.Position         = new Vector2((evals[(int)state].Width / 2) * evals[(int)state].Scale.X, -evals[(int)state].Height * evals[(int)state].Scale.Y / 2 + -display.Height * display.Scale.Y / 2);
                }
            }
Exemplo n.º 11
0
 /// <summary>
 /// 評価が変更された
 /// </summary>
 /// <param name="type">評価タイプ</param>
 /// <param name="isMissPress">押し間違いか</param>
 /// <param name="currentLife">現在のライフ</param>
 /// <param name="currentEvaluateRatio">現在の結果評価比</param>
 /// <param name="currentResultType">現在の結果評価</param>
 public abstract void ChangeEvaluate(MarkEvaluateType type, bool isMissPress, float currentLife, float currentEvaluateRatio, ResultEvaluateType currentResultType);
Exemplo n.º 12
0
 public GhostFrame(float time, MarkEvaluateType markEvaluateType, bool isMissPress)
 {
     Time             = time;
     MarkEvaluateType = markEvaluateType;
     IsMissPress      = isMissPress;
 }
Exemplo n.º 13
0
 public override PathObject GetEvaluateEffectPath(MarkEvaluateType evatype)
 {
     return(effectpaths[(int)evatype]);
 }
Exemplo n.º 14
0
 /// <summary>
 /// マークの評価時のエフェクトパスを取得する
 /// </summary>
 /// <param name="evatype">評価</param>
 /// <returns></returns>
 public abstract PathObject GetEvaluateEffectPath(MarkEvaluateType evatype);
Exemplo n.º 15
0
 public void ChangeState(MarkEvaluateType type, bool isMissPress)
 {
     comboInternal.ChangeState(type, isMissPress);
 }
Exemplo n.º 16
0
        private PPDEditorSkin()
        {
            OverLayColor                = Color.FromArgb(220, 255, 255, 255);
            FillColor                   = Color.FromArgb(255, 255, 255);
            BorderColor                 = Color.FromArgb(90, 90, 90);
            TransparentTextColor        = Color.Black;
            TimeLineCurrentTimeColor    = Color.Red;
            TimeLineHorizontalLineColor = Color.Gray;
            TimeLineSeekAreaColor       = Color.LightGray;
            TimeLineSeekAreaBorderColor = Color.Gray;
            TimeLineVerticalLineColor1  = Color.DarkSlateGray;
            TimeLineVerticalLineColor2  = Color.Silver;
            TimeLineVerticalLineColor3  = Color.FromArgb(204, 204, 204);
            TimeLineVerticalLineColor4  = Color.Green;
            TimeLineVerticalLineColor5  = Color.LightGreen;
            TimeLineBackGroundColors    = new Dictionary <int, Brush>();
            TimeLineHoldExtentColor     = Color.Orange;
            TimeLineRowHeight           = 26;
            TimeLineHeight              = 22;
            var sb = new SolidBrush(Color.FromArgb(128, Color.Yellow));

            for (int i = 0; i < 10; i++)
            {
                TimeLineBackGroundColors.Add(i, sb);
            }
            DisplayMode = BackGroundDisplayMode.right;
            var dockPanelSkin = new DockPanelSkin();

            dockPanelSkin.AutoHideStripSkin.DockStripGradient = CreateDockPanelGradient(81, 85, 94, 37, 42, 45, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            dockPanelSkin.AutoHideStripSkin.TabGradient       = CreateTabGradient(147, 207, 208, 7, 117, 118, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            dockPanelSkin.DockPaneStripSkin.DocumentGradient.ActiveTabGradient         = CreateTabGradient(231, 245, 248, 0, 157, 188, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            dockPanelSkin.DockPaneStripSkin.DocumentGradient.DockStripGradient         = CreateTabGradient(37, 42, 45, 81, 85, 94, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            dockPanelSkin.DockPaneStripSkin.DocumentGradient.InactiveTabGradient       = CreateTabGradient(147, 207, 208, 7, 117, 118, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            dockPanelSkin.DockPaneStripSkin.ToolWindowGradient.ActiveCaptionGradient   = CreateTabGradient(231, 245, 248, 0, 157, 188, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            dockPanelSkin.DockPaneStripSkin.ToolWindowGradient.ActiveTabGradient       = CreateTabGradient(231, 245, 248, 0, 157, 188, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            dockPanelSkin.DockPaneStripSkin.ToolWindowGradient.DockStripGradient       = CreateTabGradient(81, 85, 94, 37, 42, 45, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            dockPanelSkin.DockPaneStripSkin.ToolWindowGradient.InactiveCaptionGradient = CreateTabGradient(147, 207, 208, 7, 117, 118, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            dockPanelSkin.DockPaneStripSkin.ToolWindowGradient.InactiveTabGradient     = CreateTabGradient(147, 207, 208, 7, 117, 118, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            DockPanelSkin = dockPanelSkin;

            if (File.Exists("defaultskin.ini"))
            {
                var sr      = new StreamReader("defaultskin.ini");
                var setting = new SettingReader(sr.ReadToEnd());
                sr.Close();
                for (ButtonType type = ButtonType.Square; type < ButtonType.Start; type++)
                {
                    colorimagepaths[(int)type] = Utility.Path.Combine(setting.ReadString("Color" + type));
                    imagepaths[(int)type]      = Utility.Path.Combine(setting.ReadString(type.ToString()));
                    traceimagepaths[(int)type] = Utility.Path.Combine(setting.ReadString("Trace" + type));
                }
                colorimagepaths[(int)ButtonType.Start]                 = Utility.Path.Combine(setting["ColorSliderRight"]);
                colorimagepaths[(int)ButtonType.Start + 1]             = Utility.Path.Combine(setting["ColorSliderLeft"]);
                colorimagepaths[(int)ButtonType.Start + 2]             = Utility.Path.Combine(setting["ColorSliderRightExtra"]);
                colorimagepaths[(int)ButtonType.Start + 3]             = Utility.Path.Combine(setting["ColorSliderLeftExtra"]);
                imagepaths[(int)ButtonType.Start]                      = Utility.Path.Combine(setting["SliderRight"]);
                imagepaths[(int)ButtonType.Start + 1]                  = Utility.Path.Combine(setting["SliderLeft"]);
                imagepaths[(int)ButtonType.Start + 2]                  = Utility.Path.Combine(setting["SliderRightExtra"]);
                imagepaths[(int)ButtonType.Start + 3]                  = Utility.Path.Combine(setting["SliderLeftExtra"]);
                traceimagepaths[(int)ButtonType.Start]                 =
                    traceimagepaths[(int)ButtonType.Start + 1]         =
                        traceimagepaths[(int)ButtonType.Start + 2]     =
                            traceimagepaths[(int)ButtonType.Start + 3] = Utility.Path.Combine(setting["TraceSlider"]);
                longnotecirclepath = Utility.Path.Combine(setting.ReadString("LongNoteCirle"));
                _innerradius       = float.Parse(setting.ReadString("InnerRadius"));
                _outerradius       = float.Parse(setting.ReadString("OuterRadius"));
                axisimagepath      = Utility.Path.Combine(setting.ReadString("CircleAxis"));
                clockaxisimagepath = Utility.Path.Combine(setting.ReadString("ClockAxis"));
                for (MarkEvaluateType type = MarkEvaluateType.Cool; type <= MarkEvaluateType.Worst; type++)
                {
                    effectpaths[(int)type] = Utility.Path.Combine(setting.ReadString("Effect" + type));
                }
                appeareffectpath = Utility.Path.Combine(setting.ReadString("EffectAppear"));
                holdpath         = Utility.Path.Combine(setting.ReadString("Hold"));
                holdx            = float.Parse(setting.ReadString("HoldX"));
                holdy            = float.Parse(setting.ReadString("HoldY"));
            }
        }