各种优化,movable采音器完善

This commit is contained in:
2025-05-11 00:20:27 +08:00
parent 440ffc183e
commit c5e8908b47
42 changed files with 275829 additions and 7312 deletions

View File

@@ -37,9 +37,9 @@ namespace Dreamteck.Splines.Editor
mainDataReq.result == UnityWebRequest.Result.DataProcessingError ||
mainDataReq.result == UnityWebRequest.Result.ConnectionError)
{
Debug.LogError("An error occured while fetching the banners data.");
//Debug.LogError("An error occured while fetching the banners data.");
}
else if(!showInfo)
else if (!showInfo)
{
var jObj = JsonUtility.FromJson<WelcomeWindow.Data>(mainDataReq.downloadHandler.text);
welcomeScreenVersion = jObj.version;
@@ -67,7 +67,8 @@ namespace Dreamteck.Splines.Editor
[InitializeOnLoad]
public static class AddScriptingDefines
{
static AddScriptingDefines(){
static AddScriptingDefines()
{
ScriptingDefineUtility.Add("DREAMTECK_SPLINES", EditorUserBuildSettings.selectedBuildTargetGroup, true);
}
}

File diff suppressed because one or more lines are too long

View File

@@ -103,12 +103,15 @@ MonoBehaviour:
type: 3}
BeatLine: {fileID: 9159816007915324859, guid: e53cd577e34d8df41b51ef212682a5b6,
type: 3}
TabButton: {fileID: 7072696198344783471}
Title:
FirstBeatLine: {fileID: 0}
connectFloat:
value: 0
currentAnimationIndex: 0
animations: []
isSwitchingReturnType: 0
lastReturnType: 0
returnType: 0
--- !u!114 &2679927635074191165
MonoBehaviour:
@@ -354,6 +357,7 @@ GameObject:
- component: {fileID: 3528006045498041885}
- component: {fileID: 2850575126519071055}
- component: {fileID: 7072696198344783471}
- component: {fileID: 4207174855923511944}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -461,19 +465,19 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 2850575126519071055}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 2197422062704428700}
m_TargetAssemblyTypeName: FlexibleFloatTab, Assembly-CSharp
m_MethodName: AddEvent
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_Calls: []
--- !u!210 &4207174855923511944
SortingGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4860117295685205922}
m_Enabled: 1
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_SortAtRoot: 0
--- !u!1 &5935504523855336959
GameObject:
m_ObjectHideFlags: 0

View File

@@ -1108,6 +1108,7 @@ RectTransform:
- {fileID: 669416151988446346}
- {fileID: 3727022401982529250}
- {fileID: 2710002028793470936}
- {fileID: 8591582003592979991}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -1159,7 +1160,8 @@ MonoBehaviour:
ConnectedPoint: {fileID: 0}
animationCurveTypeDropdown: {fileID: 9090069495511502175}
VisibleArea: {fileID: 5739277161137078846}
MinCopyTime: 0
EvEndpointChangeButton: {fileID: 3906670690955882739}
ClipBoardMuM: {fileID: 1157110277049139554}
--- !u!1 &1101094074581888963
GameObject:
m_ObjectHideFlags: 0
@@ -4395,6 +4397,140 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Padding: {x: -8, y: -5, z: -8, w: -5}
m_Softness: {x: 0, y: 0}
--- !u!1 &5522949066166207170
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8591582003592979991}
- component: {fileID: 83672954007431534}
- component: {fileID: 1157110277049139554}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8591582003592979991
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5522949066166207170}
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: 8207697471089069802}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -700, y: -425}
m_SizeDelta: {x: 0, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &83672954007431534
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5522949066166207170}
m_CullTransparentMesh: 1
--- !u!114 &1157110277049139554
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5522949066166207170}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 'ClipBoard: 0'
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5681458497538883867
GameObject:
m_ObjectHideFlags: 0
@@ -4692,6 +4828,7 @@ RectTransform:
- {fileID: 3805584317704516815}
- {fileID: 6738174964120531074}
- {fileID: 4335233814550842152}
- {fileID: 7761161721818740453}
m_Father: {fileID: 7933257953152386442}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -6978,6 +7115,126 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: -30}
m_SizeDelta: {x: 0, y: -60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &8606747241904861797
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7761161721818740453}
- component: {fileID: 5487942519567358367}
- component: {fileID: 7538820361667734661}
- component: {fileID: 3906670690955882739}
m_Layer: 5
m_Name: R
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7761161721818740453
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8606747241904861797}
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: 1688262250888943477}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 105.59, y: 31}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5487942519567358367
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8606747241904861797}
m_CullTransparentMesh: 1
--- !u!114 &7538820361667734661
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8606747241904861797}
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: 800d082fc01ca114f86956479395844d, 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!114 &3906670690955882739
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8606747241904861797}
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.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, 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.1
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: 7538820361667734661}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &8832824392332480501
GameObject:
m_ObjectHideFlags: 0
@@ -7312,7 +7569,7 @@ MonoBehaviour:
m_Calls:
- m_Target: {fileID: 1800134857526005721}
m_TargetAssemblyTypeName: GraphicalFlexibleFloatWindow, Assembly-CSharp
m_MethodName: Removed
m_MethodName: RemoveConnectedPoint
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}

View File

@@ -34,6 +34,7 @@ RectTransform:
- {fileID: 4007148309916291598}
- {fileID: 2945434457675600059}
- {fileID: 6847512078255756217}
- {fileID: 1177798073328021725}
- {fileID: 2550612146854256134}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -69,6 +70,7 @@ MonoBehaviour:
selectButton: {fileID: 5893831112785110728}
CurveCanvas: {fileID: 8679436555403734544}
FatherTab: {fileID: 0}
ViewText: {fileID: 1052115992955341117}
--- !u!1 &2558217958104297320
GameObject:
m_ObjectHideFlags: 0
@@ -574,6 +576,140 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &7015544617379596958
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1177798073328021725}
- component: {fileID: 126876178754191338}
- component: {fileID: 1052115992955341117}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1177798073328021725
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7015544617379596958}
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: 4923100616489790604}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 50, y: 0}
m_SizeDelta: {x: 100, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &126876178754191338
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7015544617379596958}
m_CullTransparentMesh: 1
--- !u!114 &1052115992955341117
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7015544617379596958}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text:
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7660379574595415909
GameObject:
m_ObjectHideFlags: 0

View File

@@ -219,3 +219,4 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
noteBase: {fileID: 0}
ifHold: {fileID: 3901934672832090415}

View File

@@ -185,7 +185,6 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5187296554905279573}
- {fileID: 8216584910314174699}
- {fileID: 4291884888778775130}
m_Father: {fileID: 70126183804589383}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1086,138 +1085,6 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &3825130537493743442
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8216584910314174699}
- component: {fileID: 6318520465025258386}
- component: {fileID: 356359123782394345}
- component: {fileID: 82358708566530618}
m_Layer: 5
m_Name: Add
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8216584910314174699
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3825130537493743442}
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: 6090386518530065525}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 15.5804}
m_SizeDelta: {x: 500, y: 271.1608}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6318520465025258386
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3825130537493743442}
m_CullTransparentMesh: 1
--- !u!114 &356359123782394345
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3825130537493743442}
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: 0}
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: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
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!114 &82358708566530618
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3825130537493743442}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, 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.1
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: 356359123782394345}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 7258356208599686677}
m_TargetAssemblyTypeName: SampleWindow, Assembly-CSharp
m_MethodName: AddNote
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &5039759906105514086
GameObject:
m_ObjectHideFlags: 0
@@ -2580,7 +2447,7 @@ RectTransform:
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_ConstrainProportionsScale: 1
m_Children:
- {fileID: 3623418567324571912}
- {fileID: 8670700627722813223}

View File

@@ -58,7 +58,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 1, b: 1, a: 0.2627451}
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

View File

@@ -85,7 +85,7 @@ namespace Ichni.RhythmGame
new FlexibleFloat(), new FlexibleFloat(), new FlexibleFloat()));
var scaleButton = inspector.GenerateButton(this, generateAnimation, "Scale", () =>
{
Swirl.GenerateElement("New Scale", Guid.NewGuid(), new List<string>(), true, this,
Scale.GenerateElement("New Scale", Guid.NewGuid(), new List<string>(), true, this,
new FlexibleFloat(), new FlexibleFloat(), new FlexibleFloat());
}); //缩放
}
@@ -109,7 +109,7 @@ namespace Ichni.RhythmGame
{
Debug.Log(note.GetType() + " " + note.elementName + " " + note.exactJudgeTime);
}
return notes;
}
}

View File

@@ -177,7 +177,7 @@ namespace Ichni.RhythmGame
}); //旋转
var scaleButton = inspector.GenerateButton(this, animationSubcontainer, "Scale", () =>
{
Swirl.GenerateElement("New Scale", Guid.NewGuid(), new List<string>(), true, this,
Scale.GenerateElement("New Scale", Guid.NewGuid(), new List<string>(), true, this,
new FlexibleFloat(), new FlexibleFloat(), new FlexibleFloat());
}); //缩放
if (trackPathSubmodule != null)

View File

@@ -24,6 +24,7 @@ public class EventPoint : MonoBehaviour
public RawImage CurveCanvas;
public FlexibleFloatTab FatherTab;
public TMP_Text ViewText;
public int BeatDeviver => FatherTab.BeatDeviver;
public void Initialize(AnimatedFloat animatedFloat)
@@ -122,11 +123,15 @@ public class EventPoint : MonoBehaviour
selectButton.transform.localPosition = EvDrawimage.transform.localPosition;
selectButton.GetComponent<RectTransform>().sizeDelta = EvDrawimage.rectTransform.sizeDelta;
ViewText.text = animatedFloat.startTime.ToString("0.00") + "s" + "\n" +
animatedFloat.startValue.ToString("0.0") + "\n" + animatedFloat.endValue.ToString("0.0") + "\n" + animatedFloat.endTime.ToString("0.00") + "s" + "\n" +
animatedFloat.animationCurveType.ToString();
ViewText.color = new Color(1, 1, 1, EvDrawimage.rectTransform.sizeDelta.x < 100 ? 0 : 1);
}
public void SelectButtonClick()
public void SelectButtonClick()//unity内当按钮按下时
{
if (Keyboard.current.leftShiftKey.isPressed)
{
@@ -134,6 +139,7 @@ public class EventPoint : MonoBehaviour
{
FatherTab.FatherWindow.ClipBoard[FatherTab.Title].Remove(animatedFloat);
LeftSide.sizeDelta = new Vector2(15, EvDrawimage.rectTransform.sizeDelta.y);
}
else
{
@@ -142,6 +148,7 @@ public class EventPoint : MonoBehaviour
LeftSide.sizeDelta = EvDrawimage.rectTransform.sizeDelta;
}
FatherTab.FatherWindow.updateClipBoardMuM();
}
else UpLoad();
}
@@ -166,6 +173,10 @@ public class EventPoint : MonoBehaviour
// 如果有已连接点,则重置其颜色
if (FatherTab.FatherWindow.ConnectedPoint != null)
{
FatherTab.TabButton.onClick.RemoveAllListeners();
FatherTab.TabButton.onClick.AddListener(FatherTab.AddEvent);
FatherTab.FatherWindow.EvEndpointChangeButton.GetComponent<Image>().color = new Color(1f, 1f, 1f, 1);
FatherTab.FatherWindow.ConnectedPoint.EvDrawimage.color = new Color(
FatherTab.FatherWindow.ConnectedPoint.EvDrawimage.color.r,
0.3019607843137255f,
@@ -193,4 +204,79 @@ public class EventPoint : MonoBehaviour
FatherTab.FatherWindow.animationCurveTypeDropdown.onValueChanged.AddListener(value => FatherTab.FatherWindow.ChangeValue());
}
// 添加静态方法:查找插入索引
public static int FindInsertIndex(List<EventPoint> eventPoints, float startTime)
{
int low = 0;
int high = eventPoints.Count - 1;
while (low <= high)
{
int mid = (low + high) / 2;
if (eventPoints[mid].animatedFloat.startTime < startTime)
{
low = mid + 1;
}
else
{
high = mid - 1;
}
}
return low;
}
// 添加实例方法:连接事件点
public void LinkEventPoints(List<EventPoint> eventPoints, int index)
{
if (index - 1 >= 0)
{
LastEventPoint = eventPoints[index - 1];
LastEventPoint.NextEventPoint = this;
}
else
{
LastEventPoint = null;
}
if (index == eventPoints.Count - 1)
{
NextEventPoint = null;
}
}
// 添加实例方法:连接新事件点
public void LinkNewEventPoint(List<EventPoint> eventPoints, bool link, float scalevalue)
{
int index = eventPoints.IndexOf(this);
if (index - 1 >= 0)
{
LastEventPoint = eventPoints[index - 1];
LastEventPoint.NextEventPoint = this;
LastEventPoint.ReDraw(scalevalue);
}
if (index + 1 < eventPoints.Count)
{
NextEventPoint = eventPoints[index + 1];
if (link) animatedFloat.endTime = NextEventPoint.animatedFloat.startTime;
Initialize(animatedFloat);
NextEventPoint.LastEventPoint = this;
}
}
// 添加静态方法:克隆 AnimatedFloat 并应用时间偏移
/// <summary>
/// 克隆一个 AnimatedFloat 对象,并根据偏移量调整其开始和结束时间。
/// </summary>
/// <param name="animatedFloat">要克隆的 AnimatedFloat 对象。</param>
/// <param name="offset">时间偏移量。</param>
/// <returns>克隆后的 AnimatedFloat 对象。</returns>
public static AnimatedFloat CloneWithOffset(AnimatedFloat animatedFloat, float offset)
{
return new AnimatedFloat(
animatedFloat.startTime + offset,
animatedFloat.endTime + offset,
animatedFloat.startValue,
animatedFloat.endValue,
animatedFloat.animationCurveType
);
}
}

View File

@@ -8,6 +8,7 @@ using Ichni.RhythmGame;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class FlexibleFloatTab : MonoBehaviour
{
@@ -18,8 +19,8 @@ public class FlexibleFloatTab : MonoBehaviour
public RectTransform XBeatArea;
public EventPoint eventPoint;
public GameObject BeatLine;
public Button TabButton;
public string Title;
public GameObject FirstBeatLine;
public FlexibleFloat connectFloat;
public int BeatDeviver => FatherWindow.BeatDeviver;
public int BeatNextDeviver => FatherWindow.BeatNextDeviver;
@@ -34,8 +35,8 @@ public class FlexibleFloatTab : MonoBehaviour
connectFloat = flexibleFloat;
CreateBeatLines();
CreateEventPoints();
RedrawEventPoints();
Area.localPosition = new Vector3(FatherWindow.songBeat * BeatDeviver, 0, 0);
TabButton.onClick.AddListener(AddEvent);
}
// 清除子节点
@@ -54,7 +55,6 @@ public class FlexibleFloatTab : MonoBehaviour
{
GameObject u = Instantiate(BeatLine, BeatArea);
u.transform.localPosition = new Vector3(BeatDeviver * i, 0, 0);
if (i == 1) FirstBeatLine = u;
}
}
@@ -70,29 +70,6 @@ public class FlexibleFloatTab : MonoBehaviour
eventPoints.Add(eventPoint);
LinkEventPoints(i, eventPoint);
}
}
// 连接事件点
private void LinkEventPoints(int index, EventPoint eventPoint)
{
if (index - 1 >= 0)
{
eventPoint.LastEventPoint = eventPoints[index - 1];
eventPoint.LastEventPoint.NextEventPoint = eventPoint;
}
else
{
eventPoint.LastEventPoint = null;
}
if (index == connectFloat.animations.Count - 1)
{
eventPoint.NextEventPoint = null;
}
}
// 重绘事件点
private void RedrawEventPoints()
{
foreach (var i in eventPoints)
{
i.ReDraw(scalevalue);
@@ -141,57 +118,40 @@ public class FlexibleFloatTab : MonoBehaviour
connectFloat.Add(eventPoint.animatedFloat);
connectFloat.Sort();
}
// 连接新事件点
private void LinkNewEventPoint(EventPoint eventPoint, bool link = false)
// 添加调用 EventPoint 类的接口
public void LinkEventPoints(int index, EventPoint eventPoint)
{
int index = eventPoints.IndexOf(eventPoint);
if (index - 1 >= 0)
{
eventPoint.LastEventPoint = eventPoints[index - 1];
eventPoint.LastEventPoint.NextEventPoint = eventPoint;
eventPoint.LastEventPoint.ReDraw(scalevalue);
}
if (index + 1 < eventPoints.Count)
{
eventPoint.NextEventPoint = eventPoints[index + 1];
if (link) eventPoint.animatedFloat.endTime = eventPoint.NextEventPoint.animatedFloat.startTime;
eventPoint.Initialize(eventPoint.animatedFloat);
eventPoint.NextEventPoint.LastEventPoint = eventPoint;
}
eventPoint.LinkEventPoints(eventPoints, index);
}
public void LinkNewEventPoint(EventPoint eventPoint, bool link = false)
{
eventPoint.LinkNewEventPoint(eventPoints, link, scalevalue);
}
// 查找插入索引
public int FindInsertIndex(float startTime)
{
int low = 0;
int high = eventPoints.Count - 1;
while (low <= high)
{
int mid = (low + high) / 2;
if (eventPoints[mid].animatedFloat.startTime < startTime)
{
low = mid + 1;
}
else
{
high = mid - 1;
}
}
return low;
return EventPoint.FindInsertIndex(eventPoints, startTime);
}
// 获取节拍
public float GetBeat()
{
float mouseInputX = Mouse.current.position.ReadValue().x;
float far = BeatArea.transform.position.x;
float Beat = 0;
while (far < mouseInputX)
// 获取鼠标在 BeatArea 中的相对位置
Vector2 localMousePosition = BeatArea.InverseTransformPoint(Mouse.current.position.ReadValue());
//Debug.Log(localMousePosition);
float mouseBeat = localMousePosition.x / BeatDeviver;
float far = 0f;
while (far < mouseBeat)
{
far += (FirstBeatLine.transform.position.x - BeatArea.transform.position.x) / BeatNextDeviver;
Beat += 1f / BeatNextDeviver;
far += 1f / BeatNextDeviver;
}
return FatherWindow.timePerBeat * (Beat - (1f / BeatNextDeviver));
far -= 1f / BeatNextDeviver;
return far * FatherWindow.timePerBeat;
}
public float scalevalue => FatherWindow.scalevalue;
@@ -233,4 +193,35 @@ public class FlexibleFloatTab : MonoBehaviour
connectFloat.animations.Remove(a);
}
}
/// <summary>
/// 从事件点列表中移除指定的事件点,并更新其前后连接关系。
/// </summary>
/// <param name="eventPoint">要移除的事件点。</param>
public void RemoveEventPoint(EventPoint eventPoint)
{
if (eventPoints.Contains(eventPoint))
{
// 更新前后事件点的连接关系
if (eventPoint.LastEventPoint != null)
{
eventPoint.LastEventPoint.NextEventPoint = eventPoint.NextEventPoint;
eventPoint.LastEventPoint.ReDraw(scalevalue);
}
if (eventPoint.NextEventPoint != null)
{
eventPoint.NextEventPoint.LastEventPoint = eventPoint.LastEventPoint;
eventPoint.NextEventPoint.ReDraw(scalevalue);
}
// 从列表中移除事件点
eventPoints.Remove(eventPoint);
// 从连接的动画中移除
connectFloat.animations.Remove(eventPoint.animatedFloat);
// 销毁事件点对象
Destroy(eventPoint.gameObject);
}
}
}

View File

@@ -57,6 +57,7 @@ public partial class GraphicalFlexibleFloatWindow : MovableWindow
};
XDeviverScale("1");
EvEndpointChangeButton.onClick.AddListener(EvEndpointStartChange);
}
public void AddUnit(FlexibleFloat flexibleFloat, string Subtitle)
{
@@ -123,36 +124,23 @@ public partial class GraphicalFlexibleFloatWindow
public GameObject VisibleArea;
public void Removed()
/// <summary>
/// 移除当前连接的事件点,并更新 UI。
/// </summary>
public void RemoveConnectedPoint()
{
if (ConnectedPoint != null)
{
ConnectedPoint.FatherTab.remoceAnim(ConnectedPoint.animatedFloat);
ConnectedPoint.FatherTab.eventPoints.Remove(ConnectedPoint);
if (ConnectedPoint.LastEventPoint != null)
{
ConnectedPoint.LastEventPoint.NextEventPoint = ConnectedPoint.NextEventPoint;
if (ConnectedPoint.LastEventPoint.NextEventPoint != null) ConnectedPoint.LastEventPoint.NextEventPoint.ReDraw(scalevalue);
ConnectedPoint.LastEventPoint.ReDraw(scalevalue);
}
if (ConnectedPoint.NextEventPoint != null)
{
ConnectedPoint.NextEventPoint.LastEventPoint = ConnectedPoint.LastEventPoint;
if (ConnectedPoint.NextEventPoint.LastEventPoint != null) ConnectedPoint.NextEventPoint.LastEventPoint.ReDraw(scalevalue);
}
//Destroy(ConnectedPoint.animatedFloat);
// 调用 FlexibleFloatTab 的 RemoveEventPoint 方法
ConnectedPoint.FatherTab.RemoveEventPoint(ConnectedPoint);
// 清空连接点并隐藏可见区域
ConnectedPoint = null;
VisibleArea.SetActive(false);
Destroy(ConnectedPoint.gameObject);
ApplyParameters();
}
}
public void ChangeValue()
{
if (ConnectedPoint != null)
{
@@ -170,45 +158,75 @@ public partial class GraphicalFlexibleFloatWindow
ConnectedPoint.ReDraw(scalevalue);
}
}
public Button EvEndpointChangeButton;
public void EvEndpointStartChange()
{
if (ConnectedPoint != null)
{
EndText.text = (ConnectedPoint.animatedFloat.startTime + 0.01).ToString();
ChangeValue();
EvEndpointChangeButton.GetComponent<Image>().color = new Color(1f, 0.5f, 0.5f, 1);
ConnectedPoint.FatherTab.TabButton.onClick.RemoveAllListeners();
ConnectedPoint.FatherTab.TabButton.onClick.AddListener(EvEndpointEndChange);
}
}
public void EvEndpointEndChange()
{
if (ConnectedPoint != null)
{
EvEndpointChangeButton.GetComponent<Image>().color = new Color(1f, 1f, 1f, 1);
float newendtime = ConnectedPoint.FatherTab.GetBeat();
if (newendtime > ConnectedPoint.animatedFloat.startTime)
{
if (ConnectedPoint.NextEventPoint != null && newendtime > ConnectedPoint.NextEventPoint.animatedFloat.startTime)
EndText.text = ConnectedPoint.NextEventPoint.animatedFloat.startTime.ToString();
else EndText.text = newendtime.ToString();
ChangeValue();
}
ConnectedPoint.FatherTab.TabButton.onClick.RemoveAllListeners();
ConnectedPoint.FatherTab.TabButton.onClick.AddListener(ConnectedPoint.FatherTab.AddEvent);
}
}
public Dictionary<string, List<AnimatedFloat>> ClipBoard = new();
public float MinCopyTime = 0f;
public void Update()
{
if (Keyboard.current.deleteKey.isPressed && ConnectedPoint != null)
{
Removed();
RemoveConnectedPoint();
}
if (Keyboard.current.shiftKey.isPressed && Keyboard.current.vKey.wasPressedThisFrame)
{
Paste();
PasteClipboard();
}
}
public void Paste()
{
float time = unitList[0].GetBeat();
print(time);
FindMinStartTime();
foreach (KeyValuePair<string, List<AnimatedFloat>> i in ClipBoard)
if (Keyboard.current.escapeKey.wasPressedThisFrame)
{
foreach (AnimatedFloat j in i.Value)
foreach (var key in ClipBoard.Keys.ToList())
{
AnimatedFloat newone = new AnimatedFloat(j.startTime, j.endTime, j.startValue, j.endValue, j.animationCurveType)
ClipBoard[key] = new List<AnimatedFloat>();
}
foreach (FlexibleFloatTab i in unitList)
{
foreach (EventPoint j in i.eventPoints)
{
startTime = j.startTime - MinCopyTime + time,
endTime = j.endTime - MinCopyTime + time
};
unitList.Find(x => x.Title == i.Key).SpawnEvent(newone);
j.LeftSide.sizeDelta = new Vector2(15, j.EvDrawimage.rectTransform.sizeDelta.y);
}
}
}
}
public void FindMinStartTime()
public void PasteClipboard()
{
MinCopyTime = float.MaxValue;
// 获取当前时间线的节拍位置
float time = unitList[0].GetBeat();
float MinCopyTime = float.MaxValue;
// 遍历剪贴板中的所有动画数据MinCopyTime = float.MaxValue;
foreach (var list in ClipBoard.Values)
{
foreach (var animatedFloat in list)
@@ -219,5 +237,30 @@ public partial class GraphicalFlexibleFloatWindow
}
}
}
foreach (var key in ClipBoard.Keys)
{
foreach (var animatedFloat in ClipBoard[key])
{
// 克隆动画数据并应用时间偏移
AnimatedFloat newFloat = EventPoint.CloneWithOffset(animatedFloat, time - MinCopyTime);
// 在对应的 FlexibleFloatTab 中生成事件点
unitList.Find(x => x.Title == key).SpawnEvent(newFloat);
}
}
}
}
}
public partial class GraphicalFlexibleFloatWindow
{//以后显示类写这里,别在叠大粪了
public TMP_Text ClipBoardMuM;
public void updateClipBoardMuM()
{
int mum = 0;
foreach (var key in ClipBoard.Keys)
{
mum += ClipBoard[key].Count();
}
ClipBoardMuM.text = "ClipBoard: " + mum.ToString();
}
}

View File

@@ -3,10 +3,12 @@ using System.Collections.Generic;
using Ichni;
using Ichni.RhythmGame;
using UnityEngine;
using UnityEngine.UI;
public class NotefabContoler : MonoBehaviour
{
public NoteBase noteBase;
public RawImage ifHold;
public void Onclick()
{
EditorManager.instance.uiManager.hierarchy.FindTab(noteBase);

View File

@@ -2,6 +2,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using Dreamteck.Splines;
using Ichni;
using Ichni.Editor;
@@ -9,6 +10,7 @@ using Ichni.RhythmGame;
using TMPro;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.UI;
@@ -86,7 +88,7 @@ public class SampleWindow : MovableWindow//该window高度为300横的要在1
GameObject v = Instantiate(beatLinePrefabh, LineMovepoint);
v.transform.localPosition = new Vector3(0, i * beatDeviver + (beatDeviver / Xdevide * j), 0);
RawImage g = v.GetComponent<RawImage>();
g.color = new Color(g.color.r, g.color.g, g.color.b, 0.2f);
g.color = new Color(0, g.color.g, g.color.b, 0.2f);
if (v.transform.localPosition.y > 600)
{
Destroy(v);
@@ -124,7 +126,7 @@ public class SampleWindow : MovableWindow//该window高度为300横的要在1
SpawnNote(i);
}
}
private void SpawnNote(NoteBase i)
private void SpawnNote(NoteBase i, float posx = 0)
{
GameObject u = Instantiate(NotePrefab, NoteMovepoint);
u.transform.localPosition = new Vector3(0, i.exactJudgeTime / timePerBeat * beatDeviver, 0);
@@ -134,9 +136,10 @@ public class SampleWindow : MovableWindow//该window高度为300横的要在1
{
case Hold hold:
color.color = new Color(0, 1, 0, 1);
RawImage a = u.GetComponent<RawImage>();
RawImage a = u.GetComponent<NotefabContoler>().ifHold;
a.transform.localPosition = new Vector3(0, (hold.holdEndTime - hold.exactJudgeTime) / timePerBeat * beatDeviver / 2, 0);
a.GetComponent<RectTransform>().sizeDelta = new Vector2(0, (hold.holdEndTime - hold.exactJudgeTime) / timePerBeat * beatDeviver);
a.GetComponent<RectTransform>().sizeDelta = new Vector2(a.GetComponent<RectTransform>().sizeDelta.x, (hold.holdEndTime - hold.exactJudgeTime) / timePerBeat * beatDeviver);
a.color = new Color(0, 1, 0, 1);
break;
case Tap:
@@ -152,10 +155,11 @@ public class SampleWindow : MovableWindow//该window高度为300横的要在1
break;
}//服了之后整合到controler里头去
}
public GameObject selectedGameObject = EventSystem.current.currentSelectedGameObject;
void Update()
{
selectedGameObject = EventSystem.current.currentSelectedGameObject;
LineMovepoint.localPosition = new(0, -beatDeviver * (songBeat - (int)songBeat), 0);
NoteMovepoint.localPosition = new(0, -beatDeviver * songBeat, 0);
if (isFocus && gameElement is Track track)
@@ -173,6 +177,11 @@ public class SampleWindow : MovableWindow//该window高度为300横的要在1
TransformChanged();
windowRect.GetComponent<CanvasGroup>().alpha = track.timeDurationSubmodule.CheckTimeInDuration(songTime) ? 1f : 0.2f;
}
if (selectedGameObject == null && RectTransformUtility.RectangleContainsScreenPoint(windowRect, Mouse.current.position.ReadValue()))
{
DetectNote();
}
}
void TransformChanged()
@@ -214,13 +223,22 @@ public class SampleWindow : MovableWindow//该window高度为300横的要在1
windowRect.sizeDelta = new Vector2(500, windowRect.sizeDelta.y);
}
}
public void AddNote()
public void DetectNote()
{
if (Keyboard.current.digit1Key.wasPressedThisFrame)
AddNote(0);
else if (Keyboard.current.digit2Key.wasPressedThisFrame)
AddNote(1);
else if (Keyboard.current.digit3Key.wasPressedThisFrame)
AddNote(2);
else if (Keyboard.current.digit4Key.wasPressedThisFrame)
AddNote(3);
}
public void AddNote(int NoteCode)
{
// 获取鼠标在 NoteMovepoint 中的相对位置
Vector2 localMousePosition = NoteMovepoint.InverseTransformPoint(Mouse.current.position.ReadValue());
Debug.Log(localMousePosition);
float mouseBeat = localMousePosition.y / beatDeviver;
float far = 0f;
while (far < mouseBeat)
@@ -230,11 +248,33 @@ public class SampleWindow : MovableWindow//该window高度为300横的要在1
far -= 1f / Xdevide;
float time = far * timePerBeat;
if (!isExpand)//movable
{
Tap a = Tap.GenerateElement("New Tap", Guid.NewGuid(), new List<string>(), true, gameElement, time);
noteBases.Add(a);
SpawnNote(a);
switch (NoteCode)
{
case 0:
Tap a = Tap.GenerateElement("New Tap", Guid.NewGuid(), new List<string>(), true, gameElement, time);
noteBases.Add(a);
SpawnNote(a);
break;
case 3:
Hold b = Hold.GenerateElement("New Hold", Guid.NewGuid(), new List<string>(), true, gameElement, time, time + 0.5f);
noteBases.Add(b);
SpawnNote(b);
break;
case 1:
Stay c = Stay.GenerateElement("New Stay", Guid.NewGuid(), new List<string>(), true, gameElement, time);
noteBases.Add(c);
SpawnNote(c);
break;
case 2:
Flick d = Flick.GenerateElement("New Flick", Guid.NewGuid(), new List<string>(), true, gameElement, time, new List<Vector2>());
noteBases.Add(d);
SpawnNote(d);
break;
}
}
}
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2bc7ed6d197f00c40a61689493c13bc3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7ab6cd8f9a2e77c49a158e16014f9cec
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,162 @@
{
"Note" : {
"__type" : "System.Collections.Generic.List`1[[Ichni.RhythmGame.Beatmap.BaseElement_BM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]],mscorlib",
"value" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.Flick_BM,Assembly-CSharp",
"availableFlickDirections" : [
],
"exactJudgeTime" : 15.1500006,
"elementName" : "New Flick",
"tags" : [
],
"elementGuid" : {
"value" : "bc612abf-dbe5-4c11-8e88-e33df8fe0904"
},
"attachedElementGuid" : {
"value" : "00000000-0000-0000-0000-000000000000"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "bc612abf-dbe5-4c11-8e88-e33df8fe0904"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp",
"judgeUnitList" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.TouchAreaJudgeUnit_BM,Assembly-CSharp",
"areaRadius" : 1000
}
],
"attachedElementGuid" : {
"value" : "bc612abf-dbe5-4c11-8e88-e33df8fe0904"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteAudioSubmodule_BM,Assembly-CSharp",
"generalJudgeAudioList" : [
"DefaultStay"
],
"perfectAudioList" : [
],
"goodAudioList" : [
],
"badAudioList" : [
],
"missAudioList" : [
],
"holdStartAudioList" : [
],
"attachedElementGuid" : {
"value" : "bc612abf-dbe5-4c11-8e88-e33df8fe0904"
}
},{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteVisual_BM,Assembly-CSharp",
"themeBundleName" : "departure_to_multiverse",
"objectName" : "DTM_NoteVisualFlick",
"elementName" : "New Note Visual",
"tags" : [
],
"elementGuid" : {
"value" : "b1a49705-9182-44a6-9747-eaa7002f2481"
},
"attachedElementGuid" : {
"value" : "bc612abf-dbe5-4c11-8e88-e33df8fe0904"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp",
"originalPosition" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalEulerAngles" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalScale" : {
"x" : 1,
"y" : 1,
"z" : 1
},
"attachedElementGuid" : {
"value" : "b1a49705-9182-44a6-9747-eaa7002f2481"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "b1a49705-9182-44a6-9747-eaa7002f2481"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp",
"originalBaseColor" : {
"r" : 1,
"g" : 1,
"b" : 1,
"a" : 1
},
"emissionEnabled" : false,
"originalEmissionColor" : {
"r" : 0,
"g" : 0,
"b" : 0,
"a" : 1
},
"originalEmissionIntensity" : 0,
"attachedElementGuid" : {
"value" : "b1a49705-9182-44a6-9747-eaa7002f2481"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp",
"effectCollection" : {"Generate":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteGenerateExpand_BM,Assembly-CSharp",
"effectTime" : 0,
"generateTime" : 0,
"generateTime" : 1,
"effectTime" : 0.2
}
],"GeneralJudge":[
],"Holding":[
],"Perfect":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNotePerfectBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Good":[
],"Bad":[
],"Miss":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteMissTransparent_BM,Assembly-CSharp",
"effectTime" : 0.2
}
],"AfterJudge":[
]
},
"attachedElementGuid" : {
"value" : "b1a49705-9182-44a6-9747-eaa7002f2481"
}
}
]
}
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ed62f777ff281d5419ef9ad41c2bf985
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,161 @@
{
"Note" : {
"__type" : "System.Collections.Generic.List`1[[Ichni.RhythmGame.Beatmap.BaseElement_BM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]],mscorlib",
"value" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.Hold_BM,Assembly-CSharp",
"holdEndTime" : 12.8,
"exactJudgeTime" : 12.3,
"elementName" : "New Hold",
"tags" : [
],
"elementGuid" : {
"value" : "a43fa592-9165-4146-a3eb-b829cf694853"
},
"attachedElementGuid" : {
"value" : "9abab7b8-d2af-4e43-8c1b-4ef6607fca38"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "a43fa592-9165-4146-a3eb-b829cf694853"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp",
"judgeUnitList" : [
],
"attachedElementGuid" : {
"value" : "a43fa592-9165-4146-a3eb-b829cf694853"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteAudioSubmodule_BM,Assembly-CSharp",
"generalJudgeAudioList" : [
"DefaultTap"
],
"perfectAudioList" : [
],
"goodAudioList" : [
],
"badAudioList" : [
],
"missAudioList" : [
],
"holdStartAudioList" : [
],
"attachedElementGuid" : {
"value" : "a43fa592-9165-4146-a3eb-b829cf694853"
}
},{
"__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicHoldVisualTube_BM,Assembly-CSharp",
"themeBundleName" : "basic",
"objectName" : "BasicNoteHoldTube",
"elementName" : "New Note Visual",
"tags" : [
],
"elementGuid" : {
"value" : "a6d3dd1b-2924-48c1-9be4-d65bd6ff3d41"
},
"attachedElementGuid" : {
"value" : "a43fa592-9165-4146-a3eb-b829cf694853"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp",
"originalPosition" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalEulerAngles" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalScale" : {
"x" : 1,
"y" : 1,
"z" : 1
},
"attachedElementGuid" : {
"value" : "a6d3dd1b-2924-48c1-9be4-d65bd6ff3d41"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "a6d3dd1b-2924-48c1-9be4-d65bd6ff3d41"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp",
"originalBaseColor" : {
"r" : 1,
"g" : 1,
"b" : 1,
"a" : 1
},
"emissionEnabled" : false,
"originalEmissionColor" : {
"r" : 0,
"g" : 0,
"b" : 0,
"a" : 1
},
"originalEmissionIntensity" : 0,
"attachedElementGuid" : {
"value" : "a6d3dd1b-2924-48c1-9be4-d65bd6ff3d41"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp",
"effectCollection" : {"Generate":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteGenerateExpand_BM,Assembly-CSharp",
"generateTime" : 1,
"effectTime" : 0.1
}
],"GeneralJudge":[
],"Holding":[
],"Perfect":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNotePerfectBurst_BM,Assembly-CSharp",
"effectTime" : 0.1
}
],"Good":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteGoodBurst_BM,Assembly-CSharp",
"effectTime" : 0.1
}
],"Bad":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteBadShrink_BM,Assembly-CSharp",
"effectTime" : 0.1
}
],"Miss":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteMissPale_BM,Assembly-CSharp",
"effectTime" : 0.2
}
],"AfterJudge":[
]
},
"attachedElementGuid" : {
"value" : "a6d3dd1b-2924-48c1-9be4-d65bd6ff3d41"
}
}
]
}
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 29dfabbb774fa7149817c0b30e27d1aa
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,159 @@
{
"Note" : {
"__type" : "System.Collections.Generic.List`1[[Ichni.RhythmGame.Beatmap.BaseElement_BM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]],mscorlib",
"value" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.Stay_BM,Assembly-CSharp",
"exactJudgeTime" : 14.85,
"elementName" : "New Stay",
"tags" : [
],
"elementGuid" : {
"value" : "1017ec3f-799d-45be-96e4-6c49138f517a"
},
"attachedElementGuid" : {
"value" : "00000000-0000-0000-0000-000000000000"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "1017ec3f-799d-45be-96e4-6c49138f517a"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp",
"judgeUnitList" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.TouchAreaJudgeUnit_BM,Assembly-CSharp",
"areaRadius" : 1000
}
],
"attachedElementGuid" : {
"value" : "1017ec3f-799d-45be-96e4-6c49138f517a"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteAudioSubmodule_BM,Assembly-CSharp",
"generalJudgeAudioList" : [
"DefaultStay"
],
"perfectAudioList" : [
],
"goodAudioList" : [
],
"badAudioList" : [
],
"missAudioList" : [
],
"holdStartAudioList" : [
],
"attachedElementGuid" : {
"value" : "1017ec3f-799d-45be-96e4-6c49138f517a"
}
},{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteVisual_BM,Assembly-CSharp",
"themeBundleName" : "departure_to_multiverse",
"objectName" : "DTM_NoteVisualStay",
"elementName" : "New Note Visual",
"tags" : [
],
"elementGuid" : {
"value" : "c7fab878-4fad-444d-a73b-e9efd208bdd9"
},
"attachedElementGuid" : {
"value" : "1017ec3f-799d-45be-96e4-6c49138f517a"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp",
"originalPosition" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalEulerAngles" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalScale" : {
"x" : 1,
"y" : 1,
"z" : 1
},
"attachedElementGuid" : {
"value" : "c7fab878-4fad-444d-a73b-e9efd208bdd9"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "c7fab878-4fad-444d-a73b-e9efd208bdd9"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp",
"originalBaseColor" : {
"r" : 1,
"g" : 1,
"b" : 1,
"a" : 1
},
"emissionEnabled" : false,
"originalEmissionColor" : {
"r" : 0,
"g" : 0,
"b" : 0,
"a" : 1
},
"originalEmissionIntensity" : 0,
"attachedElementGuid" : {
"value" : "c7fab878-4fad-444d-a73b-e9efd208bdd9"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp",
"effectCollection" : {"Generate":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteGenerateExpand_BM,Assembly-CSharp",
"effectTime" : 0,
"generateTime" : 0,
"generateTime" : 1,
"effectTime" : 0.2
}
],"GeneralJudge":[
],"Holding":[
],"Perfect":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNotePerfectBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Good":[
],"Bad":[
],"Miss":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteMissTransparent_BM,Assembly-CSharp",
"effectTime" : 0.2
}
],"AfterJudge":[
]
},
"attachedElementGuid" : {
"value" : "c7fab878-4fad-444d-a73b-e9efd208bdd9"
}
}
]
}
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: feff7652cec91dd459e3a1cb1a89a430
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -4,16 +4,16 @@
"value" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.Tap_BM,Assembly-CSharp",
"exactJudgeTime" : 3.87096763,
"exactJudgeTime" : 12.3,
"elementName" : "New Tap",
"tags" : [
],
"elementGuid" : {
"value" : "2ccbeb3b-05ec-4821-8f1e-b67a40a2a192"
"value" : "f9eb34bd-f4ad-4427-999d-aa8f6c6e4263"
},
"attachedElementGuid" : {
"value" : "00000000-0000-0000-0000-000000000000"
"value" : "9abab7b8-d2af-4e43-8c1b-4ef6607fca38"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
@@ -21,7 +21,7 @@
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "2ccbeb3b-05ec-4821-8f1e-b67a40a2a192"
"value" : "f9eb34bd-f4ad-4427-999d-aa8f6c6e4263"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp",
@@ -29,21 +29,44 @@
],
"attachedElementGuid" : {
"value" : "2ccbeb3b-05ec-4821-8f1e-b67a40a2a192"
"value" : "f9eb34bd-f4ad-4427-999d-aa8f6c6e4263"
}
},{
"__type" : "Ichni.RhythmGame.ThemeBundles.MetropolisOnOrbit.Beatmap.MOONoteVisual_BM,Assembly-CSharp",
"themeBundleName" : "metropolis_on_orbit",
"objectName" : "MOO_NoteVisualTap",
"__type" : "Ichni.RhythmGame.Beatmap.NoteAudioSubmodule_BM,Assembly-CSharp",
"generalJudgeAudioList" : [
"DefaultTap"
],
"perfectAudioList" : [
],
"goodAudioList" : [
],
"badAudioList" : [
],
"missAudioList" : [
],
"holdStartAudioList" : [
],
"attachedElementGuid" : {
"value" : "f9eb34bd-f4ad-4427-999d-aa8f6c6e4263"
}
},{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteVisual_BM,Assembly-CSharp",
"themeBundleName" : "departure_to_multiverse",
"objectName" : "DTM_NoteVisualTap",
"elementName" : "New Note Visual",
"tags" : [
],
"elementGuid" : {
"value" : "66284cbc-9e86-4568-a7ca-f4e9c9eedd98"
"value" : "6d4dbf74-1140-44b5-a253-80b06a4546c6"
},
"attachedElementGuid" : {
"value" : "2ccbeb3b-05ec-4821-8f1e-b67a40a2a192"
"value" : "f9eb34bd-f4ad-4427-999d-aa8f6c6e4263"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp",
@@ -63,7 +86,7 @@
"z" : 1
},
"attachedElementGuid" : {
"value" : "66284cbc-9e86-4568-a7ca-f4e9c9eedd98"
"value" : "6d4dbf74-1140-44b5-a253-80b06a4546c6"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
@@ -71,7 +94,7 @@
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "66284cbc-9e86-4568-a7ca-f4e9c9eedd98"
"value" : "6d4dbf74-1140-44b5-a253-80b06a4546c6"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp",
@@ -90,33 +113,48 @@
},
"originalEmissionIntensity" : 0,
"attachedElementGuid" : {
"value" : "66284cbc-9e86-4568-a7ca-f4e9c9eedd98"
"value" : "6d4dbf74-1140-44b5-a253-80b06a4546c6"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp",
"effectCollection" : {"Generate":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteGenerateExpand_BM,Assembly-CSharp",
"effectTime" : 0,
"generateTime" : 0,
"generateTime" : 1,
"effectTime" : 0.2
}
],"GeneralJudge":[
],"Holding":[
],"Perfect":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.MetropolisOnOrbit.Beatmap.MOONotePerfectAnimation_BM,Assembly-CSharp",
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNotePerfectBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Good":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteGoodBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Bad":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteBadBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Miss":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteMissTransparent_BM,Assembly-CSharp",
"effectTime" : 0.2
}
],"AfterJudge":[
]
},
"attachedElementGuid" : {
"value" : "66284cbc-9e86-4568-a7ca-f4e9c9eedd98"
"value" : "6d4dbf74-1140-44b5-a253-80b06a4546c6"
}
}
]

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0579026e227bb90459414c8717ba99c4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 23c9ee719a4d6cf47b3b330d589b7a1d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,13 @@
{
"CommandScripts" : {
"__type" : "Ichni.RhythmGame.Beatmap.CommandScripts_BM,Assembly-CSharp",
"value" : {
"commandList" : [
],
"attachedElementGuid" : {
"value" : "00000000-0000-0000-0000-000000000000"
}
}
}
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: aa37cffdac750604994ff06da87c5239
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 875a174aa20f858449278e98c270414c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,18 @@
{
"ProjectInformation" : {
"__type" : "Ichni.RhythmGame.Beatmap.ProjectInformation_BM,Assembly-CSharp",
"value" : {
"projectName" : "Chaos Zone",
"creatorName" : "0",
"editorVersion" : "0.1.0",
"createTime" : "2025\/5\/10 15:09:55",
"lastSaveTime" : "2025\/5\/10 15:09:55",
"selectedThemeBundleList" : [
"basic","departure_to_multiverse"
],
"attachedElementGuid" : {
"value" : "00000000-0000-0000-0000-000000000000"
}
}
}
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 350879ef097ce6d4fae8b0f39f2aa7c8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,13 @@
{
"SongInformation" : {
"__type" : "Ichni.RhythmGame.Beatmap.SongInformation_BM,Assembly-CSharp",
"value" : {
"songName" : "DJ_SoraArshi _Chaos Zone_Bpm200.wav",
"bpm" : 200,
"delay" : 0,
"attachedElementGuid" : {
"value" : "00000000-0000-0000-0000-000000000000"
}
}
}
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 38a244745d89a8447ad341d2e616e83f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@@ -28,6 +28,8 @@
当你按下`Shift+左键`的时候,对应事件会盖上黄色蒙版,此时这些事件会被放进**剪贴板**中,在按下`shift + v`的时候选中的事件会保持原来的**时间顺序放入鼠标所在的对应时间点**
按esc可以清空剪贴板
<img src="file:///D:/ichniEditor-Source/IchniCreatorStudio/Document/GE2.png" title="" alt="GE2.png" width="549">**就像这个**
注意:由于该编辑器还处于测试阶段,请以编辑器内操作为主