From 1619bedd774124c26bef3d697b539cdd9c9d98c1 Mon Sep 17 00:00:00 2001
From: Roman <1325980292@qq.com>
Date: Tue, 7 Dec 2021 21:39:49 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=EF=BC=9A=E6=90=AD=E5=BB=BA?=
=?UTF-8?q?=E5=9F=BA=E6=9C=AC=E7=9A=84=E7=B3=BB=E7=BB=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1.编写基督小怪逻辑
(1.继承自爱欲品类(巡逻、发现、追踪、击飞、被击飞、死亡、转身等功能)
(2.重写Seek函数,因为爱欲品是一直Seek到玩家位置,而基督需要保留一定距离
((1.Seek时判断基督小怪与玩家的距离,同时指定一个public变量代表攻击范围。若此距离小于攻击范围,触发攻击事件,否则移动位置靠近player
(3.重写OnTouchThePlayer事件,使其与NormalEnemy一致
(4.新增攻击事件
((1.修改状态为atk
((2.创建一个基督闪电攻击器,作为预制体保存在JiDu中
((3.初始化攻击器
((4.等待攻击器触发攻击完毕信号,触发恢复事件(无语句)
(5.新增恢复事件
((1.修改状态为Seek
*:效果:依次降下指定数量的雷(触发器判定区),前一个结束后下一个才开始
2.编写攻击器逻辑,可以指定闪电道数、闪电位置间隔、两道闪电之间的间隔时间、每道闪电的持续时间、闪电的判定范围、攻击后硬直
*:整理脚本,添加注释、摘要、分层和属性特性
至此,基督小怪的逻辑开发完毕
至此,所有小怪的逻辑均开发完毕
通过导出测试
下班
---
Assets/Prefabs/基督闪电攻击器.prefab | 433 ++++++++++++++++++
Assets/Prefabs/基督闪电攻击器.prefab.meta | 7 +
Assets/Scenes/test.unity | 317 ++++++++++++-
Assets/Scripts/AiYuPin.cs | 5 +-
Assets/Scripts/JiDu.cs | 127 +++++
Assets/Scripts/JiDu.cs.meta | 11 +
.../Scripts/LightningAttackAdministrator.cs | 155 +++++++
.../LightningAttackAdministrator.cs.meta | 11 +
Assets/Sprites/早期临时混乱/3关怪.png.meta | 38 +-
9 files changed, 1098 insertions(+), 6 deletions(-)
create mode 100644 Assets/Prefabs/基督闪电攻击器.prefab
create mode 100644 Assets/Prefabs/基督闪电攻击器.prefab.meta
create mode 100644 Assets/Scripts/JiDu.cs
create mode 100644 Assets/Scripts/JiDu.cs.meta
create mode 100644 Assets/Scripts/LightningAttackAdministrator.cs
create mode 100644 Assets/Scripts/LightningAttackAdministrator.cs.meta
diff --git a/Assets/Prefabs/基督闪电攻击器.prefab b/Assets/Prefabs/基督闪电攻击器.prefab
new file mode 100644
index 0000000..c647a47
--- /dev/null
+++ b/Assets/Prefabs/基督闪电攻击器.prefab
@@ -0,0 +1,433 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &5890479827831270894
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5890479827831270895}
+ - component: {fileID: 5890479827831270888}
+ - component: {fileID: 5890479827831270889}
+ m_Layer: 0
+ m_Name: Square (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &5890479827831270895
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479827831270894}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 2.37, y: 0, z: 4.1154423}
+ m_LocalScale: {x: 0.4875, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 5890479828300330399}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &5890479827831270888
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479827831270894}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 1, y: 1}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!61 &5890479827831270889
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479827831270894}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 1
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0, y: 0}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 1, y: 1}
+ newSize: {x: 1, y: 1}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1}
+ m_EdgeRadius: 0
+--- !u!1 &5890479828037865974
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5890479828037865975}
+ - component: {fileID: 5890479828037865968}
+ - component: {fileID: 5890479828037865969}
+ m_Layer: 0
+ m_Name: Square
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &5890479828037865975
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479828037865974}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.97, y: 0, z: 4.1154423}
+ m_LocalScale: {x: 0.4875, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 5890479828300330399}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &5890479828037865968
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479828037865974}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 1, y: 1}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!61 &5890479828037865969
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479828037865974}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 1
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0, y: 0}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 1, y: 1}
+ newSize: {x: 1, y: 1}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1}
+ m_EdgeRadius: 0
+--- !u!1 &5890479828300330397
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5890479828300330399}
+ - component: {fileID: 5890479828300330398}
+ - component: {fileID: 5890479828300330392}
+ m_Layer: 0
+ m_Name: "\u57FA\u7763\u95EA\u7535\u653B\u51FB\u5668"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5890479828300330399
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479828300330397}
+ 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_Children:
+ - {fileID: 5890479828037865975}
+ - {fileID: 5890479828619809182}
+ - {fileID: 5890479827831270895}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &5890479828300330398
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479828300330397}
+ m_Enabled: 0
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: 3cb7c35a750699348a04840d1ae1be5e, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 1, y: 1}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!114 &5890479828300330392
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479828300330397}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9b9747c571ad1fb47a3246703168172c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ lightingTime: 0.1
+ lightingIntervalTime: 0.3
+ dir: -1
+ lightings: []
+ owner: {fileID: 0}
+ Stiff: 2
+--- !u!1 &5890479828619809181
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5890479828619809182}
+ - component: {fileID: 5890479828619809183}
+ - component: {fileID: 5890479828619809176}
+ m_Layer: 0
+ m_Name: Square (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &5890479828619809182
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479828619809181}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 1.7, y: 0, z: 4.1154423}
+ m_LocalScale: {x: 0.4875, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 5890479828300330399}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &5890479828619809183
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479828619809181}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 1, y: 1}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!61 &5890479828619809176
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5890479828619809181}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 1
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0, y: 0}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 1, y: 1}
+ newSize: {x: 1, y: 1}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1}
+ m_EdgeRadius: 0
diff --git a/Assets/Prefabs/基督闪电攻击器.prefab.meta b/Assets/Prefabs/基督闪电攻击器.prefab.meta
new file mode 100644
index 0000000..0bd3d5a
--- /dev/null
+++ b/Assets/Prefabs/基督闪电攻击器.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 7ed7629552eb2f146af80d04ebcb7691
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/test.unity b/Assets/Scenes/test.unity
index f74f09b..8a0e644 100644
--- a/Assets/Scenes/test.unity
+++ b/Assets/Scenes/test.unity
@@ -940,7 +940,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 1
+ m_IsActive: 0
--- !u!114 &574826835
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -1123,7 +1123,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 1
+ m_IsActive: 0
--- !u!61 &659041641
BoxCollider2D:
m_ObjectHideFlags: 0
@@ -1442,6 +1442,319 @@ Transform:
m_Father: {fileID: 326335323}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &906466579
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 906466583}
+ - component: {fileID: 906466582}
+ - component: {fileID: 906466581}
+ - component: {fileID: 906466580}
+ - component: {fileID: 906466585}
+ - component: {fileID: 906466586}
+ - component: {fileID: 906466584}
+ m_Layer: 0
+ m_Name: "\u57FA\u7763"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!61 &906466580
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 906466579}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 1
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: -2.28, y: 0}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 1.365, y: 1.565}
+ newSize: {x: 1, y: 1}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 3.72, y: 1.56}
+ m_EdgeRadius: 0
+--- !u!61 &906466581
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 906466579}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0, y: 0}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 1.365, y: 1.565}
+ newSize: {x: 1, y: 1}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 0.85, y: 1.565}
+ m_EdgeRadius: 0
+--- !u!212 &906466582
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 906466579}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: de4ec80e5d0cca6488cb449907a26438, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 1
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 1, y: 1}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!4 &906466583
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 906466579}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 8.95, y: 0.66, z: 0}
+ m_LocalScale: {x: -1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 9
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &906466584
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 906466579}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ab73d92b04780f04790d5a4ea79f3649, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ HP: 3
+ ATK: 1
+ speed: 1
+ coin: 0
+ canBeHit: 1
+ HPLeft: 0
+ state: 0
+ hitToflyParameter: {x: 3, y: 3}
+ deadRotationRangeMax: 500
+ deadRotationRangeMin: 500
+ inPath: 1
+ catchOffset: {x: 0, y: 0, z: 0}
+ breakFreeCount: 5
+ breakFreeCountLeft: 0
+ atkPositionOffset: 0.5
+ atkRange: 3
+ lightningAttack: {fileID: 5890479828300330397, guid: 7ed7629552eb2f146af80d04ebcb7691, type: 3}
+--- !u!50 &906466585
+Rigidbody2D:
+ serializedVersion: 4
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 906466579}
+ m_BodyType: 0
+ m_Simulated: 1
+ m_UseFullKinematicContacts: 0
+ m_UseAutoMass: 0
+ m_Mass: 1
+ m_LinearDrag: 0
+ m_AngularDrag: 0.05
+ m_GravityScale: 1
+ m_Material: {fileID: 0}
+ m_Interpolate: 0
+ m_SleepingMode: 1
+ m_CollisionDetection: 0
+ m_Constraints: 0
+--- !u!114 &906466586
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 906466579}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -333801856, guid: aa0b1eebb5db27a419fa4564bbe5c9c5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ delay: 0
+ duration: 3
+ easeType: 1
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loops: -1
+ id:
+ loopType: 0
+ orientType: 1
+ lookAtTransform: {fileID: 0}
+ lookAtPosition: {x: 0, y: 0, z: 0}
+ lookAhead: 0.01
+ autoPlay: 1
+ autoKill: 1
+ relative: 0
+ isLocal: 0
+ isClosedPath: 1
+ pathResolution: 10
+ pathMode: 3
+ lockRotation: 0
+ assignForwardAndUp: 0
+ forwardDirection: {x: 0, y: 0, z: 1}
+ upDirection: {x: 0, y: 1, z: 0}
+ tweenRigidbody: 0
+ wps:
+ - {x: 13.053112, y: 0.6342431, z: 0}
+ fullWps: []
+ path:
+ wpLengths:
+ - 0
+ - 4.1031933
+ - 4.1031933
+ wps:
+ - {x: 8.95, y: 0.66, z: 0}
+ - {x: 13.053112, y: 0.6342431, z: 0}
+ - {x: 8.95, y: 0.66, z: 0}
+ type: 0
+ subdivisionsXSegment: 10
+ subdivisions: 30
+ controlPoints: []
+ length: 8.206387
+ isFinalized: 1
+ timesTable:
+ - 0
+ - 0.5
+ - 1
+ lengthsTable: []
+ inspectorMode: 0
+ pathType: 0
+ handlesType: 0
+ livePreview: 1
+ handlesDrawMode: 0
+ perspectiveHandleSize: 0.5
+ showIndexes: 1
+ showWpLength: 0
+ pathColor: {r: 1, g: 1, b: 1, a: 0.5}
+ lastSrcPosition: {x: 8.95, y: 0.66, z: 0}
+ lastSrcRotation: {x: 0, y: 0, z: 0, w: 1}
+ wpsDropdown: 0
+ dropToFloorOffset: 0
--- !u!1 &971340854
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/AiYuPin.cs b/Assets/Scripts/AiYuPin.cs
index 1e0bae5..514c09e 100644
--- a/Assets/Scripts/AiYuPin.cs
+++ b/Assets/Scripts/AiYuPin.cs
@@ -74,11 +74,10 @@ public class AiYuPin : NormalEnemy
/// 控制爱欲品追踪传入的Transform,每帧调用一次
///
/// 要追踪的目标的transform组件
- protected void Seek(Transform target){
- //!!!注意,需要修改。此时会给予爱欲品向上的速度,但Seek只需要左右的速度
+ protected virtual void Seek(Transform target){
Vector3 moveDir = (target.transform.position - transform.position).normalized;
//给刚体添加位移
- m_rigidbody.position += (Vector2)moveDir * speed * Time.deltaTime;
+ m_rigidbody.position += (Vector2)moveDir * speed * Time.deltaTime * Vector2.right;
//将面部朝向与速度同步
transform.rotation = Quaternion.
Euler
diff --git a/Assets/Scripts/JiDu.cs b/Assets/Scripts/JiDu.cs
new file mode 100644
index 0000000..0395c99
--- /dev/null
+++ b/Assets/Scripts/JiDu.cs
@@ -0,0 +1,127 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using Sirenix.OdinInspector;
+
+///
+/// 基督小怪类,继承自爱欲品
+///
+public class JiDu : AiYuPin
+{
+ // _____ _ _ _
+ // | __ \ | | | (_)
+ // | |__) | _| |__ | |_ ___
+ // | ___/ | | | '_ \| | |/ __|
+ // | | | |_| | |_) | | | (__
+ // |_| \__,_|_.__/|_|_|\___|
+
+ ///
+ /// 攻击相对于自身的位置偏移量
+ ///
+ [FoldoutGroup("基督")][Header("攻击相对于自身的位置偏移量")]
+ public float atkPositionOffset;
+ ///
+ /// 攻击范围
+ ///
+ [FoldoutGroup("基督")][Header("攻击范围")]
+ public float atkRange;
+ ///
+ /// 攻击时实例化的攻击器
+ ///
+ [FoldoutGroup("基督")][Header("闪电攻击器")]
+ public GameObject lightningAttack;
+
+ // _____ _ _
+ // | __ \ (_) | |
+ // | |__) | __ ___ ____ _| |_ ___
+ // | ___/ '__| \ \ / / _` | __/ _ \
+ // | | | | | |\ V / (_| | || __/
+ // |_| |_| |_| \_/ \__,_|\__\___|
+
+ ///
+ /// 自身到玩家的位置
+ ///
+ [SerializeField][ReadOnly][FoldoutGroup("状态")][Header("自身到玩家的位置")]
+ private float distanceToPlayer;
+
+ // _____ _ _ ____ _
+ // / ____| | | | _ \ | |
+ // | | __ _| | | |_) | __ _ ___| | __
+ // | | / _` | | | _ < / _` |/ __| |/ /
+ // | |___| (_| | | | |_) | (_| | (__| <
+ // \_____\__,_|_|_|____/ \__,_|\___|_|\_\
+
+ void Update(){
+ //如果处于追踪状态,则每帧执行Seek
+ if(state == State.seek) Seek(target);
+ }
+
+ // _ _ _
+ // | \ | | | |
+ // | \| | ___ _ __ _ __ ___ __ _| |
+ // | . ` |/ _ \| '__| '_ ` _ \ / _` | |
+ // | |\ | (_) | | | | | | | | (_| | |
+ // |_| \_|\___/|_| |_| |_| |_|\__,_|_|
+
+ ///
+ /// 如果处于Seek状态,则每帧执行一次
+ ///
+ /// 追踪目标
+ protected override void Seek(Transform target){
+ //计算自己与玩家的距离
+ distanceToPlayer = Mathf.Abs(target.position.x - transform.position.x);
+ //如果距离小于攻击范围,则发动攻击
+ if(distanceToPlayer < atkRange)Atk();
+ //否则执行爱欲品的Seek,移动追向目标
+ else base.Seek(target);
+ }
+
+ ///
+ /// 攻击的时候触发
+ ///
+ private void Atk(){
+ //修改自身状态至攻击
+ state = State.atk;
+ //判定一下自身和玩家的位置,确定攻击方向
+ int atkDir = ((target.position.x - transform.position.x > 0) ? 1:-1);
+ //生成一个攻击器预制体,并根据攻击方向给予X轴偏移
+ LightningAttackAdministrator l = Instantiate(
+ lightningAttack,
+ new Vector3(
+ transform.position.x + atkPositionOffset * atkDir,
+ transform.position.y,
+ transform.position.z
+ ),
+ Quaternion.identity
+ ).GetComponent();
+ //初始化一下攻击器,给予攻击器主人和方向😍
+ l.owner = this;
+ l.dir = atkDir;
+ }
+
+ // ______ _
+ // | ____| | |
+ // | |____ _____ _ __ | |_
+ // | __\ \ / / _ \ '_ \| __|
+ // | |___\ V / __/ | | | |_
+ // |______\_/ \___|_| |_|\__|
+
+ ///
+ /// 碰到玩家的时候触发。对于基督小怪来说,玩家碰到它会收到伤害,与继承到的爱欲品不同,但与爱欲品继承的相同,所以返回到父类的父类执行
+ /// 我超,不能,base.base,老老实实抄一遍代码吧
+ ///
+ /// 玩家
+ protected override void OnTouchThePlayer(MyPlayer player){
+ //告诉玩家,你被攻击了
+ player.OnBeHit(ATK,
+ ((transform.position.x -
+ player.transform.position.x)
+ > 0) ? 1 : -1);//通过自身位置和玩家位置的比较来返回玩家本次的受击方向
+ }
+
+ ///
+ /// 当攻击器攻击结束,Call这个,把状态恢复至Seek
+ ///
+ public void OnAtkEnd(){state = State.seek;}
+
+}
\ No newline at end of file
diff --git a/Assets/Scripts/JiDu.cs.meta b/Assets/Scripts/JiDu.cs.meta
new file mode 100644
index 0000000..6b70c1f
--- /dev/null
+++ b/Assets/Scripts/JiDu.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ab73d92b04780f04790d5a4ea79f3649
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/LightningAttackAdministrator.cs b/Assets/Scripts/LightningAttackAdministrator.cs
new file mode 100644
index 0000000..af9ecf9
--- /dev/null
+++ b/Assets/Scripts/LightningAttackAdministrator.cs
@@ -0,0 +1,155 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using Sirenix.OdinInspector;
+
+///
+/// 管理基督小怪召出来的闪电攻击
+///
+public class LightningAttackAdministrator : MonoBehaviour
+{
+ // _____ _ _ _
+ // | __ \ | | | (_)
+ // | |__) | _| |__ | |_ ___
+ // | ___/ | | | '_ \| | |/ __|
+ // | | | |_| | |_) | | | (__
+ // |_| \__,_|_.__/|_|_|\___|
+
+ ///
+ /// 单道闪电的持续时间
+ ///
+ [Header("单道闪电的持续时间")]
+ public float lightingTime;
+ ///
+ /// 两道闪电之间间隔的时间
+ ///
+ [Header("两道闪电之间间隔的时间")]
+ public float lightingIntervalTime;
+ ///
+ /// 攻击方向,产生这个闪电的怪物攻击时指定
+ ///
+ [Header("攻击方向,产生这个闪电的怪物攻击时指定")][ReadOnly]
+ public int dir;
+ ///
+ /// 这个攻击器的主人。请在发动攻击的时候指定。用来通知主人,本次攻击结束
+ ///
+ public JiDu owner;
+ ///
+ /// 基督小怪攻击硬直
+ ///
+ public float Stiff;
+
+ // _____ _ _
+ // | __ \ (_) | |
+ // | |__) | __ ___ ____ _| |_ ___
+ // | ___/ '__| \ \ / / _` | __/ _ \
+ // | | | | | |\ V / (_| | || __/
+ // |_| |_| |_| \_/ \__,_|\__\___|
+ [SerializeField][ListDrawerSettings][ReadOnly]
+ private List lightings;
+
+ // _____ _ _ ____ _
+ // / ____| | | | _ \ | |
+ // | | __ _| | | |_) | __ _ ___| | __
+ // | | / _` | | | _ < / _` |/ __| |/ /
+ // | |___| (_| | | | |_) | (_| | (__| <
+ // \_____\__,_|_|_|____/ \__,_|\___|_|\_\
+ void Start(){
+ Init();
+ StartCoroutine("ATK");
+ }
+
+ // _ _ _
+ // | \ | | | |
+ // | \| | ___ _ __ _ __ ___ __ _| |
+ // | . ` |/ _ \| '__| '_ ` _ \ / _` | |
+ // | |\ | (_) | | | | | | | | (_| | |
+ // |_| \_|\___/|_| |_| |_| |_|\__,_|_|
+
+ ///
+ /// 初始化函数
+ ///
+ private void Init(){
+ //处理一下攻击器朝向问题
+ if(dir == -1) transform.localScale = new Vector3(
+ transform.localScale.x * -1,
+ transform.localScale.y,
+ transform.localScale.z
+ );
+ //初始化闪电列表,用来控制每一个小闪电
+ lightings = new List(transform.childCount);
+ for (int i = 0; i < transform.childCount; i++){
+ Transform temp = transform.GetChild(i);
+ lightings.Add(
+ temp.gameObject.AddComponent()
+ );
+ //初始化小闪电的主人和状态
+ lightings[i].state = Lighting.State.wait;
+ lightings[i].owner = this;
+ }
+ }
+
+ ///
+ /// 攻击函数协程
+ ///
+ private IEnumerator ATK(){
+ //按顺序遍历每一个小闪电
+ foreach(Lighting l in lightings){
+ //如果处于等待状态
+ if(l.state == Lighting.State.wait){
+ //如果不是第一个闪电,则需要等待每个闪电的间隔的时间
+ if(l != lightings[0])yield return new WaitForSeconds(lightingIntervalTime);
+ //等待结束后令闪电攻击
+ l.gameObject.SetActive(true);
+ l.state = Lighting.State.atk;
+ //然后攻击持续每个小闪电的持续时间
+ yield return new WaitForSeconds(lightingTime);
+ //等待结束后关闭这个小闪电
+ l.gameObject.SetActive(false);
+ l.state = Lighting.State.over;
+ //循环至下一个小闪电
+ }
+ }
+ //遍历结束后进入攻击硬直等待
+ yield return new WaitForSeconds(Stiff);
+ //等待结束后通知主人攻击结束,并销毁攻击器
+ owner.OnAtkEnd();
+ Destroy(gameObject);
+ }
+
+
+ // _______ _ _____ _
+ // |__ __| | |/ ____| |
+ // | | ___ ___ | | | | | __ _ ___ ___
+ // | |/ _ \ / _ \| | | | |/ _` / __/ __|
+ // | | (_) | (_) | | |____| | (_| \__ \__ \
+ // |_|\___/ \___/|_|\_____|_|\__,_|___/___/
+
+ ///
+ /// 单道小闪电类,主要控制一下碰撞体
+ ///
+ private class Lighting : MonoBehaviour
+ {
+ ///
+ /// 闪电的状态种类
+ ///
+ public enum State{wait,atk,over};
+ ///
+ /// 闪电的当前状态
+ ///
+ public State state;
+ ///
+ /// 这道闪电的主人,一个攻击器
+ ///
+ public LightningAttackAdministrator owner;
+
+ void OnTriggerEnter2D(Collider2D other){
+ if (other.TryGetComponent(out MyPlayer player)){
+ player.OnBeHit(owner.owner.ATK,
+ ((owner.transform.position.x - player.transform.position.x > 0) ? 1 : -1)
+ );
+ }
+ }
+ }
+
+}
diff --git a/Assets/Scripts/LightningAttackAdministrator.cs.meta b/Assets/Scripts/LightningAttackAdministrator.cs.meta
new file mode 100644
index 0000000..452ef7d
--- /dev/null
+++ b/Assets/Scripts/LightningAttackAdministrator.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9b9747c571ad1fb47a3246703168172c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Sprites/早期临时混乱/3关怪.png.meta b/Assets/Sprites/早期临时混乱/3关怪.png.meta
index d67a8ea..8814122 100644
--- a/Assets/Sprites/早期临时混乱/3关怪.png.meta
+++ b/Assets/Sprites/早期临时混乱/3关怪.png.meta
@@ -46,7 +46,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
+ spritePixelsToUnits: 200
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
@@ -75,6 +75,42 @@ TextureImporter:
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: iPhone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []