mirror of
https://github.com/SK-la/Ez2Lazer.git
synced 2026-03-13 11:20:28 +00:00
修复特殊列逻辑
This commit is contained in:
@@ -8,7 +8,6 @@ using osu.Framework.Graphics;
|
||||
using osu.Framework.Graphics.Containers;
|
||||
using osu.Game.Rulesets.Mania.Beatmaps;
|
||||
using osu.Game.Screens;
|
||||
using osu.Game.Screens.LAsEzExtensions;
|
||||
using osu.Game.Screens.Play.HUD;
|
||||
using osuTK;
|
||||
|
||||
@@ -22,6 +21,9 @@ namespace osu.Game.Rulesets.Mania.LAsEZMania
|
||||
[Resolved]
|
||||
protected InputCountController Controller { get; private set; } = null!;
|
||||
|
||||
[Resolved]
|
||||
private EzSkinSettingsManager ezSkinConfig { get; set; } = null!;
|
||||
|
||||
protected readonly FillFlowContainer<KeyCounter> KeyFlow;
|
||||
|
||||
private readonly IBindableList<InputTrigger> triggers = new BindableList<InputTrigger>();
|
||||
@@ -41,7 +43,7 @@ namespace osu.Game.Rulesets.Mania.LAsEZMania
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(EzSkinSettingsManager ezSkinConfig)
|
||||
private void load()
|
||||
{
|
||||
columnWidth = ezSkinConfig.GetBindable<double>(EzSkinSetting.ColumnWidth);
|
||||
specialFactor = ezSkinConfig.GetBindable<double>(EzSkinSetting.SpecialFactor);
|
||||
@@ -65,7 +67,7 @@ namespace osu.Game.Rulesets.Mania.LAsEZMania
|
||||
float width = (float)columnWidth.Value;
|
||||
int index = KeyFlow.IndexOf(counter);
|
||||
|
||||
if (EzColumnTypeManager.GetColumnType(StageDefinition.Columns, index) == "S1")
|
||||
if (ezSkinConfig.GetColumnType(StageDefinition.Columns, index) == "S1")
|
||||
width *= (float)specialFactor.Value;
|
||||
|
||||
counter.Width = width;
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.EzStylePro
|
||||
|
||||
private void updateY()
|
||||
{
|
||||
bool isSpecialColumn = EzColumnTypeManager.GetColumnType(stageDefinition.Columns, column.Index) == "S1";
|
||||
bool isSpecialColumn = ezSkinConfig.GetColumnType(stageDefinition.Columns, column.Index) == "S1";
|
||||
double columnWidth = columnWidthBindable.Value * (isSpecialColumn ? specialFactorBindable.Value : 1);
|
||||
|
||||
bool isSquare = factory.IsSquareNote("whitenote");
|
||||
|
||||
@@ -84,14 +84,14 @@ namespace osu.Game.Rulesets.Mania.Skinning.EzStylePro
|
||||
if (enabledColor.Value)
|
||||
return "white";
|
||||
|
||||
if (EzColumnTypeManager.GetColumnType(stageDefinition.Columns, column.Index) == "S1")
|
||||
if (ezSkinConfig.GetColumnType(stageDefinition.Columns, column.Index) == "S1")
|
||||
return "green";
|
||||
|
||||
int logicalIndex = 0;
|
||||
|
||||
for (int i = 0; i < column.Index; i++)
|
||||
{
|
||||
if (EzColumnTypeManager.GetColumnType(stageDefinition.Columns, i) != "S1")
|
||||
if (ezSkinConfig.GetColumnType(stageDefinition.Columns, i) != "S1")
|
||||
logicalIndex++;
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.EzStylePro
|
||||
|
||||
public void UpdateLNsLight()
|
||||
{
|
||||
bool isSpecialColumn = EzColumnTypeManager.GetColumnType(stageDefinition.Columns, column.Index) == "S1";
|
||||
bool isSpecialColumn = ezSkinConfig.GetColumnType(stageDefinition.Columns, column.Index) == "S1";
|
||||
double columnWidth = columnWidthBindable.Value * (isSpecialColumn ? specialFactorBindable.Value : 1);
|
||||
|
||||
bool isSquare = factory.IsSquareNote("whitenote");
|
||||
|
||||
@@ -10,7 +10,6 @@ using osu.Framework.Graphics.Containers;
|
||||
using osu.Game.Rulesets.Mania.Beatmaps;
|
||||
using osu.Game.Rulesets.Mania.Objects.Drawables;
|
||||
using osu.Game.Rulesets.Mania.Skinning.Default;
|
||||
using osu.Game.Rulesets.Mania.Skinning.Legacy;
|
||||
using osu.Game.Rulesets.Mania.UI;
|
||||
using osu.Game.Rulesets.Objects.Drawables;
|
||||
using osu.Game.Screens;
|
||||
@@ -122,11 +121,15 @@ namespace osu.Game.Rulesets.Mania.Skinning.EzStylePro
|
||||
Alpha = 0,
|
||||
IsHitting = { BindTarget = isHitting }
|
||||
};
|
||||
lightContainer = new HitTargetInsetContainer
|
||||
lightContainer = new Container
|
||||
{
|
||||
RelativeSizeAxes = Axes.Both,
|
||||
Anchor = Anchor.BottomCentre,
|
||||
Origin = Anchor.BottomCentre,
|
||||
Alpha = 0,
|
||||
Child = hittingLayer
|
||||
};
|
||||
|
||||
hittingLayer.HitPosition.BindTo(hitPosition);
|
||||
}
|
||||
|
||||
@@ -170,14 +173,14 @@ namespace osu.Game.Rulesets.Mania.Skinning.EzStylePro
|
||||
if (enabledColor.Value)
|
||||
return "white";
|
||||
|
||||
if (EzColumnTypeManager.GetColumnType(stageDefinition.Columns, column.Index) == "S1")
|
||||
if (ezSkinConfig.GetColumnType(stageDefinition.Columns, column.Index) == "S1")
|
||||
return "green";
|
||||
|
||||
int logicalIndex = 0;
|
||||
|
||||
for (int i = 0; i < column.Index; i++)
|
||||
{
|
||||
if (EzColumnTypeManager.GetColumnType(stageDefinition.Columns, column.Index) != "S1")
|
||||
if (ezSkinConfig.GetColumnType(stageDefinition.Columns, column.Index) != "S1")
|
||||
logicalIndex++;
|
||||
}
|
||||
|
||||
|
||||
@@ -67,14 +67,14 @@ namespace osu.Game.Rulesets.Mania.Skinning.EzStylePro
|
||||
{
|
||||
get
|
||||
{
|
||||
if (EzColumnTypeManager.GetColumnType(stageDefinition.Columns, column.Index) == "S1")
|
||||
if (ezSkinConfig.GetColumnType(stageDefinition.Columns, column.Index) == "S1")
|
||||
return "02";
|
||||
|
||||
int logicalIndex = 0;
|
||||
|
||||
for (int i = 0; i < column.Index; i++)
|
||||
{
|
||||
if (EzColumnTypeManager.GetColumnType(stageDefinition.Columns, i) == "S1")
|
||||
if (ezSkinConfig.GetColumnType(stageDefinition.Columns, i) == "S1")
|
||||
logicalIndex++;
|
||||
}
|
||||
|
||||
|
||||
@@ -87,14 +87,14 @@ namespace osu.Game.Rulesets.Mania.Skinning.EzStylePro
|
||||
if (enabledColor.Value)
|
||||
return "white";
|
||||
|
||||
if (EzColumnTypeManager.GetColumnType(stageDefinition.Columns, column.Index) == "S1")
|
||||
if (ezSkinConfig.GetColumnType(stageDefinition.Columns, column.Index) == "S1")
|
||||
return "green";
|
||||
|
||||
int logicalIndex = 0;
|
||||
|
||||
for (int i = 0; i < column.Index; i++)
|
||||
{
|
||||
if (EzColumnTypeManager.GetColumnType(stageDefinition.Columns, i) != "S1")
|
||||
if (ezSkinConfig.GetColumnType(stageDefinition.Columns, i) != "S1")
|
||||
logicalIndex++;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ using osu.Game.Rulesets.Mania.Skinning.Ez2;
|
||||
using osu.Game.Rulesets.Mania.Skinning.Ez2HUD;
|
||||
using osu.Game.Rulesets.Scoring;
|
||||
using osu.Game.Screens;
|
||||
using osu.Game.Screens.LAsEzExtensions;
|
||||
using osu.Game.Screens.Play.HUD.HitErrorMeters;
|
||||
using osu.Game.Skinning;
|
||||
using osu.Game.Skinning.Components;
|
||||
@@ -21,6 +20,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.EzStylePro
|
||||
{
|
||||
public class ManiaEzStyleProSkinTransformer : SkinTransformer
|
||||
{
|
||||
private readonly EzSkinSettingsManager ezSkinConfig;
|
||||
private readonly ManiaBeatmap beatmap;
|
||||
private readonly IBindable<double> columnWidthBindable;
|
||||
private readonly IBindable<double> specialFactorBindable;
|
||||
@@ -32,7 +32,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.EzStylePro
|
||||
: base(skin)
|
||||
{
|
||||
this.beatmap = (ManiaBeatmap)beatmap;
|
||||
|
||||
this.ezSkinConfig = ezSkinConfig;
|
||||
columnWidthBindable = ezSkinConfig.GetBindable<double>(EzSkinSetting.ColumnWidth);
|
||||
specialFactorBindable = ezSkinConfig.GetBindable<double>(EzSkinSetting.SpecialFactor);
|
||||
hitPosition = ezSkinConfig.GetBindable<double>(EzSkinSetting.HitPosition);
|
||||
@@ -226,7 +226,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.EzStylePro
|
||||
{
|
||||
int columnIndex = maniaLookup.ColumnIndex ?? 0;
|
||||
var stage = beatmap.GetStageForColumnIndex(columnIndex);
|
||||
bool isSpecialColumn = EzColumnTypeManager.GetColumnType(stage.Columns, columnIndex) == "S1";
|
||||
bool isSpecialColumn = ezSkinConfig.GetColumnType(stage.Columns, columnIndex) == "S1";
|
||||
float width = (float)columnWidthBindable.Value * (isSpecialColumn ? (float)specialFactorBindable.Value : 1f);
|
||||
// float hitPositionValue = (float)hitPosition.Value; // + (float)virtualHitPosition.Value - 110f;
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ using osu.Game.Rulesets.Mania.Beatmaps;
|
||||
using osu.Game.Rulesets.Mania.Configuration;
|
||||
using osu.Game.Rulesets.Mania.Skinning;
|
||||
using osu.Game.Screens;
|
||||
using osu.Game.Screens.LAsEzExtensions;
|
||||
using osu.Game.Skinning;
|
||||
using osuTK;
|
||||
|
||||
@@ -164,7 +163,7 @@ namespace osu.Game.Rulesets.Mania.UI
|
||||
}
|
||||
|
||||
bool isSpecialColumn =
|
||||
EzColumnTypeManager.GetColumnType(stageDefinition.Columns, i) == "S1";
|
||||
ezSkinConfig.GetColumnType(stageDefinition.Columns, i) == "S1";
|
||||
float ezWidth = (float)columnWidthBindable.Value * (isSpecialColumn ? (float)specialFactorBindable.Value : 1);
|
||||
|
||||
switch (ezColumnWidthStyle.Value)
|
||||
|
||||
Reference in New Issue
Block a user