/// <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; }
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; }
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; }
public void GainEvaluate(MarkEvaluateType evaluateType, int gain) { evacount[(int)evaluateType] += gain; if (evacount[(int)evaluateType] < 0) { evacount[(int)evaluateType] = 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; } }
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 })); }
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; } }
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; } }
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")); } }
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); } }
/// <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);
public GhostFrame(float time, MarkEvaluateType markEvaluateType, bool isMissPress) { Time = time; MarkEvaluateType = markEvaluateType; IsMissPress = isMissPress; }
public override PathObject GetEvaluateEffectPath(MarkEvaluateType evatype) { return(effectpaths[(int)evatype]); }
/// <summary> /// マークの評価時のエフェクトパスを取得する /// </summary> /// <param name="evatype">評価</param> /// <returns></returns> public abstract PathObject GetEvaluateEffectPath(MarkEvaluateType evatype);
public void ChangeState(MarkEvaluateType type, bool isMissPress) { comboInternal.ChangeState(type, isMissPress); }
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")); } }