加入测试样例,初步完善队列信息——视图转换
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 95465072ce16290438ddc7e63bbd869d
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
+177
-2451
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bd94bcd7efa736d4bbd556d92e8a2196
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,449 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &38698292104120276
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6315701630504864621}
|
||||||
|
- component: {fileID: 757764593157214466}
|
||||||
|
- component: {fileID: 1068789348870044308}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: characterImage
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &6315701630504864621
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 38698292104120276}
|
||||||
|
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: 6068646603734489704}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 4.9328613, y: -3.8088684}
|
||||||
|
m_SizeDelta: {x: 0.7026062, y: 11.866501}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &757764593157214466
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 38698292104120276}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &1068789348870044308
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 38698292104120276}
|
||||||
|
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: 84ef05cda680d7a40a5108f0a5bcc1c9, 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!1 &227430959558785920
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3228097016014596376}
|
||||||
|
- component: {fileID: 4065988666777179856}
|
||||||
|
- component: {fileID: 2921092759260112579}
|
||||||
|
- component: {fileID: 2111168341660587780}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: levelIcon
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &3228097016014596376
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 227430959558785920}
|
||||||
|
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: 6068646603734489704}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.01914089, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: -58.1064, y: -90.961}
|
||||||
|
m_SizeDelta: {x: -118.4853, y: -181.92}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &4065988666777179856
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 227430959558785920}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &2921092759260112579
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 227430959558785920}
|
||||||
|
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: cc6dc195a4e12f74e93a76d0a812c100, 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 &2111168341660587780
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 227430959558785920}
|
||||||
|
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: 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: 2921092759260112579}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
--- !u!1 &2949374534111508497
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6068646603734489704}
|
||||||
|
- component: {fileID: 8280925871269614134}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: chacterCard
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &6068646603734489704
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2949374534111508497}
|
||||||
|
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:
|
||||||
|
- {fileID: 6315701630504864621}
|
||||||
|
- {fileID: 8471786600230624059}
|
||||||
|
- {fileID: 3228097016014596376}
|
||||||
|
- {fileID: 6851442848237668585}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 276, y: -124}
|
||||||
|
m_SizeDelta: {x: 180, y: 240}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &8280925871269614134
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2949374534111508497}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 31ac798fff192ba4b92574fbc38f7d35, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
charactCard: {fileID: 2949374534111508497}
|
||||||
|
characterImage: {fileID: 1068789348870044308}
|
||||||
|
levelIcon: {fileID: 2921092759260112579}
|
||||||
|
occupationIcon: {fileID: 3273503338186152757}
|
||||||
|
characterName:
|
||||||
|
--- !u!1 &3298850994316689979
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8471786600230624059}
|
||||||
|
- component: {fileID: 1441714355077240368}
|
||||||
|
- component: {fileID: 4230862351278587466}
|
||||||
|
- component: {fileID: 7993390284878984614}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: detailed
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &8471786600230624059
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3298850994316689979}
|
||||||
|
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: 6068646603734489704}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.01914089, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: -66.14577, y: 99.046}
|
||||||
|
m_SizeDelta: {x: -133.4546, y: -193.8428}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &1441714355077240368
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3298850994316689979}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &4230862351278587466
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3298850994316689979}
|
||||||
|
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: 785cf3c544449b54b908cfaea02d4864, 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 &7993390284878984614
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3298850994316689979}
|
||||||
|
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: 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: 4230862351278587466}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
--- !u!1 &4550571342346605983
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6851442848237668585}
|
||||||
|
- component: {fileID: 6391224406734638744}
|
||||||
|
- component: {fileID: 3273503338186152757}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: occupationIcon
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &6851442848237668585
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4550571342346605983}
|
||||||
|
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: 6068646603734489704}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.01914089, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 61.827393, y: 92.13159}
|
||||||
|
m_SizeDelta: {x: -113.0898, y: -180.0144}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &6391224406734638744
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4550571342346605983}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &3273503338186152757
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4550571342346605983}
|
||||||
|
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: d43848ae23ea61941bafe55e1a6fd78f, 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
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2b0df49c627c9b84fb585add14c2dfa9
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.SceneManagement;
|
using UnityEngine.SceneManagement;
|
||||||
|
|||||||
+9
-1
@@ -15,7 +15,7 @@ public class Character
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 突破等级
|
/// 突破等级
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int boundaryLevel{get; set;}
|
public string boundaryLevel{get; set;}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 技能名称
|
/// 技能名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -24,4 +24,12 @@ public class Character
|
|||||||
/// 是否为队长
|
/// 是否为队长
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool isLeader{get; set;}
|
public bool isLeader{get; set;}
|
||||||
|
|
||||||
|
public Character(string name, string occupation, string boundaryLevel, string skillName)
|
||||||
|
{
|
||||||
|
this.name = name;
|
||||||
|
this.occupation = occupation;
|
||||||
|
this.boundaryLevel = boundaryLevel;
|
||||||
|
this.SkillName = skillName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
public class CharacterCardView : MonoBehaviour
|
||||||
|
{
|
||||||
|
public GameObject charactCard;
|
||||||
|
public Image characterImage;
|
||||||
|
public Image levelIcon;
|
||||||
|
public Image occupationIcon;
|
||||||
|
public string characterName;
|
||||||
|
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
charactCard=gameObject;
|
||||||
|
characterImage.sprite = null;
|
||||||
|
levelIcon.sprite = null;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 根据角色名称获取角色介绍信息
|
||||||
|
/// </summary>
|
||||||
|
void checkCharacterInformation()
|
||||||
|
{
|
||||||
|
Debug.Log("尝试获取角色介绍:"+characterName);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 31ac798fff192ba4b92574fbc38f7d35
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
+31
-1
@@ -8,9 +8,15 @@ public class TeamManager : MonoBehaviour
|
|||||||
public static TeamManager Instance {get; private set;}
|
public static TeamManager Instance {get; private set;}
|
||||||
|
|
||||||
public teamSettingPanel teamSettingPanelInstance;
|
public teamSettingPanel teamSettingPanelInstance;
|
||||||
//当前玩家存档下的所有编队配置
|
/// <summary>
|
||||||
|
/// 当前玩家存档下的所有编队配置
|
||||||
|
/// </summary>
|
||||||
public Dictionary<int, List<Character>> currentTeamSettings = new Dictionary<int, List<Character>>();
|
public Dictionary<int, List<Character>> currentTeamSettings = new Dictionary<int, List<Character>>();
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// 玩家存档下已经解锁的角色信息列表
|
||||||
|
/// </summary>
|
||||||
|
public List<Character> SelectableCharacterList = new List<Character>();
|
||||||
|
/// <summary>
|
||||||
/// 根据此字段来在编队信息页显示已有编队
|
/// 根据此字段来在编队信息页显示已有编队
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int currentSelectedTeam = 0;
|
public int currentSelectedTeam = 0;
|
||||||
@@ -35,12 +41,36 @@ public class TeamManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void testTeamSetting()
|
||||||
|
{
|
||||||
|
SelectableCharacterList.Add(new Character("YUETAO","default","C","pure dissidents"));
|
||||||
|
SelectableCharacterList.Add(new Character("AYANO","default","B","default skillName"));
|
||||||
|
SelectableCharacterList.Add(new Character("YUETAO","default","C","pure dissidents"));
|
||||||
|
SelectableCharacterList.Add(new Character("AYANO","default","S","default skillName"));
|
||||||
|
|
||||||
|
//手动向currentTeamSettings和SelectableCharacterList添加测试数据
|
||||||
|
currentTeamSettings.Add(0,new List<Character>());
|
||||||
|
currentTeamSettings[0].Add(new Character("YUETAO","default","C","pure dissidents"));
|
||||||
|
currentTeamSettings[0].Add(new Character("AYANO","default","B","default skillName"));
|
||||||
|
currentTeamSettings[0].Add(new Character("YUETAO","default","C","pure dissidents"));
|
||||||
|
currentTeamSettings[0].Add(new Character("YUETAO","default","C","pure dissidents"));
|
||||||
|
|
||||||
|
currentTeamSettings.Add(1,new List<Character>());
|
||||||
|
currentTeamSettings[1].Add(new Character("YUETAO","default","C","pure dissidents"));
|
||||||
|
currentTeamSettings[1].Add(new Character("AYANO","default","B","default skillName"));
|
||||||
|
currentTeamSettings[1].Add(new Character("YUETAO","default","C","pure dissidents"));
|
||||||
|
currentTeamSettings[1].Add(new Character("YUETAO","default","C","pure dissidents"));
|
||||||
|
|
||||||
|
Debug.Log("testTeamSetting ready");
|
||||||
|
}
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
if(teamSettingPanelInstance == null)
|
if(teamSettingPanelInstance == null)
|
||||||
{
|
{
|
||||||
teamSettingPanelInstance = teamSettingPanel.Instance;
|
teamSettingPanelInstance = teamSettingPanel.Instance;
|
||||||
}
|
}
|
||||||
|
testTeamSetting();//接入玩家存档后请注释掉此行
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 读取玩家存档信息后可直接在此写入编队信息
|
/// 读取玩家存档信息后可直接在此写入编队信息
|
||||||
+3
-8
@@ -12,7 +12,6 @@ public class teamCharacterView : MonoBehaviour
|
|||||||
public GameObject controlButton;
|
public GameObject controlButton;
|
||||||
public Image levelIcon;
|
public Image levelIcon;
|
||||||
public Image charcterImg;
|
public Image charcterImg;
|
||||||
public Image leaderStatusIcon;
|
|
||||||
public TMP_Text skillName;
|
public TMP_Text skillName;
|
||||||
|
|
||||||
public GameObject isLeader;
|
public GameObject isLeader;
|
||||||
@@ -24,14 +23,9 @@ public class teamCharacterView : MonoBehaviour
|
|||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
character = gameObject;
|
character = gameObject;
|
||||||
controlButton = transform.Find("move").gameObject;
|
levelIcon.sprite=null;
|
||||||
levelIcon = transform.Find("Level").GetComponent<Image>();
|
charcterImg.sprite=null;
|
||||||
charcterImg = transform.Find("Character").GetComponent<Image>();
|
|
||||||
skillName = transform.Find("SkillName").GetComponent<TMP_Text>();
|
|
||||||
isLeader = transform.Find("isLeader").gameObject;
|
|
||||||
notLeader = transform.Find("notLeader").gameObject;
|
|
||||||
controlButton.SetActive(isSelected);
|
controlButton.SetActive(isSelected);
|
||||||
//Debug.Log("teamCharacterView Start,"+isSelected+","+listIndex);
|
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 单机team列表内对象时触发选定
|
/// 单机team列表内对象时触发选定
|
||||||
@@ -68,4 +62,5 @@ public class teamCharacterView : MonoBehaviour
|
|||||||
TeamManager.Instance.swapTeamElements(this.listIndex, this.listIndex - 1);
|
TeamManager.Instance.swapTeamElements(this.listIndex, this.listIndex - 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+48
-6
@@ -5,12 +5,23 @@ using utils;
|
|||||||
|
|
||||||
public class teamSettingPanel : MonoBehaviour
|
public class teamSettingPanel : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 编队页面顶父级对象,用于控制显示隐藏等操作
|
||||||
|
/// </summary>
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
public GameObject teamSettingPanelObj;
|
public GameObject teamSettingPanelObj;
|
||||||
|
/// <summary>
|
||||||
|
/// ui层编队显示,包含五个组件
|
||||||
|
/// </summary>
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
public GameObject[] teamElementsObj;
|
public GameObject[] teamElementsObj;
|
||||||
|
/// <summary>
|
||||||
|
/// 左侧角色选择页组件
|
||||||
|
/// </summary>
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
public GameObject[] teamCharactersObj;
|
public GameObject teamCharacterPrefab;
|
||||||
|
[SerializeField]
|
||||||
|
public GameObject teamCharacterViewContent;
|
||||||
|
|
||||||
private TeamManager teamManager;
|
private TeamManager teamManager;
|
||||||
|
|
||||||
@@ -47,15 +58,25 @@ public class teamSettingPanel : MonoBehaviour
|
|||||||
public void openTeamSettingPanel()
|
public void openTeamSettingPanel()
|
||||||
{
|
{
|
||||||
updateTeamSettingElements();
|
updateTeamSettingElements();
|
||||||
|
getSelectableCharacterList();
|
||||||
//根据获取的队伍信息处理ui组件
|
//根据获取的队伍信息处理ui组件
|
||||||
//可在此补充ui动画信息
|
//可在此补充ui动画信息
|
||||||
teamSettingPanelObj.SetActive(true);
|
teamSettingPanelObj.SetActive(true);
|
||||||
}
|
}
|
||||||
public void closeTeamSettingPanel()=>teamSettingPanelObj.SetActive(false);
|
|
||||||
|
public void closeTeamSettingPanel()
|
||||||
|
{
|
||||||
|
teamSettingPanelObj.SetActive(false);
|
||||||
|
Transform transform;
|
||||||
|
for (int i = 0; i < teamCharacterViewContent.transform.childCount; i++)
|
||||||
|
{
|
||||||
|
transform = teamCharacterViewContent.transform.GetChild(i);
|
||||||
|
GameObject.Destroy(transform.gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void updateTeamSettingElements()
|
public void updateTeamSettingElements()
|
||||||
{
|
{
|
||||||
//todo:向保存编队信息的类获取编队信息,然后重新处理teamElementsObj的信息
|
|
||||||
List<Character> currentTeam = teamManager.getCurrentSelectedTeam();
|
List<Character> currentTeam = teamManager.getCurrentSelectedTeam();
|
||||||
for (int i = 0; i < teamElementsObj.Length && i < currentTeam.Count; i++)
|
for (int i = 0; i < teamElementsObj.Length && i < currentTeam.Count; i++)
|
||||||
{
|
{
|
||||||
@@ -64,14 +85,35 @@ public class teamSettingPanel : MonoBehaviour
|
|||||||
teamCharacterView t = teamElementsObj[i].GetComponent<teamCharacterView>();
|
teamCharacterView t = teamElementsObj[i].GetComponent<teamCharacterView>();
|
||||||
if(t!=null)
|
if(t!=null)
|
||||||
{
|
{
|
||||||
t.charcterImg.sprite = FileUtils.getImage("TeamCharacters/TeamCharacterImg/" + currentTeam[i].name);
|
Sprite sprite;
|
||||||
t.levelIcon.sprite = FileUtils.getImage("TeamCharacters/levelIcon/level" + currentTeam[i].boundaryLevel);
|
sprite = FileUtils.getImage($"TeamCharacters/TeamCharacterImg/{currentTeam[i].name}");
|
||||||
|
t.charcterImg.sprite = sprite;
|
||||||
|
sprite = FileUtils.getImage($"TeamCharacters/levelIcon/level{currentTeam[i].boundaryLevel}");
|
||||||
|
t.levelIcon.sprite = sprite;
|
||||||
t.isLeader.SetActive(currentTeam[i].isLeader);
|
t.isLeader.SetActive(currentTeam[i].isLeader);
|
||||||
t.notLeader.SetActive(!currentTeam[i].isLeader);
|
t.notLeader.SetActive(!currentTeam[i].isLeader);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前可选入队伍的角色列表,并显示在界面上
|
||||||
|
/// </summary>
|
||||||
|
public void getSelectableCharacterList()
|
||||||
|
{
|
||||||
|
List<Character> selectAbleCharacters = teamManager.SelectableCharacterList;
|
||||||
|
foreach (Character c in selectAbleCharacters)
|
||||||
|
{
|
||||||
|
GameObject characterObj = Instantiate(teamCharacterPrefab, teamCharacterViewContent.transform);
|
||||||
|
CharacterCardView ccv = characterObj.GetComponent<CharacterCardView>();
|
||||||
|
if (ccv != null)
|
||||||
|
{
|
||||||
|
ccv.characterName = c.name;
|
||||||
|
ccv.characterImage.sprite = FileUtils.getImage($"TeamCharacters/CharacterImg/{c.name}");
|
||||||
|
ccv.levelIcon.sprite = FileUtils.getImage($"TeamCharacters/levelIcon/level{c.boundaryLevel}");
|
||||||
|
ccv.occupationIcon.sprite = FileUtils.getImage($"TeamCharacters/OccupationIcon/{c.occupation}");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 将当前角色向下交换位置
|
/// 将当前角色向下交换位置
|
||||||
@@ -6,22 +6,22 @@ using UnityEngine.UI;
|
|||||||
public class BeatmapManager : MonoBehaviour
|
public class BeatmapManager : MonoBehaviour
|
||||||
|
|
||||||
{
|
{
|
||||||
public Beatmap beatmap; // 当前谱面数据
|
public Beatmap beatmap; // 当前谱面数据
|
||||||
|
|
||||||
// 音符生成器引用
|
// 音符生成器引用
|
||||||
public NoteSpawner noteSpawner;
|
public NoteSpawner noteSpawner;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 保存谱面数据到 JSON 文件
|
// 保存谱面数据到 JSON 文件
|
||||||
//public void SaveBeatmap(string fileName)
|
//public void SaveBeatmap(string fileName)
|
||||||
//{
|
//{
|
||||||
// string json = JsonUtility.ToJson(beatmap, true); // 格式化 JSON 输出
|
// string json = JsonUtility.ToJson(beatmap, true); // 格式化 JSON 输出
|
||||||
// File.WriteAllText(Application.dataPath + "/" + fileName, json);
|
// File.WriteAllText(Application.dataPath + "/" + fileName, json);
|
||||||
// Debug.Log("谱面已保存:" + Application.dataPath + "/" + fileName);
|
// Debug.Log("谱面已保存:" + Application.dataPath + "/" + fileName);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
// 从 JSON 文件加载谱面数据
|
// 从 JSON 文件加载谱面数据
|
||||||
public void LoadBeatmap(string fileName)
|
public void LoadBeatmap(string fileName)
|
||||||
{
|
{
|
||||||
string path = Application.streamingAssetsPath + "/" + fileName;
|
string path = Application.streamingAssetsPath + "/" + fileName;
|
||||||
@@ -29,23 +29,23 @@ public class BeatmapManager : MonoBehaviour
|
|||||||
{
|
{
|
||||||
string json = File.ReadAllText(path);
|
string json = File.ReadAllText(path);
|
||||||
beatmap = JsonUtility.FromJson<Beatmap>(json);
|
beatmap = JsonUtility.FromJson<Beatmap>(json);
|
||||||
Debug.Log("谱面已加载:" + json);
|
Debug.Log("谱面已加载:" + json);
|
||||||
|
|
||||||
// 在加载后立即调用音符生成
|
// 在加载后立即调用音符生成
|
||||||
noteSpawner.LoadBeatmap(beatmap);
|
noteSpawner.LoadBeatmap(beatmap);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.LogError("文件不存在:" + path);
|
Debug.LogError("文件不存在:" + path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void LoadBeatmap(Beatmap loadedBeatmap)
|
public void LoadBeatmap(Beatmap loadedBeatmap)
|
||||||
{
|
{
|
||||||
beatmap = loadedBeatmap;
|
beatmap = loadedBeatmap;
|
||||||
Debug.Log("谱面已加载:" + beatmap.title);
|
Debug.Log("谱面已加载:" + beatmap.title);
|
||||||
|
|
||||||
// 在加载后立即调用音符生成
|
// 在加载后立即调用音符生成
|
||||||
noteSpawner.LoadBeatmap(beatmap);
|
noteSpawner.LoadBeatmap(beatmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,15 +56,15 @@ public class BeatmapManager : MonoBehaviour
|
|||||||
// {
|
// {
|
||||||
// string json = File.ReadAllText(path);
|
// string json = File.ReadAllText(path);
|
||||||
// Beatmap beatmap = JsonUtility.FromJson<Beatmap>(json);
|
// Beatmap beatmap = JsonUtility.FromJson<Beatmap>(json);
|
||||||
// beatmapManager.LoadBeatmap(beatmap); // 使用 LoadBeatmap 方法传递 Beatmap 对象
|
// beatmapManager.LoadBeatmap(beatmap); // 使用 LoadBeatmap 方法传递 Beatmap 对象
|
||||||
// }
|
// }
|
||||||
// else
|
// else
|
||||||
// {
|
// {
|
||||||
// Debug.LogError("文件不存在:" + path);
|
// Debug.LogError("文件不存在:" + path);
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
// 创建一个示例谱面并保存
|
// 创建一个示例谱面并保存
|
||||||
//public void CreateSampleBeatmap()
|
//public void CreateSampleBeatmap()
|
||||||
//{
|
//{
|
||||||
// beatmap = new Beatmap
|
// beatmap = new Beatmap
|
||||||
@@ -105,7 +105,7 @@ public class BeatmapManager : MonoBehaviour
|
|||||||
// SaveBeatmap("test_beatmap.json");
|
// SaveBeatmap("test_beatmap.json");
|
||||||
//}
|
//}
|
||||||
|
|
||||||
// 读取并加载当前谱面到音符生成器
|
// 读取并加载当前谱面到音符生成器
|
||||||
public void LoadBeatmapFromFile()
|
public void LoadBeatmapFromFile()
|
||||||
{
|
{
|
||||||
string path = Application.streamingAssetsPath + "/Emilia_demo.json";
|
string path = Application.streamingAssetsPath + "/Emilia_demo.json";
|
||||||
@@ -117,15 +117,15 @@ public class BeatmapManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.LogError("谱面文件未找到!");
|
Debug.LogError("谱面文件未找到!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 在 Start() 方法中初始化
|
// 在 Start() 方法中初始化
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
// 这里可以选择在启动时创建一个示例谱面并加载
|
// 这里可以选择在启动时创建一个示例谱面并加载
|
||||||
//CreateSampleBeatmap(); // 创建并保存一个示例谱面
|
//CreateSampleBeatmap(); // 创建并保存一个示例谱面
|
||||||
LoadBeatmap("Emilia_demo.json"); // 加载并实例化音符
|
LoadBeatmap("Emilia_demo.json"); // 加载并实例化音符
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ public class JudgeManager : MonoBehaviour
|
|||||||
private Dictionary<KeyCode, Queue<Note>> judgeQueues = new Dictionary<KeyCode, Queue<Note>>();
|
private Dictionary<KeyCode, Queue<Note>> judgeQueues = new Dictionary<KeyCode, Queue<Note>>();
|
||||||
private Dictionary<string, bool> startJudgedNotes = new Dictionary<string, bool>();
|
private Dictionary<string, bool> startJudgedNotes = new Dictionary<string, bool>();
|
||||||
private Dictionary<string, bool> releasedNotes = new Dictionary<string, bool>();
|
private Dictionary<string, bool> releasedNotes = new Dictionary<string, bool>();
|
||||||
// 记录 End 段的 scheduledEndTime(防止 End 被回收后仍然能判定)
|
// 记录 End 段的 scheduledEndTime(防止 End 被回收后仍然能判定)
|
||||||
private Dictionary<string, float> noteEndTimes = new Dictionary<string, float>();
|
private Dictionary<string, float> noteEndTimes = new Dictionary<string, float>();
|
||||||
|
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ public class JudgeManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 记录某个颜色的长音符 End 段的 scheduledEndTime
|
/// 记录某个颜色的长音符 End 段的 scheduledEndTime
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void RegisterScheduledEndTime(string noteColor, float endTime)
|
public void RegisterScheduledEndTime(string noteColor, float endTime)
|
||||||
{
|
{
|
||||||
@@ -34,7 +34,7 @@ public class JudgeManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取某个颜色的 End 段的 scheduledEndTime
|
/// 获取某个颜色的 End 段的 scheduledEndTime
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public float GetScheduledEndTime(string noteColor)
|
public float GetScheduledEndTime(string noteColor)
|
||||||
{
|
{
|
||||||
@@ -63,7 +63,7 @@ public class JudgeManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当音符进入判定区域时调用
|
/// 当音符进入判定区域时调用
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void RegisterNote(KeyCode key, Note note)
|
public void RegisterNote(KeyCode key, Note note)
|
||||||
{
|
{
|
||||||
@@ -77,7 +77,7 @@ public class JudgeManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当音符离开判定区域时调用
|
/// 当音符离开判定区域时调用
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void UnregisterNote(KeyCode key, Note note)
|
public void UnregisterNote(KeyCode key, Note note)
|
||||||
{
|
{
|
||||||
@@ -93,7 +93,7 @@ public class JudgeManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// **如果音符未被判定,则触发 Miss**
|
// **如果音符未被判定,则触发 Miss**
|
||||||
if (!n.IsJudged())
|
if (!n.IsJudged())
|
||||||
{
|
{
|
||||||
n.JudgeMiss();
|
n.JudgeMiss();
|
||||||
@@ -104,13 +104,13 @@ public class JudgeManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 按键按下时,判定队列中最早进入的音符
|
/// 按键按下时,判定队列中最早进入的音符
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void JudgeEarliestNote(KeyCode key)
|
public void JudgeEarliestNote(KeyCode key)
|
||||||
{
|
{
|
||||||
if (judgeQueues.ContainsKey(key) && judgeQueues[key].Count > 0)
|
if (judgeQueues.ContainsKey(key) && judgeQueues[key].Count > 0)
|
||||||
{
|
{
|
||||||
Note note = judgeQueues[key].Dequeue(); // 只取最早的音符
|
Note note = judgeQueues[key].Dequeue(); // 只取最早的音符
|
||||||
if (note != null && !note.IsJudged())
|
if (note != null && !note.IsJudged())
|
||||||
{
|
{
|
||||||
note.Judge();
|
note.Judge();
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ public class KeyBindingManager : MonoBehaviour
|
|||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
Debug.Log("KeyBindingManager Awake() 被调用,开始加载按键映射...");
|
Debug.Log("KeyBindingManager Awake() 被调用,开始加载按键映射...");
|
||||||
|
|
||||||
if (keyBindings.Count == 0)
|
if (keyBindings.Count == 0)
|
||||||
{
|
{
|
||||||
@@ -15,18 +15,18 @@ public class KeyBindingManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary> 获取颜色对应的按键 </summary>
|
/// <summary> 获取颜色对应的按键 </summary>
|
||||||
public static KeyCode GetKeyForColor(string color)
|
public static KeyCode GetKeyForColor(string color)
|
||||||
{
|
{
|
||||||
if (keyBindings.TryGetValue(color.ToLower(), out KeyCode key))
|
if (keyBindings.TryGetValue(color.ToLower(), out KeyCode key))
|
||||||
{
|
{
|
||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
Debug.LogError($"未找到颜色 {color} 对应的按键!请检查 KeyBindingManager 是否正确初始化。");
|
Debug.LogError($"未找到颜色 {color} 对应的按键!请检查 KeyBindingManager 是否正确初始化。");
|
||||||
return KeyCode.None;
|
return KeyCode.None;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary> 修改按键绑定 </summary>
|
/// <summary> 修改按键绑定 </summary>
|
||||||
public static void ChangeKeyBinding(string color, KeyCode newKey)
|
public static void ChangeKeyBinding(string color, KeyCode newKey)
|
||||||
{
|
{
|
||||||
if (keyBindings.ContainsKey(color.ToLower()))
|
if (keyBindings.ContainsKey(color.ToLower()))
|
||||||
@@ -41,7 +41,7 @@ public class KeyBindingManager : MonoBehaviour
|
|||||||
SaveKeyBindings();
|
SaveKeyBindings();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary> 存储按键绑定到 `PlayerPrefs` </summary>
|
/// <summary> 存储按键绑定到 `PlayerPrefs` </summary>
|
||||||
private static void SaveKeyBindings()
|
private static void SaveKeyBindings()
|
||||||
{
|
{
|
||||||
foreach (var kvp in keyBindings)
|
foreach (var kvp in keyBindings)
|
||||||
@@ -51,7 +51,7 @@ public class KeyBindingManager : MonoBehaviour
|
|||||||
PlayerPrefs.Save();
|
PlayerPrefs.Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary> 从 `PlayerPrefs` 加载按键绑定 </summary>
|
/// <summary> 从 `PlayerPrefs` 加载按键绑定 </summary>
|
||||||
private static void LoadKeyBindings()
|
private static void LoadKeyBindings()
|
||||||
{
|
{
|
||||||
string[] colors = { "red", "green", "yellow", "purple", "blue" };
|
string[] colors = { "red", "green", "yellow", "purple", "blue" };
|
||||||
@@ -69,6 +69,6 @@ public class KeyBindingManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Log("KeyBindings 初始化成功:" + string.Join(", ", keyBindings));
|
Debug.Log("KeyBindings 初始化成功:" + string.Join(", ", keyBindings));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ public class NoteController : MonoBehaviour
|
|||||||
{
|
{
|
||||||
private float speed;
|
private float speed;
|
||||||
private bool isMoving = true;
|
private bool isMoving = true;
|
||||||
private bool isInJudgeZone = false; // 判定区域标记
|
private bool isInJudgeZone = false; // 判定区域标记
|
||||||
|
|
||||||
private ParticleSystem hitEffect;
|
private ParticleSystem hitEffect;
|
||||||
private Note linkedNote;
|
private Note linkedNote;
|
||||||
@@ -59,7 +59,7 @@ public class NoteController : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 将 OnTriggerEnter2D 和 OnTriggerExit2D 挂载在 Controller 上
|
// 将 OnTriggerEnter2D 和 OnTriggerExit2D 挂载在 Controller 上
|
||||||
|
|
||||||
private void OnTriggerEnter2D(Collider2D collision)
|
private void OnTriggerEnter2D(Collider2D collision)
|
||||||
{
|
{
|
||||||
@@ -92,7 +92,7 @@ public class NoteController : MonoBehaviour
|
|||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 供 Note 查询是否处于判定区域
|
/// 供 Note 查询是否处于判定区域
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsInJudgeZone()
|
public bool IsInJudgeZone()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class TrackKeyManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当音符进入判定区域时,添加按键映射
|
/// 当音符进入判定区域时,添加按键映射
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void RegisterKey(int trackIndex, KeyCode key)
|
public void RegisterKey(int trackIndex, KeyCode key)
|
||||||
{
|
{
|
||||||
@@ -31,7 +31,7 @@ public class TrackKeyManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当音符离开判定区域时,移除按键映射
|
/// 当音符离开判定区域时,移除按键映射
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void UnregisterKey(int trackIndex, KeyCode key)
|
public void UnregisterKey(int trackIndex, KeyCode key)
|
||||||
{
|
{
|
||||||
@@ -45,7 +45,7 @@ public class TrackKeyManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取轨道当前的按键(队列头)
|
/// 获取轨道当前的按键(队列头)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public KeyCode GetCurrentKey(int trackIndex)
|
public KeyCode GetCurrentKey(int trackIndex)
|
||||||
{
|
{
|
||||||
@@ -53,6 +53,6 @@ public class TrackKeyManager : MonoBehaviour
|
|||||||
{
|
{
|
||||||
return trackKeyMappings[trackIndex].Peek();
|
return trackKeyMappings[trackIndex].Peek();
|
||||||
}
|
}
|
||||||
return KeyCode.None; // 无按键
|
return KeyCode.None; // 无按键
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user