(client) feat:实现热重载,实现多维度,实现武器,实现掉落物,实现状态UI,实现攻击AI #44

Merged
TheRedApricot merged 10 commits from zzdxxz/Gen_Hack-and-Slash-Roguelite-zzdxxz:temp820 into main 2025-08-27 19:56:50 +08:00
20 changed files with 8636 additions and 480 deletions
Showing only changes of commit 3e099137a1 - Show all commits

View File

@ -12,7 +12,6 @@ GameObject:
- component: {fileID: 6803973761688315705}
- component: {fileID: 7303780691383776844}
- component: {fileID: 2137672851208466200}
- component: {fileID: -6983149199180571386}
m_Layer: 5
m_Name: TextTemplate
m_TagString: Untagged
@ -37,7 +36,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -1.0921326, y: -54.256577}
m_SizeDelta: {x: 200, y: 0}
m_SizeDelta: {x: 200, y: 14.01}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &6803973761688315705
CanvasRenderer:
@ -151,17 +150,3 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
text: {fileID: 7303780691383776844}
--- !u!114 &-6983149199180571386
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 27210933623785530}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 2

View File

@ -610,7 +610,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &4227482396833377269
RectTransform:
m_ObjectHideFlags: 0
@ -670,8 +670,12 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c83e72721411938449d92dd48c76480d, type: 3}
m_Name:
m_EditorClassIdentifier:
exclusive: 1
needPause: 1
isInputOccupied: 0
actionButton: 0
menuContent: {fileID: 4435203021089737161}
entityPlacementUI: {fileID: 0}
textTemplate: {fileID: 2137672851208466200, guid: 4572fd0db4eb91d4588451064f59c91b, type: 3}
buttonTemplate: {fileID: 3166707847097429176, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
--- !u!1 &7647974983068761971
@ -885,7 +889,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 1929317511491337533}
m_Direction: 0
m_Value: 0
m_Size: 0.99999994
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:

View File

@ -17,7 +17,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &1633840166558733415
RectTransform:
m_ObjectHideFlags: 0
@ -32,6 +32,7 @@ RectTransform:
m_Children:
- {fileID: 2054715303808414256}
- {fileID: 5084767838786362069}
- {fileID: 2831061748208868200}
- {fileID: 5683899746708222069}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -108,7 +109,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMin.x
@ -116,7 +117,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMin.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_SizeDelta.x
@ -156,11 +157,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchoredPosition.x
value: 399.99997
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchoredPosition.y
value: -184.99998
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@ -216,7 +217,7 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
m_PrefabInstance: {fileID: 861726664512651295}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &5901437432862894330
--- !u!1001 &3476590699529562439
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@ -226,7 +227,7 @@ PrefabInstance:
m_Modifications:
- target: {fileID: 190104900697248908, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_Name
value: settings
value: mainMenu
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_Pivot.x
@ -242,7 +243,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMin.x
@ -250,7 +251,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMin.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_SizeDelta.x
@ -290,11 +291,145 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchoredPosition.x
value: 399.99997
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchoredPosition.y
value: -224.99998
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5723833987058492246, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_text
value: "\u8FD4\u56DE\u4E3B\u83DC\u5355"
objectReference: {fileID: 0}
- target: {fileID: 8827200521422920569, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8827200521422920569, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8827200521422920569, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 4955394867221047595}
- target: {fileID: 8827200521422920569, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState
value: 2
objectReference: {fileID: 0}
- target: {fileID: 8827200521422920569, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
value: ReturnMainMenu
objectReference: {fileID: 0}
- target: {fileID: 8827200521422920569, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
value: UI.EscUI, Assembly-CSharp
objectReference: {fileID: 0}
- target: {fileID: 8827200521422920569, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
value: UnityEngine.Object, UnityEngine
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
--- !u!224 &2831061748208868200 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
m_PrefabInstance: {fileID: 3476590699529562439}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &5901437432862894330
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1633840166558733415}
m_Modifications:
- target: {fileID: 190104900697248908, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_Name
value: settings
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_SizeDelta.x
value: 160
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_SizeDelta.y
value: 30
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@ -380,7 +515,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMin.x
@ -388,7 +523,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchorMin.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_SizeDelta.x
@ -428,11 +563,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchoredPosition.x
value: 399.99997
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_AnchoredPosition.y
value: -265
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1690722858018107951, guid: f0afd08be12de0d43af753af4f618da4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 6846a4c7db6ab7e49812b377bdf8df7d
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -334,145 +334,57 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &466785510
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 466785511}
m_Layer: 0
m_Name: BulletLevel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &466785511
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 466785510}
serializedVersion: 2
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: 1423222968}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &603423466
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 603423468}
- component: {fileID: 603423467}
- component: {fileID: 603423470}
- component: {fileID: 603423469}
m_Layer: 0
m_Name: Launcher
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &603423467
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 603423466}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b87e0a61112e899429b941b1dcb30018, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &603423468
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 603423466}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 858.25885, y: 700.2468, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &603423469
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 603423466}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cd0367766d04d8c4db80bcfe0202e619, type: 3}
m_Name:
m_EditorClassIdentifier:
isGlobal: 1
--- !u!114 &603423470
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 603423466}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 66ec6c65c80a43e799c1cb67fc9f7691, type: 3}
m_Name:
m_EditorClassIdentifier:
isGlobal: 1
--- !u!1 &651025902
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 651025903}
m_Layer: 0
m_Name: BuildingLevel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &651025903
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 651025902}
serializedVersion: 2
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: 1423222968}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!224 &689345800 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2322698135530781468, guid: afbed11ea0c7e944aa36a71951b00ad6, type: 3}
m_PrefabInstance: {fileID: 3215589691918074709}
m_PrefabAsset: {fileID: 0}
--- !u!1 &719498455
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 719498457}
- component: {fileID: 719498456}
m_Layer: 0
m_Name: CameraController
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &719498456
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 719498455}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f749a65b381541fab3f5dd5e487a457b, type: 3}
m_Name:
m_EditorClassIdentifier:
isGlobal: 1
focusedEntity: {fileID: 0}
--- !u!4 &719498457
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 719498455}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 971.50616, y: 453.6335, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &741561706
GameObject:
m_ObjectHideFlags: 0
@ -482,7 +394,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 741561707}
- component: {fileID: 741561708}
m_Layer: 0
m_Name: map
m_TagString: Untagged
@ -506,13 +417,45 @@ Transform:
- {fileID: 1084213391}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &741561708
--- !u!1 &799638468
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 799638469}
- component: {fileID: 799638470}
m_Layer: 0
m_Name: MapGenerator
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &799638469
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 799638468}
serializedVersion: 2
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &799638470
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 741561706}
m_GameObject: {fileID: 799638468}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 81339b242c794b8d9d28d7111a46bfbf, type: 3}
@ -684,53 +627,6 @@ TilemapCollider2D:
m_MaximumTileChangeCount: 1000
m_ExtrusionFactor: 0
m_UseDelaunayMesh: 0
--- !u!1 &904176939
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 904176941}
- component: {fileID: 904176940}
m_Layer: 0
m_Name: RightMenu
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &904176940
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 904176939}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 409b8017bbd6443eb2dde17ea6fd5e29, type: 3}
m_Name:
m_EditorClassIdentifier:
isGlobal: 1
_canvas: {fileID: 0}
_rightMenuPrefab: {fileID: 0}
--- !u!4 &904176941
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 904176939}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 905.6242, y: 443.88705, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1084213390
GameObject:
m_ObjectHideFlags: 0
@ -896,7 +792,6 @@ GameObject:
- component: {fileID: 1239746126}
- component: {fileID: 1239746125}
- component: {fileID: 1239746124}
- component: {fileID: 1239746128}
m_Layer: 0
m_Name: Camera
m_TagString: MainCamera
@ -1022,59 +917,11 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1239746128
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1239746123}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f749a65b381541fab3f5dd5e487a457b, type: 3}
m_Name:
m_EditorClassIdentifier:
isGlobal: 1
focusedEntity: {fileID: 0}
--- !u!224 &1401161120 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 1633840166558733415, guid: 97884168f61531647ba02870b2e2160f, type: 3}
m_PrefabInstance: {fileID: 561707863834017811}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1423222967
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1423222968}
m_Layer: 0
m_Name: Entity
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1423222968
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1423222967}
serializedVersion: 2
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: 1891846100}
- {fileID: 651025903}
- {fileID: 466785511}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1468918169
GameObject:
m_ObjectHideFlags: 0
@ -1136,37 +983,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 22c2554b0c0949aab37618f3a80ffe5a, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1891846098
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1891846100}
m_Layer: 0
m_Name: EntityLevel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1891846100
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1891846098}
serializedVersion: 2
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: 1423222968}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!224 &1892335252 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 4227482396833377269, guid: 72cde32427f7d914692a7b0d22fb791d, type: 3}
@ -1470,10 +1286,78 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2054715303808414256, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2054715303808414256, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2054715303808414256, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchoredPosition.x
value: 399.99997
objectReference: {fileID: 0}
- target: {fileID: 2054715303808414256, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchoredPosition.y
value: -164.99998
objectReference: {fileID: 0}
- target: {fileID: 2831061748208868200, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2831061748208868200, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2831061748208868200, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchoredPosition.x
value: 399.99997
objectReference: {fileID: 0}
- target: {fileID: 2831061748208868200, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchoredPosition.y
value: -244.99998
objectReference: {fileID: 0}
- target: {fileID: 3530227357112532485, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_Name
value: EscUI
objectReference: {fileID: 0}
- target: {fileID: 3530227357112532485, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5084767838786362069, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5084767838786362069, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5084767838786362069, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchoredPosition.x
value: 399.99997
objectReference: {fileID: 0}
- target: {fileID: 5084767838786362069, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchoredPosition.y
value: -204.99998
objectReference: {fileID: 0}
- target: {fileID: 5683899746708222069, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5683899746708222069, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5683899746708222069, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchoredPosition.x
value: 399.99997
objectReference: {fileID: 0}
- target: {fileID: 5683899746708222069, guid: 97884168f61531647ba02870b2e2160f, type: 3}
propertyPath: m_AnchoredPosition.y
value: -285
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@ -1839,11 +1723,10 @@ SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1239746127}
- {fileID: 1236970686}
- {fileID: 323725409}
- {fileID: 741561707}
- {fileID: 1236970686}
- {fileID: 603423468}
- {fileID: 164739122}
- {fileID: 1423222968}
- {fileID: 111982858}
- {fileID: 904176941}
- {fileID: 799638469}
- {fileID: 164739122}
- {fileID: 719498457}

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,7 @@ using System.Collections;
using Logging;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace Base
{
@ -58,11 +59,19 @@ namespace Base
private void Start()
{
if (!Program.Instance.needLoad)
return;
Base.Setting.Instance.Init();
#if !DEBUG
duration = Base.Setting.Instance.progressStepDuration;
fadeDuration = Base.Setting.Instance.exitAnimationDuration;
duration = Base.Setting.Instance.CurrentSettings.progressStepDuration;
fadeDuration = Base.Setting.Instance.CurrentSettings.exitAnimationDuration;
#endif
Load();
Program.Instance.needLoad = false;
}
public void Load()
{
loadingUI.SetActive(true);
textColor = describeText.color;
StartCoroutine(LoadAllManagers());
@ -72,17 +81,35 @@ namespace Base
{
for (var i = 0; i < _loadingSteps.Length; i++)
{
// 更新描述文本
// 更新描述文本放在try外部
describeText.text = _loadingSteps[i];
// 获取当前阶段的目标进度
var targetProgress = (float)(i + 1) / _loadingSteps.Length;
// 平滑过渡到下一个阶段
// 平滑过渡到下一个阶段放在try外部
yield return SmoothTransitionTo(targetProgress);
// 初始化对应的管理器
switch (i)
// 初始化对应的管理器(使用单独的方法处理可能抛出的异常)
yield return InitializeManagerSafely(i);
}
// 加载完成后的处理
describeText.text = "加载完成!";
Progress = 1f;
// 开始渐隐效果
yield return FadeOutProgressBar();
}
private IEnumerator InitializeManagerSafely(int stepIndex)
{
bool initSuccess = false;
System.Exception initException = null;
try
{
switch (stepIndex)
{
case 0:
UnityLogger.Init();
@ -103,16 +130,25 @@ namespace Base
Managers.ItemResourceManager.Instance.Init();
break;
}
initSuccess = true;
}
catch (System.Exception ex)
{
initException = ex;
}
// 加载完成后的处理
describeText.text = "加载完成!";
Progress = 1f;
if (!initSuccess && initException != null)
{
Debug.LogError($"初始化第 {stepIndex + 1} 个管理器时出错: {initException.Message}\n{initException.StackTrace}");
describeText.text = $"{_loadingSteps[stepIndex]} (初始化失败)";
// 这里可以添加重试逻辑
// yield return RetryInitialize(stepIndex);
}
// 开始渐隐效果
yield return FadeOutProgressBar();
// 确保协程继续执行
yield return null;
}
private IEnumerator SmoothTransitionTo(float targetProgress)
{
var startProgress = _currentProgress;
@ -146,5 +182,10 @@ namespace Base
Opacity = 0f;
loadingUI.SetActive(false);
}
public static void ToScene(string scene)
{
SceneManager.LoadScene(scene);
}
}
}

View File

@ -64,6 +64,11 @@ namespace Base
ApplyWindowSettings();
}
public void Apply()
{
ApplyAudioSettings();
ApplyWindowSettings();
}
// 应用音频设置
private void ApplyAudioSettings()
{

View File

@ -121,6 +121,21 @@ namespace Base
needUpdate = true;
}
public void Show(string uiName)
{
foreach (var window in _allWindows)
{
if (window.name == uiName)
{
Show(window);
return;
}
}
Debug.LogWarning($"未找到窗口{uiName}");
}
/// <summary>
/// 公开的隐藏窗口方法
/// </summary>
@ -133,7 +148,25 @@ namespace Base
windowToHide.Hide();
needUpdate = true;
}
public void Hide(string uiName)
{
foreach (var visibleWindow in _visibleWindows)
{
if (visibleWindow.name == uiName)
{
Hide(visibleWindow);
break;
}
}
}
public void HideAll()
{
foreach (var visibleWindow in _visibleWindows)
{
Hide(visibleWindow);
}
}
/// <summary>
/// 根据当前所有可见窗口的 needPause 属性来更新游戏时钟的暂停状态
/// </summary>

View File

@ -37,7 +37,7 @@ namespace Managers
var pack = Managers.DefineManager.Instance.GetDefinePackage(ima);
var path = Path.Combine(pack.packRootPath, ima.path);
var texture = Configs.ConfigProcessor.LoadTextureByIO(path);
if (texture == null)
if (!texture)
continue;
var packId = ima.packID;

View File

@ -13,8 +13,15 @@ namespace Map
public void Start()
{
var perline= Utils.PerlinNoise.Instance;
int size = 100;
var size = 100;
baseLevel.InitializeData(size, size);
for (var i = 0; i < size; i++) {
for (var j = 0; j < size; j++) {
var dx = i - size/2;
var dy = j - size/2;
baseLevel.mapData[i][j] = (int)(Math.Sqrt(dx*dx + dy*dy) / 5) & 1;
}
}
baseLevel.RefreshAllTiles();
}

View File

@ -0,0 +1,43 @@
using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Prefab
{
// [RequireComponent(typeof(CircleCollider2D))]
public class HoverButtonPrefab:MonoBehaviour
{
public TMP_Text text;
public Button button;
// public CircleCollider2D circleCollider;
public float startRadius = 250;
public float endRadius = 100;
private void Start()
{
// circleCollider.radius=startRadius;
}
public void OnMouseOver()
{
var dir= (Input.mousePosition - transform.position).magnitude;
var color = button.image.color;
color.a = Mathf.Min((startRadius - dir) / (startRadius - endRadius), 1);
button.image.color = color;
}
public void OnMouseEnter()
{
button.gameObject.SetActive(true);
}
public void OnMouseExit()
{
button.gameObject.SetActive(false);
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: cda5c2669c504f77bb60cdd9ce591e63
timeCreated: 1755663454

View File

@ -1,18 +1,7 @@
using Logging;
using UnityEngine;
public class Program : MonoBehaviour
public class Program : Utils.Singleton<Program>
{
private void Awake()
{
UnityLogger.Init();
Managers.DefineManager.Instance.Init();
Managers.PackagesImageManager.Instance.Init();
Managers.TileManager.Instance.Init();
}
private void Start()
{
Debug.Log("Starting game...");
}
public bool needLoad = true;
}

View File

@ -1,7 +1,9 @@
using System.Collections.Generic;
using System.Linq;
using Base;
using Data;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
namespace UI
@ -22,12 +24,19 @@ namespace UI
private void Init()
{
InitReloadGameButton();
InitEvent();
InitCharacter();
InitMonster();
InitBuilding();
}
private void InitReloadGameButton()
{
var button = InstantiatePrefab(buttonTemplate, menuContent.transform);
button.Label = "热重载Def";
button.AddListener(HotReload);
}
private void InitEvent()
{
@ -162,6 +171,13 @@ namespace UI
entityPlacementUI.snapEnabled = true;
Base.UIInputControl.Instance.Show(entityPlacementUI);
}
private void HotReload()
{
UIInputControl.Instance.HideAll();
Program.Instance.needLoad = true;
SceneManager.LoadScene(0);
}
}
}

View File

@ -1,4 +1,6 @@
using Base;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace UI
{
@ -9,7 +11,7 @@ namespace UI
Base.UIInputControl.Instance.Hide(this);
}
public void ExitButton()
public static void ExitButton()
{
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false; // 停止编辑器播放模式
@ -18,9 +20,16 @@ namespace UI
#endif
}
public void SettingsButton()
public static void SettingsButton()
{
UIInputControl.Instance.Show("SettingUI");
}
public static void ReturnMainMenu()
{
if (SceneManager.GetActiveScene().buildIndex == 0)
return;
SceneManager.LoadScene(0);
}
}
}

View File

@ -0,0 +1,72 @@
using System.Globalization;
using Base;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace UI
{
public class SettingUI : UIBase
{
[SerializeField] private Scrollbar globalVolume;
[SerializeField] private Toggle developerMode;
[SerializeField] private Toggle friendlyFire;
[SerializeField] private TMP_Dropdown windowMode;
[SerializeField] private TMP_Dropdown windowResolution;
[SerializeField] private TMP_InputField progressStepDuration;
[SerializeField] private TMP_InputField exitAnimationDuration;
Base.Setting.GameSettings currentSettings;
public override void Show()
{
base.Show();
currentSettings = Base.Setting.Instance.CurrentSettings;
globalVolume.value = currentSettings.globalVolume;
developerMode.isOn = currentSettings.developerMode;
friendlyFire.isOn = currentSettings.friendlyFire;
progressStepDuration.text = currentSettings.progressStepDuration.ToString(CultureInfo.InvariantCulture);
exitAnimationDuration.text = currentSettings.exitAnimationDuration.ToString(CultureInfo.InvariantCulture);
windowResolution.ClearOptions();
var options = new System.Collections.Generic.List<TMP_Dropdown.OptionData>();
foreach (var resolution in Base.Setting.CommonResolutions)
{
options.Add(new TMP_Dropdown.OptionData(resolution.ToString()));
}
windowResolution.AddOptions(options);
if (currentSettings.windowResolution != null)
{
int resolutionIndex = System.Array.FindIndex(Base.Setting.CommonResolutions, r => r == currentSettings.windowResolution);
windowResolution.value = resolutionIndex >= 0 ? resolutionIndex : 0;
}
else
{
windowResolution.value = 0;
}
}
public void CancelSettings()
{
UIInputControl.Instance.Hide(this);
}
public void ApplySettings()
{
currentSettings.globalVolume = globalVolume.value;
currentSettings.developerMode = developerMode.isOn;
currentSettings.friendlyFire = friendlyFire.isOn;
currentSettings.currentWindowMode = (Base.Setting.WindowMode)windowMode.value;
currentSettings.windowResolution = Base.Setting.CommonResolutions[windowResolution.value];
currentSettings.progressStepDuration = float.Parse(progressStepDuration.text, CultureInfo.InvariantCulture);
currentSettings.exitAnimationDuration = float.Parse(exitAnimationDuration.text, CultureInfo.InvariantCulture);
Base.Setting.Instance.CurrentSettings = currentSettings;
Base.Setting.Instance.Apply();
}
public void EnterSetting()
{
ApplySettings();
UIInputControl.Instance.Hide(this);
Base.Setting.Instance.SaveSettings();
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7f4127efa613491894a9b1a7e9918a26
timeCreated: 1755600172

View File

@ -5,12 +5,12 @@ EditorBuildSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Scenes:
- enabled: 0
path: Assets/Scenes/Game.unity
guid: 5995047d2fd0f65408e4a7910dca711a
- enabled: 1
path: Assets/Scenes/Initiate.unity
guid: 843cfe07c63263c42bae7362250d568e
- enabled: 1
path: Assets/Scenes/Game.unity
guid: 5995047d2fd0f65408e4a7910dca711a
m_configObjects:
com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3}
m_UseUCBPForAssetBundles: 0