diff --git a/.gitignore b/.gitignore index bd8d711..bdea508 100644 --- a/.gitignore +++ b/.gitignore @@ -91,4 +91,5 @@ Assets/GameMain/Configs/ResourceBuilder.xml /.dotnet /.omx /.vscode -/openspec/changes/archive \ No newline at end of file +/openspec/changes/archive +/.omc diff --git a/Assets/GameMain/DataTables/Enemy.txt b/Assets/GameMain/DataTables/Enemy.txt index be2eeb8..60d7698 100644 --- a/Assets/GameMain/DataTables/Enemy.txt +++ b/Assets/GameMain/DataTables/Enemy.txt @@ -1,6 +1,10 @@ -# 敌人基础属性表 -# Id EntityTypeId MaxHealth HpAddPerLevel AttackDamage AttackCooldown AttackRange Speed CoinDrop ExpDrop DropPercent Params -# int int int int int float float float int int float string -# 敌人编号 策划备注 实体编号 最大生命 每关卡增加生命 基础伤害 攻击间隔 攻击范围 移动速度 金币掉落 经验掉落 掉落概率 额外参数 - 1 近战敌人 101 50 50 1 1 1.5 3 5 1 0.3 [] - 2 远程敌人 102 40 40 1 2 8 2.5 4 2 0.2 [] +# Id 策划备注 EntityId MaxHealth HpAddPerLevel AttackDamage AttackCooldown AttackRange Speed CoinDrop ExpDrop DropPercent Scale Color Params +# int int int int int float float float int int float float string string +# 敌人编号 策划备注 实体编号 最大生命 每关卡增加生命 基础伤害 攻击间隔 攻击范围 移动速度 金币掉落 经验掉落 掉落概率 缩放 颜色 额外参数 + 1 近战敌人 101 50 50 1 1 1.5 3 5 1 0.3 1 #44FF44 [] + 2 远程敌人 102 40 40 1 2 8 2.5 4 2 0.2 1 #FF44FF [] + 3 蝙蝠(快) 101 20 15 1 0.8 1.2 6 3 1 0.4 0.5 #FF4444 [] + 4 骷髅兵(中) 101 80 60 2 1.2 1.8 2.5 6 2 0.3 1.3 #CCCCCC [] + 5 骷髅巨人(坦克) 101 200 120 3 2.5 2.5 1.5 10 3 0.25 2 #888888 [] + 6 幽灵(远程变体) 102 30 25 1 1.5 10 3 5 2 0.3 0.8 #88CCFF [] + 7 火焰法师(远程精英) 102 60 45 2 1 12 2 8 3 0.2 1.2 #FF8800 [] diff --git a/Assets/GameMain/DataTables/Level.txt b/Assets/GameMain/DataTables/Level.txt index 43a1f10..d2f8582 100644 --- a/Assets/GameMain/DataTables/Level.txt +++ b/Assets/GameMain/DataTables/Level.txt @@ -1,14 +1,13 @@ -# 关卡配置表 -# Id EnemyTypes EntityCounts Interval Duration +# Id 列1 EnemyTypes EntityCounts Interval Duration # int int[] int[] float[] int # 关卡号 策划备注 敌人类型 每次出怪数量 每次出怪间隔 关卡时间 - 1 第一关 [1,2] [5,2] [4,5] 60 - 2 第二关 [1] [10] [3] 60 - 3 第三关 [1] [10] [3] 60 - 4 第四关 [1] [10] [3] 60 - 5 第五关 [1] [10] [3] 60 - 6 第六关 [1] [10] [3] 60 - 7 第七关 [1] [10] [3] 60 - 8 第八关 [1] [10] [3] 60 - 9 第九关 [1] [10] [3] 60 - 10 第十关 [1] [10] [3] 60 + 1 第一关-新手引导 [1,2] [5,2] [4,5] 60 + 2 第二关-纯近战试炼 [1] [8] [3.5] 60 + 3 第三关-蝙蝠来袭 [1,3] [6,4] [3.5,3] 60 + 4 第四关-骷髅军团 [4,2] [6,4] [3,4] 60 + 5 第五关-近战海 [1,3] [10,5] [2.5,2] 60 + 6 第六关-幽灵之森 [4,6] [6,5] [3,3.5] 70 + 7 第七关-游击战 [3,6] [5,4] [3,3] 70 + 8 第八关-精英登场 [1,5,7] [8,2,3] [3,8,5] 80 + 9 第九关-生存极限 [4,5,7] [8,3,4] [2.5,6,3] 90 + 10 第十关-最终决战 [3,5,6,7] [10,3,5,4] [2,8,3,4] 120 diff --git a/Assets/GameMain/Entities/BulletHandgun.prefab b/Assets/GameMain/Entities/BulletHandgun.prefab index 1d83056..12ee07d 100644 --- a/Assets/GameMain/Entities/BulletHandgun.prefab +++ b/Assets/GameMain/Entities/BulletHandgun.prefab @@ -62,7 +62,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + - {fileID: 2100000, guid: 28c42f88cfe56e84e95c0d7545db8c1b, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 diff --git a/Assets/GameMain/Entities/MeleeEnemy.prefab b/Assets/GameMain/Entities/MeleeEnemy.prefab index 1d6c23a..be6adfb 100644 --- a/Assets/GameMain/Entities/MeleeEnemy.prefab +++ b/Assets/GameMain/Entities/MeleeEnemy.prefab @@ -11,9 +11,9 @@ GameObject: - component: {fileID: 7683855655592166216} - component: {fileID: 6418687210998749921} - component: {fileID: 4710806460657047075} - - component: {fileID: 1932268889601128120} - component: {fileID: 557030043145096197} - component: {fileID: 6353753365317756414} + - component: {fileID: 6116132977524560380} m_Layer: 8 m_Name: MeleeEnemy m_TagString: Untagged @@ -43,7 +43,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9166462022471897675} - m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!23 &4710806460657047075 MeshRenderer: m_ObjectHideFlags: 0 @@ -64,7 +64,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 83e5fce2d1e5b3e4ab6551de03cc9c22, type: 2} + - {fileID: 2100000, guid: 429ed03405bf8854eab46552b7470ac0, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -86,29 +86,6 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!136 &1932268889601128120 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9166462022471897675} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 5376 - m_LayerOverridePriority: 0 - m_IsTrigger: 1 - m_ProvidesContacts: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Radius: 0.5 - m_Height: 2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} --- !u!114 &557030043145096197 MonoBehaviour: m_ObjectHideFlags: 0 @@ -140,3 +117,24 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ce4964a40efccaa4fb22df63713b567b, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!65 &6116132977524560380 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9166462022471897675} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 0 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/GameMain/Entities/Player.prefab b/Assets/GameMain/Entities/Player.prefab index 8e8b24f..caa909f 100644 --- a/Assets/GameMain/Entities/Player.prefab +++ b/Assets/GameMain/Entities/Player.prefab @@ -150,13 +150,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5383497626468778460} serializedVersion: 2 - m_LocalRotation: {x: 0.5, y: 0, z: 0, w: 0.8660254} - m_LocalPosition: {x: 0, y: 15, z: -10} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 10, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 9112716898534404901} - m_LocalEulerAnglesHint: {x: 60, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!20 &4064848608618185461 Camera: m_ObjectHideFlags: 0 @@ -189,10 +189,10 @@ Camera: width: 1 height: 1 near clip plane: 0.3 - far clip plane: 200 + far clip plane: 50 field of view: 80 - orthographic: 0 - orthographic size: 15 + orthographic: 1 + orthographic size: 10 m_Depth: 0 m_CullingMask: serializedVersion: 2 @@ -506,7 +506,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f754cc5f339dcfa4aaec3aa32260c4b8, type: 3} m_Name: m_EditorClassIdentifier: - _isListening: 0 _direction: {x: 0, y: 0, z: 0} --- !u!114 &5456587199021485293 MonoBehaviour: diff --git a/Assets/GameMain/Entities/RemoteEnemy.prefab b/Assets/GameMain/Entities/RemoteEnemy.prefab index 4facb8d..997e3bb 100644 --- a/Assets/GameMain/Entities/RemoteEnemy.prefab +++ b/Assets/GameMain/Entities/RemoteEnemy.prefab @@ -11,9 +11,9 @@ GameObject: - component: {fileID: 7683855655592166216} - component: {fileID: 6418687210998749921} - component: {fileID: 4710806460657047075} - - component: {fileID: 1932268889601128120} - component: {fileID: 557030043145096197} - component: {fileID: 6353753365317756414} + - component: {fileID: 7797040268675747267} m_Layer: 8 m_Name: RemoteEnemy m_TagString: Untagged @@ -43,7 +43,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9166462022471897675} - m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} --- !u!23 &4710806460657047075 MeshRenderer: m_ObjectHideFlags: 0 @@ -86,29 +86,6 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!136 &1932268889601128120 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9166462022471897675} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Radius: 0.5 - m_Height: 2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} --- !u!114 &557030043145096197 MonoBehaviour: m_ObjectHideFlags: 0 @@ -140,3 +117,24 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ce4964a40efccaa4fb22df63713b567b, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!135 &7797040268675747267 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9166462022471897675} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 0 + serializedVersion: 3 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/GameMain/Materials/InstancingGrey.mat b/Assets/GameMain/Materials/InstancingGrey.mat deleted file mode 100644 index 87cc500..0000000 --- a/Assets/GameMain/Materials/InstancingGrey.mat +++ /dev/null @@ -1,136 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: InstancingGrey - m_Shader: {fileID: 4800000, guid: f17bc7e2694233349a8b22e96c5c43de, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 1 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BlendOp: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _FlashAmount: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _SampleGI: 0 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _Color: {r: 1, g: 0.29245266, b: 0.29245266, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _FlashColor: {r: 1, g: 1, b: 1, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] ---- !u!114 &4582237545370899445 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 7 diff --git a/Assets/GameMain/Materials/InstancingGrey.mat.meta b/Assets/GameMain/Materials/InstancingGrey.mat.meta deleted file mode 100644 index ab4237d..0000000 --- a/Assets/GameMain/Materials/InstancingGrey.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 83e5fce2d1e5b3e4ab6551de03cc9c22 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/GameMain/Scenes/Game.unity b/Assets/GameMain/Scenes/Game.unity index 42b3eee..d23a7fa 100644 --- a/Assets/GameMain/Scenes/Game.unity +++ b/Assets/GameMain/Scenes/Game.unity @@ -155,6 +155,124 @@ Transform: - {fileID: 1087406913} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &137790493 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 137790496} + - component: {fileID: 137790495} + - component: {fileID: 137790494} + m_Layer: 0 + m_Name: Point Light 4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &137790494 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137790493} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 1 +--- !u!108 &137790495 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137790493} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 2 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 80 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &137790496 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137790493} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: -25, y: 5, z: -25} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!1 &203844586 GameObject: m_ObjectHideFlags: 0 @@ -208,7 +326,7 @@ Light: m_Type: 1 m_Shape: 0 m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 + m_Intensity: 0.3 m_Range: 10 m_SpotAngle: 30 m_InnerSpotAngle: 21.80208 @@ -266,13 +384,249 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 203844586} serializedVersion: 2 - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 10, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1 &441607098 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 441607101} + - component: {fileID: 441607100} + - component: {fileID: 441607099} + m_Layer: 0 + m_Name: Point Light 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &441607099 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 441607098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 1 +--- !u!108 &441607100 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 441607098} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 2 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 80 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &441607101 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 441607098} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 25, y: 5, z: 25} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1 &950467805 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 950467808} + - component: {fileID: 950467807} + - component: {fileID: 950467806} + m_Layer: 0 + m_Name: Point Light 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &950467806 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 950467805} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 1 +--- !u!108 &950467807 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 950467805} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 2 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 80 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &950467808 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 950467805} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: -25, y: 5, z: 25} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!1 &1087406912 GameObject: m_ObjectHideFlags: 0 @@ -428,10 +782,251 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1173691247 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1173691250} + - component: {fileID: 1173691249} + - component: {fileID: 1173691248} + m_Layer: 0 + m_Name: Point Light 0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1173691248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1173691247} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 1 +--- !u!108 &1173691249 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1173691247} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 2 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 80 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1173691250 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1173691247} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1 &1176859345 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1176859348} + - component: {fileID: 1176859347} + - component: {fileID: 1176859346} + m_Layer: 0 + m_Name: Point Light 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1176859346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1176859345} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 1 +--- !u!108 &1176859347 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1176859345} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 2 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 80 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1176859348 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1176859345} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 25, y: 5, z: -25} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 203844589} + - {fileID: 1173691250} + - {fileID: 441607101} + - {fileID: 1176859348} + - {fileID: 950467808} + - {fileID: 137790496} - {fileID: 1160234427} - {fileID: 3561987} diff --git a/Assets/GameMain/Scripts/Base/DataTable/DREnemy.cs b/Assets/GameMain/Scripts/Base/DataTable/DREnemy.cs index 7e99a7b..31a6ca7 100644 --- a/Assets/GameMain/Scripts/Base/DataTable/DREnemy.cs +++ b/Assets/GameMain/Scripts/Base/DataTable/DREnemy.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using UnityEngine; using UnityGameFramework.Runtime; namespace SepCore.DataTable @@ -30,6 +31,10 @@ namespace SepCore.DataTable public float DropPercent { get; private set; } + public float Scale { get; private set; } = 1f; + + public Color Color { get; private set; } = Color.white; + public Dictionary Params { get; private set; } public override bool ParseDataRow(string dataRowString, object userData) @@ -50,17 +55,23 @@ namespace SepCore.DataTable DropCoin = int.Parse(columnStrings[index++]); DropExp = int.Parse(columnStrings[index++]); DropPercent = float.Parse(columnStrings[index++]); + Scale = float.Parse(columnStrings[index++]); + Color = ParseColor(columnStrings[index++]); Params = DeserializeParams(columnStrings[index++]); return true; } - /// - /// 解参数 - /// - /// - /// - /// + private static Color ParseColor(string raw) + { + if (ColorUtility.TryParseHtmlString(raw.Trim(), out Color color)) + { + return color; + } + + return Color.white; + } + private Dictionary DeserializeParams(string rawParams) { if (!rawParams.StartsWith('[') || !rawParams.EndsWith(']')) diff --git a/Assets/GameMain/Scripts/Base/Definition/Enum/EnemyType.cs b/Assets/GameMain/Scripts/Base/Definition/Enum/EnemyType.cs index 97c9597..e7da740 100644 --- a/Assets/GameMain/Scripts/Base/Definition/Enum/EnemyType.cs +++ b/Assets/GameMain/Scripts/Base/Definition/Enum/EnemyType.cs @@ -5,5 +5,10 @@ namespace SepCore.Definition None = 0, MeleeEnemy = 1, RemoteEnemy = 2, + BatEnemy = 3, + SkeletonEnemy = 4, + SkeletonGiantEnemy = 5, + GhostEnemy = 6, + FireMageEnemy = 7, } } \ No newline at end of file diff --git a/Assets/GameMain/Scripts/Base/Entity/EntityData/Enemy/EnemyData.cs b/Assets/GameMain/Scripts/Base/Entity/EntityData/Enemy/EnemyData.cs index db61614..87b0d9c 100644 --- a/Assets/GameMain/Scripts/Base/Entity/EntityData/Enemy/EnemyData.cs +++ b/Assets/GameMain/Scripts/Base/Entity/EntityData/Enemy/EnemyData.cs @@ -39,6 +39,10 @@ namespace SepCore.Entity public float DropPercent => _drEnemy.DropPercent; + public float Scale => _drEnemy.Scale; + + public Color Color => _drEnemy.Color; + public IReadOnlyDictionary Params => _drEnemy.Params; public bool TryGetParam(string key, out string value) diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/BatEnemy.cs b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/BatEnemy.cs new file mode 100644 index 0000000..83210d2 --- /dev/null +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/BatEnemy.cs @@ -0,0 +1,6 @@ +namespace SepCore.Entity +{ + public class BatEnemy : MeleeEnemy + { + } +} diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/BatEnemy.cs.meta b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/BatEnemy.cs.meta new file mode 100644 index 0000000..6792daa --- /dev/null +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/BatEnemy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 42fe1320652aa5444ab6b8ed8936d053 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/EnemyBase.cs b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/EnemyBase.cs index 437244e..5509f92 100644 --- a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/EnemyBase.cs +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/EnemyBase.cs @@ -12,9 +12,18 @@ public abstract class EnemyBase : TargetableObject public virtual float AttackRange => 1f; public virtual void SetTarget(Transform target) => _target = target; - + protected EnemyData _enemyData; - + + protected override void OnShow(object userData) + { + base.OnShow(userData); + + if (userData is EnemyData enemyData) + { + ApplyVisualParams(enemyData); + } + } protected override void OnDead(EntityBase attacker) { @@ -35,8 +44,21 @@ public abstract class EnemyBase : TargetableObject }; GameEntry.Entity.ShowExpAsync(data).Forget(); } - + base.OnDead(attacker); } + + private void ApplyVisualParams(EnemyData data) + { + CachedTransform.localScale = Vector3.one * Mathf.Max(0.1f, data.Scale); + + var renderer = GetComponentInChildren(); + if (renderer != null) + { + var block = new MaterialPropertyBlock(); + block.SetColor("_BaseColor", data.Color); + renderer.SetPropertyBlock(block); + } + } } diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/FireMageEnemy.cs b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/FireMageEnemy.cs new file mode 100644 index 0000000..a1a4ee2 --- /dev/null +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/FireMageEnemy.cs @@ -0,0 +1,6 @@ +namespace SepCore.Entity +{ + public class FireMageEnemy : RemoteEnemy + { + } +} diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/FireMageEnemy.cs.meta b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/FireMageEnemy.cs.meta new file mode 100644 index 0000000..3b46cc3 --- /dev/null +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/FireMageEnemy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3c04fa71c274a6f4088722608ba26587 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/GhostEnemy.cs b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/GhostEnemy.cs new file mode 100644 index 0000000..1a4d092 --- /dev/null +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/GhostEnemy.cs @@ -0,0 +1,6 @@ +namespace SepCore.Entity +{ + public class GhostEnemy : RemoteEnemy + { + } +} diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/GhostEnemy.cs.meta b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/GhostEnemy.cs.meta new file mode 100644 index 0000000..912a195 --- /dev/null +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/GhostEnemy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2effd123b7296e448aea20b34fd24ce8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonEnemy.cs b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonEnemy.cs new file mode 100644 index 0000000..fe062f5 --- /dev/null +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonEnemy.cs @@ -0,0 +1,6 @@ +namespace SepCore.Entity +{ + public class SkeletonEnemy : MeleeEnemy + { + } +} diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonEnemy.cs.meta b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonEnemy.cs.meta new file mode 100644 index 0000000..5c38132 --- /dev/null +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonEnemy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 21ea777a602cd034cb6177ef0efdea42 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonGiantEnemy.cs b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonGiantEnemy.cs new file mode 100644 index 0000000..1b6f4c9 --- /dev/null +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonGiantEnemy.cs @@ -0,0 +1,6 @@ +namespace SepCore.Entity +{ + public class SkeletonGiantEnemy : MeleeEnemy + { + } +} diff --git a/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonGiantEnemy.cs.meta b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonGiantEnemy.cs.meta new file mode 100644 index 0000000..ed2e762 --- /dev/null +++ b/Assets/GameMain/Scripts/Runtime/Entity/EntityLogic/Enemy/SkeletonGiantEnemy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3698c16c2f366404cbdd54efa880612b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/数据表/Entity/Enemy.xlsx b/数据表/Entity/Enemy.xlsx index 5047bb3..987bc5e 100644 Binary files a/数据表/Entity/Enemy.xlsx and b/数据表/Entity/Enemy.xlsx differ diff --git a/数据表/Level.xlsx b/数据表/Level.xlsx index 1b68adb..99c53b5 100644 Binary files a/数据表/Level.xlsx and b/数据表/Level.xlsx differ