Editor Sorting Fixes & Upgrades (#808)

* ready to pr i think

Fixed Alphabetical Sorting.
Fixed Chronological Sorting by adding a sorting value to every minigame.
Added Sort By Usage.

* i accidentally removed a bunch of work from yall oops this should fix that i think
This commit is contained in:
playinful 2024-03-28 22:35:07 -04:00 committed by GitHub
parent 87e8cd6c6f
commit a5613f7fa8
78 changed files with 607 additions and 145 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,123 @@
fileFormatVersion: 2
guid: 3778df98d84dafe4dbc912dcab3598c3
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 0
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -65,6 +65,7 @@ SpriteAtlas:
- {fileID: 21300000, guid: e85d5d286a8191b499c570d33dd0899c, type: 3}
- {fileID: 21300000, guid: 39656548c069d5541a9d9d1a808a76e4, type: 3}
- {fileID: 21300000, guid: 21da6678ec5624a439f87f3487819ac0, type: 3}
- {fileID: 21300000, guid: 3778df98d84dafe4dbc912dcab3598c3, type: 3}
- {fileID: 21300000, guid: b7a1fac8b59b4d14289fa198206ef47e, type: 3}
- {fileID: 21300000, guid: 0c4626a9a4642554684b85376bc236eb, type: 3}
- {fileID: 21300000, guid: 6e7b88d9d62ed1b429c63b83745e3672, type: 3}
@ -97,6 +98,7 @@ SpriteAtlas:
- bookmark
- add-file
- tempo-finder
- temp
- GameEventArrow
- exit
- selection

View File

@ -414,9 +414,9 @@ RectTransform:
m_Father: {fileID: 574002313}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: -21}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &9435782
@ -3846,9 +3846,9 @@ RectTransform:
m_Father: {fileID: 539838476}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 32, y: -21}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5}
--- !u!114 &121871281
@ -4070,9 +4070,9 @@ RectTransform:
m_Father: {fileID: 539838476}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 72, y: -21}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5}
--- !u!114 &129013734
@ -4206,9 +4206,9 @@ RectTransform:
m_Father: {fileID: 539838476}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 112, y: -21}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5}
--- !u!114 &151246938
@ -5718,6 +5718,7 @@ RectTransform:
- {fileID: 683785374}
- {fileID: 1436105794}
- {fileID: 345154593}
- {fileID: 1813998107}
m_Father: {fileID: 1791483803}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -8194,7 +8195,7 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 9.6
m_fontSize: 14
m_fontSizeBase: 14.3
m_fontWeight: 400
m_enableAutoSizing: 1
@ -13012,7 +13013,7 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 171581557}
m_HandleRect: {fileID: 171581556}
m_Direction: 2
m_Value: 1
m_Value: 0
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:
@ -30368,7 +30369,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 0, y: 76.36734}
m_AnchoredPosition: {x: 0, y: 76.00001}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &1154875945
@ -31241,6 +31242,82 @@ RectTransform:
m_AnchoredPosition: {x: -5, y: 0}
m_SizeDelta: {x: -20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1191898845
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1191898846}
- component: {fileID: 1191898848}
- component: {fileID: 1191898847}
m_Layer: 5
m_Name: Graphic
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1191898846
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1191898845}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1813998107}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1191898847
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1191898845}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3778df98d84dafe4dbc912dcab3598c3, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1191898848
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1191898845}
m_CullTransparentMesh: 1
--- !u!1 &1196204502
GameObject:
m_ObjectHideFlags: 0
@ -34622,9 +34699,9 @@ RectTransform:
m_Father: {fileID: 574002313}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 40, y: -21}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1345846031
@ -39829,7 +39906,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 1220118244}
m_Direction: 2
m_Value: 1.0000002
m_Size: 0.23447229
m_Size: 0.23142865
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
@ -42946,9 +43023,9 @@ RectTransform:
m_Father: {fileID: 574002313}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 80, y: -21}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1783491359
@ -43775,6 +43852,154 @@ MonoBehaviour:
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &1813998106
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1813998107}
- component: {fileID: 1813998111}
- component: {fileID: 1813998110}
- component: {fileID: 1813998109}
- component: {fileID: 1813998108}
m_Layer: 5
m_Name: Sort Games By Usage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1813998107
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813998106}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.999792, y: 0.999792, z: 0.999792}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1191898846}
m_Father: {fileID: 202724642}
m_RootOrder: 18
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1813998108
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813998106}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a525ece7c981f3418a70bbfa58c1146, type: 3}
m_Name:
m_EditorClassIdentifier:
TooltipText: Sort By Usage
--- !u!114 &1813998109
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813998106}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 0
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.7921569, g: 0.7921569, b: 0.7921569, a: 1}
m_PressedColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.05
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1813998110}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1154875947}
m_TargetAssemblyTypeName: HeavenStudio.Editor.GridGameSelector, Assembly-CSharp
m_MethodName: Sort
m_Mode: 5
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument: usage
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &1813998110
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813998106}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3}
m_Type: 3
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 10
--- !u!222 &1813998111
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813998106}
m_CullTransparentMesh: 1
--- !u!1 &1832891382
GameObject:
m_ObjectHideFlags: 0
@ -51470,7 +51695,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 8995444695224805070, guid: 51bd6620194834c4c9118dd0f64b1b3d, type: 3}
propertyPath: m_AnchoredPosition.y
value: -50
value: -49.999985
objectReference: {fileID: 0}
- target: {fileID: 8995444695466730802, guid: 51bd6620194834c4c9118dd0f64b1b3d, type: 3}
propertyPath: tabs.Array.size

View File

@ -110,6 +110,11 @@ namespace HeavenStudio
}
}
public static List<RiqEntity> GetAllInGameManagerList(string gameName)
{
return instance.gameManager.Beatmap.Entities.FindAll(c => c.datamodel.Split('/')[0] == gameName);
}
public static List<RiqEntity> GetAllInGameManagerList(string gameName, string[] include)
{
List<RiqEntity> temp1 = instance.gameManager.Beatmap.Entities.FindAll(c => c.datamodel.Split('/')[0] == gameName);

View File

@ -223,7 +223,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "rvl", "keep" },
"rvlbadminton", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 13
);
}
}

View File

@ -132,11 +132,12 @@ namespace HeavenStudio.Games.Loaders
new Param("additive", true, "Additive Rotation", "Toggle if the above rotation should be added to the current angle instead of setting the target angle to travel to.")
}
},
}
},
// ,
// new List<string>() {"ntr", "normal"},
new List<string>() {"ntr", "normal"},
// "ntrAirboarder", "en",
// new List<string>() { }
chronologicalSortKey: 99
);
}
}

View File

@ -90,7 +90,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ctr", "normal" },
"ctrbear", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 70
);
}
}

View File

@ -68,7 +68,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "rvl", "normal" },
"rvlrotation", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 8
);
}
}

View File

@ -155,7 +155,8 @@ namespace HeavenStudio.Games.Loaders
}
},
},
new List<string>() { "agb", "normal" }, "agbBonOdori", "en", new List<string>() { }
new List<string>() { "agb", "normal" }, "agbBonOdori", "en", new List<string>() { },
chronologicalSortKey: 10
);
}
};

View File

@ -65,7 +65,8 @@ namespace HeavenStudio.Games.Loaders
new Param("auto", true, "Lights (Auto)", "Toggle if the lights should automatically activate until the another Lights event is reached.")
}
}
}, new List<string>() { "ntr", "normal" }, "ntrassembly", "en", new List<string>() { });
}, new List<string>() { "ntr", "normal" }, "ntrassembly", "en", new List<string>() { },
chronologicalSortKey: 1);
}
}
}

View File

@ -81,7 +81,8 @@ namespace HeavenStudio.Games.Loaders
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action."),
}
},
}, new List<string>() { "rvl", "normal" }, "rvlbuilt", "en", new List<string>() { });
}, new List<string>() { "rvl", "normal" }, "rvlbuilt", "en", new List<string>() { },
chronologicalSortKey: 12);
}
}
}

View File

@ -85,8 +85,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "pco", "normal" },
"pcocannery", "en",
new List<string>() { }
);
new List<string>() { },
chronologicalSortKey: 20160704);
}
}
}

View File

@ -59,7 +59,8 @@ namespace HeavenStudio.Games.Loaders
new List<string>() { "ctr", "normal" },
"ctrcatchy",
"en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 4
);
}
}

View File

@ -102,7 +102,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "rvl", "normal" },
"rvlbooks", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 33
);
}
}

View File

@ -69,7 +69,9 @@ namespace HeavenStudio.Games.Loaders
},
},
});
},
new List<string>() {"rvl", "normal"},
chronologicalSortKey: 301);
}
}
}

View File

@ -62,7 +62,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "normal"},
"agbclap", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 5
);
}
}

View File

@ -53,7 +53,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "aim" },
"ntrcoin", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 101
);
}
}

View File

@ -66,7 +66,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"ntr", "keep"},
"ntrstomp", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 12
);
}
}

View File

@ -81,7 +81,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"ntr", "normal"},
"ntrdj", "en",
new List<string>(){}
new List<string>(){},
chronologicalSortKey: 17
);
}
}

View File

@ -116,7 +116,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "normal" },
"ntrninja", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 23
);
}
}

View File

@ -85,7 +85,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"rvl", "normal"},
"rvldate", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 4
);
}
}

View File

@ -78,7 +78,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"ctr", "normal"},
"ctrintro", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 0
);
}
}

View File

@ -109,7 +109,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "normal" },
"ntridol", "jp",
new List<string>() { "jp" }
new List<string>() { "jp" },
chronologicalSortKey: 4
);
}
}

View File

@ -70,7 +70,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "normal"},
"agbexplode", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 28
);
}
}

View File

@ -82,7 +82,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ctr", "repeat" },
"ctrinterpreter", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 13
);
}
}

View File

@ -100,7 +100,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "rvl", "keep" },
"rvlseal", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 22
);
}
}

View File

@ -76,7 +76,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"rvl", "normal"},
"rvlfork", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 6
);
}
}

View File

@ -204,7 +204,8 @@ namespace HeavenStudio.Games.Loaders
},
},
new List<string>() { "ntr", "normal" },
"ntrcameraman", "en"
"ntrcameraman", "en",
chronologicalSortKey: 13
);
}
}

View File

@ -99,7 +99,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "repeat" },
"ntrchorus", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 3
);
}
}

View File

@ -401,7 +401,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "agb", "ntr", "rvl", "ctr", "pco", "normal" },
"karate", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 1
);
}
}

View File

@ -80,7 +80,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ctr", "normal" },
"ctrteppan", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 74
);
}
}

View File

@ -136,7 +136,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"rvl", "normal"},
"rvlrocket", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 26
);
}
}

View File

@ -119,7 +119,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"ntr", "keep"},
"ntrbackbeat", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 27
);
}

View File

@ -229,7 +229,9 @@ namespace HeavenStudio.Games.Loaders
},
resizable = true
},
}
},
new List<string>() {"ctr", "normal"},
chronologicalSortKey: 22
);
}
}

View File

@ -88,7 +88,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "normal"},
"agbmannequin", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 104
);
}
}

View File

@ -139,7 +139,8 @@ namespace HeavenStudio.Games.Loaders
}},
new List<string>() { "rvl", "normal" },
"rvlmanzai", "jp",
new List<string>() { "jp" }
new List<string>() { "jp" },
chronologicalSortKey: 104
);
}
}

View File

@ -178,7 +178,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "agb", "normal" },
"agbmarcher", "en",
new List<string>() { "en", "jp" }
new List<string>() { "en", "jp" },
chronologicalSortKey: 3
);
}
}

View File

@ -126,7 +126,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "pco", "normal", "repeat" },
"pcomeat", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 20220513
);
}
}

View File

@ -135,7 +135,9 @@ namespace HeavenStudio.Games.Loaders
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease")
}
}
});
},
new List<string>() {"rvl", "keep"},
chronologicalSortKey: 9);
}
}
}

View File

@ -135,7 +135,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "keep"},
"agboffbeat", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 101
);
}
}

View File

@ -151,7 +151,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"ntr", "normal"},
"ntrshugyo", "en",
new List<string>() {"en"}
new List<string>() {"en"},
chronologicalSortKey: 16
);
}
}

View File

@ -53,7 +53,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "pco", "normal" },
"pconail", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 20121009
);
}
}

View File

@ -112,7 +112,9 @@ namespace HeavenStudio.Games.Loaders
new Param("repeat", new EntityTypes.Integer(0, 100, 1), "Repeat Amount", "How many times will this event repeat?"),
}
},
});
},
new List<string>() {"agb", "keep"},
chronologicalSortKey: 20);
}
}
}

View File

@ -172,7 +172,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"ntr", "repeat"},
"ntrcork", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 204
);
}
}

View File

@ -106,7 +106,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ctr", "normal" },
"ctrpillow", "en",
new List<string>() {"en", "jp", "ko"}
new List<string>() {"en", "jp", "ko"},
chronologicalSortKey: 66
);
}
}

View File

@ -94,7 +94,8 @@ namespace HeavenStudio.Games.Loaders
defaultLength = 0.5f,
},
},
new List<string>() { "agb", "normal" }, "agbCalligraphy", "en", new List<string>() { }
new List<string>() { "agb", "normal" }, "agbCalligraphy", "en", new List<string>() { },
chronologicalSortKey: 21
);
}
}

View File

@ -113,7 +113,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "repeat"},
"agbquiz", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 19
);
}
}

View File

@ -118,7 +118,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "keep" },
"ntrpingpong", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 6
);
}
}

View File

@ -48,7 +48,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "pco", "normal" },
"pcosomen", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 20130101
);
}
}

View File

@ -92,9 +92,10 @@ namespace HeavenStudio.Games.Loaders
},
},
new List<string>() {"abg", "aim"},
new List<string>() {"agb", "aim"},
"agbRhythmTestGBA", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 0
);
}
}

View File

@ -104,7 +104,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "repeat"},
"agbhair", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 2
);
}
}

View File

@ -81,7 +81,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"rvl", "normal"},
"rvlinterview", "en",
new List<string>() {"en"}
new List<string>() {"en"},
chronologicalSortKey: 16
);
}
}

View File

@ -288,7 +288,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "repeat" },
"ntrrockers", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 28
);
}
}

View File

@ -97,7 +97,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "normal" },
"ntrsamurai", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 104
);
}
}

View File

@ -122,7 +122,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"rvl", "normal", "keep"},
"rvlseesaw", "en",
new List<string>() {"en"}
new List<string>() {"en"},
chronologicalSortKey: 3
);
}
}

View File

@ -83,7 +83,8 @@ namespace HeavenStudio.Games.Loaders
}
},
},
new List<string>() { "ntr", "normal" }, "ntrShootEmUp", "en", new List<string>() { }
new List<string>() { "ntr", "normal" }, "ntrShootEmUp", "en", new List<string>() { },
chronologicalSortKey: 7
);
}
}

View File

@ -88,7 +88,8 @@ namespace HeavenStudio.Games.Loaders
}
},
},
new List<string>() { "agb", "normal" }, "agbSickBeats", "en", new List<string>() { }
new List<string>() { "agb", "normal" }, "agbSickBeats", "en", new List<string>() { },
chronologicalSortKey: 10
);
}
}

View File

@ -100,7 +100,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "normal" },
"ntrslotmonster", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 203
);
}
}

View File

@ -58,7 +58,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "aim"},
"agbghost", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 7
);
}
}

View File

@ -103,7 +103,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "normal"},
"agbspacedance", "jp",
new List<string>() {"jp"}
new List<string>() {"jp"},
chronologicalSortKey: 17
);
}
}

View File

@ -151,7 +151,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "keep" },
"ntrsoccer", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 26
);
}
}

View File

@ -68,7 +68,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "normal"},
"agbbatter", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 4
);
}
}

View File

@ -75,7 +75,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "normal" },
"ntrdiving", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 21
);
}
}

View File

@ -118,10 +118,11 @@ namespace HeavenStudio.Games.Loaders
resizable = true
},
}
//new List<string>() { "ctr", "keep" },
},
new List<string>() { "ctr", "keep" },
//"ctrsumou", "jp",
//new List<string>() { }
//new List<string>() { },
chronologicalSortKey: 31
);
}
}

View File

@ -73,7 +73,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"rvl", "repeat"},
"rvldrum", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 7
);
}
}

View File

@ -85,7 +85,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "agb", "normal" },
"agbtap", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 29
);
}
}

View File

@ -90,7 +90,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"rvl", "keep"},
"rvllegs", "en",
new List<string>() {"en"}
new List<string>() {"en"},
chronologicalSortKey: 31
);
}
}

View File

@ -119,7 +119,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"ntr", "normal"},
"ntrboxshow", "en",
new List<string>() {"en"}
new List<string>() {"en"},
chronologicalSortKey: 14
);
}
}

View File

@ -103,7 +103,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "normal"},
"agbtoss", "jp",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 27
);
}
}

View File

@ -101,7 +101,8 @@ namespace HeavenStudio.Games.Loaders
resizable = true,
defaultLength = 4f
}
});
},
chronologicalSortKey: 20240127);
}
}
}

View File

@ -71,7 +71,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "normal"},
"agbtrampoline", "jp",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 16
);
}
}

View File

@ -101,7 +101,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "mob", "normal" },
"mobtrick", "en",
new List<string>() { }
new List<string>() { },
chronologicalSortKey: 20170124 // source: this sketchy site https://rhythm-heaven-fever.appstor.io/ it was the only mention of it online that had a date attached
);
}
}

View File

@ -54,7 +54,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() { "ntr", "keep" },
"ntrtunnel", "en",
new List<string>() { "en" }
new List<string>() { "en" },
chronologicalSortKey: 103
);
}
}

View File

@ -39,7 +39,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"agb", "repeat"},
"agbwizard", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 13
);
}
}

View File

@ -110,7 +110,8 @@ namespace HeavenStudio.Games.Loaders
},
new List<string>() {"rvl", "repeat"},
"rvldough", "en",
new List<string>() {}
new List<string>() {},
chronologicalSortKey: 11
);
}
}

View File

@ -11,6 +11,7 @@ using DG.Tweening;
using HeavenStudio.Util;
using HeavenStudio.Editor.Track;
using System.Text;
using System.Configuration;
namespace HeavenStudio.Editor
{
@ -258,35 +259,48 @@ namespace HeavenStudio.Editor
// sorts depending on which sorting button you click
public void Sort(string type)
{
var mgsSort = mgsActive;
List<RectTransform> mgsSort = mgsActive;
mgsSort.Sort((x, y) => string.Compare(x.name, y.name));
switch (type)
{
case "favorites":
SortFavorites(mgsSort);
break;
SortFavorites(mgsSort);
break;
case "chronologic":
SortChronologic(mgsSort);
break;
SortChronologic(mgsSort);
break;
case "usage":
SortUsage(mgsSort);
break;
default: // "alphabet"
SortAlphabet(mgsSort);
break;
SortAlphabet(mgsSort);
break;
}
}
void SortAlphabet(List<RectTransform> mgs)
{
for (int i = 0; i < mgsActive.Count; i++) {
mgs[i].SetSiblingIndex(i + fxActive.Count + 1);
List<RectTransform> alph = mgs.OrderBy(AlphabetSortKey).ToList();
for (int i = 0; i < alph.Count; i++) {
alph[i].SetSiblingIndex(i + fxActive.Count + 1);
}
}
string AlphabetSortKey(RectTransform minigame)
{
Minigames.Minigame mg = EventCaller.instance.GetMinigame(minigame.name);
if (mg.displayName.StartsWith("the ", System.StringComparison.InvariantCultureIgnoreCase))
return mg.displayName[4..];
else
return mg.displayName;
}
// if there are no favorites, the games will sort alphabetically
void SortFavorites(List<RectTransform> allMgs)
{
var favs = allMgs.FindAll(mg => mg.GetComponent<GridGameSelectorGame>().StarActive);
var mgs = allMgs.FindAll(mg => !mg.GetComponent<GridGameSelectorGame>().StarActive);
List<RectTransform> favs = allMgs.FindAll(mg => mg.GetComponent<GridGameSelectorGame>().StarActive).OrderBy(AlphabetSortKey).ToList();
List<RectTransform> mgs = allMgs.FindAll(mg => !mg.GetComponent<GridGameSelectorGame>().StarActive).OrderBy(AlphabetSortKey).ToList();
if (Input.GetKey(KeyCode.LeftShift)) {
foreach (var fav in favs)
@ -304,43 +318,49 @@ namespace HeavenStudio.Editor
void SortChronologic(List<RectTransform> mgs)
{
var systems = new List<RectTransform>[] {
new List<RectTransform>(),
new List<RectTransform>(),
new List<RectTransform>(),
new List<RectTransform>(),
new List<RectTransform>(),
new List<RectTransform>(),
};
for (int i = 0; i < mgs.Count; i++)
{
var mg = EventCaller.instance.GetMinigame(mgs[i].name);
var tags = mg.tags;
if (tags.Count != 0) {
systems[tags[0] switch {
"agb" => 0,
"ntr" => 1,
"rvl" => 2,
"ctr" => 3,
"mob" => 4,
_ => 5,
}].Add(mgs[i]);
} else if (mg.inferred) {
systems[^1].Add(mgs[i]);
} else {
Debug.LogWarning($"Chronological sorting has failed, does \"{mg.displayName}\" ({mg.name}) have an asset bundle assigned to it?");
}
List<RectTransform> chrono = mgs.OrderBy(GameOriginSortKey).ThenBy(ChronologicSortKey).ThenBy(AlphabetSortKey).ToList();
for (int i = 0; i < chrono.Count; i++) {
chrono[i].SetSiblingIndex(i + fxActive.Count + 1);
}
int j = fxActive.Count + 1;
foreach (var system in systems)
}
int GameOriginSortKey(RectTransform minigame)
{
Minigames.Minigame mg = EventCaller.instance.GetMinigame(minigame.name);
if (mg.tags.Count > 0)
{
system.OrderBy(mg => mg.name);
for (int i = 0; i < system.Count; i++)
return mg.tags[0] switch
{
system[i].SetSiblingIndex(j);
j++;
}
"agb" => 0,
"ntr" => 1,
"rvl" => 2,
"ctr" => 3,
_ => 10,
};
}
return 10;
}
uint ChronologicSortKey(RectTransform minigame)
{
Minigames.Minigame mg = EventCaller.instance.GetMinigame(minigame.name);
if (mg.chronologicalSortKey is uint i)
return i;
return uint.MaxValue;
}
void SortUsage(List<RectTransform> mgs)
{
List<RectTransform> usage = mgs.OrderByDescending(UsageSortKey).ThenBy(AlphabetSortKey).ToList();
for (int i = 0; i < usage.Count; i++) {
usage[i].SetSiblingIndex(i + fxActive.Count + 1);
}
}
int UsageSortKey(RectTransform minigame)
{
return EventCaller.GetAllInGameManagerList(minigame.name).Count;
}
public void Search()

View File

@ -372,6 +372,15 @@ namespace HeavenStudio
public bool fxOnly;
public List<GameAction> actions = new List<GameAction>();
public uint? chronologicalSortKey;
// playinful: basically i figure this should just be whatever index number the minigame is
// in its game of origin. So, basically, like, if we're talking Rhythm Heaven DS, Built to
// Scale would be 1, then Fillbots would be 2, and so on. If it's an endless game, add 100.
// If it's a rhythm toy, add 200. If it's a 2-Player endless game, add 300. If it's a credits
// game... IDK, I guess just set it to 99. It works. If the game isn't a RH original then just
// put the date in YYYYMMDD format. Oh, and if it's a practice game set it to 0.
public List<string> tags;
public string defaultLocale = "en";
public string wantAssetBundle = null;
@ -405,7 +414,7 @@ namespace HeavenStudio
set => soundSequences = value;
}
public Minigame(string name, string displayName, string color, bool hidden, bool fxOnly, List<GameAction> actions, List<string> tags = null, string wantAssetBundle = null, string defaultLocale = "en", List<string> supportedLocales = null, bool inferred = false)
public Minigame(string name, string displayName, string color, bool hidden, bool fxOnly, List<GameAction> actions, List<string> tags = null, string wantAssetBundle = null, string defaultLocale = "en", List<string> supportedLocales = null, bool inferred = false, uint? chronologicalSortKey = null)
{
this.name = name;
this.displayName = displayName;
@ -422,9 +431,11 @@ namespace HeavenStudio
this.splitColorL = null;
this.splitColorR = null;
this.chronologicalSortKey = chronologicalSortKey;
}
public Minigame(string name, string displayName, string color, string splitColorL, string splitColorR, bool hidden, bool fxOnly, List<GameAction> actions, List<string> tags = null, string wantAssetBundle = null, string defaultLocale = "en", List<string> supportedLocales = null, bool inferred = false)
public Minigame(string name, string displayName, string color, string splitColorL, string splitColorR, bool hidden, bool fxOnly, List<GameAction> actions, List<string> tags = null, string wantAssetBundle = null, string defaultLocale = "en", List<string> supportedLocales = null, bool inferred = false, uint? chronologicalSortKey = null)
{
this.name = name;
this.displayName = displayName;
@ -441,6 +452,8 @@ namespace HeavenStudio
this.splitColorL = splitColorL;
this.splitColorR = splitColorR;
this.chronologicalSortKey = chronologicalSortKey;
}
public AssetBundle GetLocalizedAssetBundle()