From d7b1740e4bfe0cbd97c5d40228eeb475918b49f5 Mon Sep 17 00:00:00 2001 From: zc <1062808664@qq.com> Date: Tue, 19 Sep 2023 15:25:22 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=B7=BB=E5=8A=A0=E7=89=B9=E6=95=88?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/UnityTest/ZXL/Scene/Main.unity | 463 +++++++++++++++++- Assets/UnityTest/ZXL/Scripts/Effect.meta | 3 + .../ZXL/Scripts/Effect/EffectComponent.cs | 22 + .../Scripts/Effect/EffectComponent.cs.meta | 3 + .../ZXL/Scripts/Effect/EffectManager.cs | 72 +++ .../ZXL/Scripts/Effect/EffectManager.cs.meta | 3 + 6 files changed, 565 insertions(+), 1 deletion(-) create mode 100644 Assets/UnityTest/ZXL/Scripts/Effect.meta create mode 100644 Assets/UnityTest/ZXL/Scripts/Effect/EffectComponent.cs create mode 100644 Assets/UnityTest/ZXL/Scripts/Effect/EffectComponent.cs.meta create mode 100644 Assets/UnityTest/ZXL/Scripts/Effect/EffectManager.cs create mode 100644 Assets/UnityTest/ZXL/Scripts/Effect/EffectManager.cs.meta diff --git a/Assets/UnityTest/ZXL/Scene/Main.unity b/Assets/UnityTest/ZXL/Scene/Main.unity index 859afc6..bbdbea5 100644 --- a/Assets/UnityTest/ZXL/Scene/Main.unity +++ b/Assets/UnityTest/ZXL/Scene/Main.unity @@ -16667,6 +16667,116 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 176140281} m_CullTransparentMesh: 1 +--- !u!1001 &176887232 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2096766022} + m_Modifications: + - target: {fileID: 1273915125232972, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_Name + value: SmokeEffect (1) + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalScale.x + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalScale.y + value: 0.10000001 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalScale.z + value: 0.10000001 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalPosition.x + value: 4.779 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalPosition.y + value: 1.959 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalPosition.z + value: -4.72 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalRotation.x + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: simulationSpeed + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: ShapeModule.type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: ShapeModule.radius.value + value: 1.51 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: ShapeModule.radiusThickness + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: InitialModule.maxNumParticles + value: 1000 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: EmissionModule.rateOverTime.scalar + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 199099840506733646, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: m_Materials.Array.size + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 73767e07adddc394d82b994801f89bbb, type: 3} +--- !u!4 &176887233 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + m_PrefabInstance: {fileID: 176887232} + m_PrefabAsset: {fileID: 0} --- !u!1001 &179901707 PrefabInstance: m_ObjectHideFlags: 0 @@ -37306,6 +37416,10 @@ PlayableDirector: value: {fileID: 1157802113} - key: {fileID: 6592815776478595467, guid: 39f8d3c367a8e674e8052438f76d7059, type: 2} value: {fileID: 808015099} + - key: {fileID: -8196139133182293469, guid: 39f8d3c367a8e674e8052438f76d7059, type: 2} + value: {fileID: 2096766021} + - key: {fileID: 7009415848581031321, guid: 39f8d3c367a8e674e8052438f76d7059, type: 2} + value: {fileID: 889553203} m_ExposedReferences: m_References: [] --- !u!1 &387501365 @@ -42410,6 +42524,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 431540143} + - component: {fileID: 431540144} m_Layer: 0 m_Name: Effect m_TagString: Untagged @@ -42430,9 +42545,40 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 808015100} + - {fileID: 2096766022} + - {fileID: 889553204} m_Father: {fileID: 1758695642} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &431540144 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 431540141} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d023eeb3aa3e446fbe96d02a70d855ad, type: 3} + m_Name: + m_EditorClassIdentifier: + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + effectDatas: + - effectType: 0 + effect: {fileID: 808015099} + - effectType: 1 + effect: {fileID: 2096766021} + - effectType: 2 + effect: {fileID: 889553203} + isEditor: 0 --- !u!1 &432561525 GameObject: m_ObjectHideFlags: 0 @@ -51936,6 +52082,116 @@ Transform: m_Father: {fileID: 989588865} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &546815912 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2096766022} + m_Modifications: + - target: {fileID: 1273915125232972, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_Name + value: SmokeEffect + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalScale.x + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalScale.y + value: 0.10000001 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalScale.z + value: 0.10000001 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalPosition.x + value: 4.779 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalPosition.y + value: 1.89 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalPosition.z + value: -4.72 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalRotation.x + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: simulationSpeed + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: ShapeModule.type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: ShapeModule.radius.value + value: 1.51 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: ShapeModule.radiusThickness + value: 1.0000 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: InitialModule.maxNumParticles + value: 1000 + objectReference: {fileID: 0} + - target: {fileID: 198791558892717060, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: EmissionModule.rateOverTime.scalar + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 199099840506733646, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + propertyPath: m_Materials.Array.size + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 73767e07adddc394d82b994801f89bbb, type: 3} +--- !u!4 &546815913 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4508696319873668, guid: 73767e07adddc394d82b994801f89bbb, + type: 3} + m_PrefabInstance: {fileID: 546815912} + m_PrefabAsset: {fileID: 0} --- !u!1 &546945724 GameObject: m_ObjectHideFlags: 0 @@ -81686,7 +81942,7 @@ PrefabInstance: - target: {fileID: 4426536866891734149, guid: 31237b4dc51a9ac4ca1090205da94f7c, type: 3} propertyPath: m_Name - value: "\u7206\u70B8\u7279\u6548" + value: "\u5149\u5EA6\u8BA1\u7206\u70B8\u7279\u6548" objectReference: {fileID: 0} - target: {fileID: 4426536866891734149, guid: 31237b4dc51a9ac4ca1090205da94f7c, type: 3} @@ -81767,6 +82023,21 @@ Transform: type: 3} m_PrefabInstance: {fileID: 808015098} m_PrefabAsset: {fileID: 0} +--- !u!114 &808015104 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 808015099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fcf18f596ee4437b8cf5670e2e003284, type: 3} + m_Name: + m_EditorClassIdentifier: + effectData: + effectType: 0 + effect: {fileID: 808015099} --- !u!1 &808314891 GameObject: m_ObjectHideFlags: 0 @@ -88440,6 +88711,147 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 4294967295 m_MaxRayIntersections: 0 +--- !u!1001 &889553202 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 431540143} + m_Modifications: + - target: {fileID: 1947871717301538, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_Name + value: "\u5149\u5EA6\u8BA1\u6301\u7EED\u71C3\u70E7\u7279\u6548" + objectReference: {fileID: 0} + - target: {fileID: 1947871717301538, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalScale.x + value: 0.29799 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalScale.y + value: 0.29799 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalScale.z + value: 0.29799 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalPosition.x + value: 4.778 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalPosition.y + value: 1.814 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalPosition.z + value: -4.841 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198706150799401992, guid: a990e3ac1318b834488c784d851f42a9, + type: 3} + propertyPath: UVModule.flipU + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198706150799401992, guid: a990e3ac1318b834488c784d851f42a9, + type: 3} + propertyPath: UVModule.flipV + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 199127982807948490, guid: a990e3ac1318b834488c784d851f42a9, + type: 3} + propertyPath: m_Materials.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 199577645087675124, guid: a990e3ac1318b834488c784d851f42a9, + type: 3} + propertyPath: m_Materials.Array.size + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a990e3ac1318b834488c784d851f42a9, type: 3} +--- !u!1 &889553203 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1947871717301538, guid: a990e3ac1318b834488c784d851f42a9, + type: 3} + m_PrefabInstance: {fileID: 889553202} + m_PrefabAsset: {fileID: 0} +--- !u!4 &889553204 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4209731392266258, guid: a990e3ac1318b834488c784d851f42a9, + type: 3} + m_PrefabInstance: {fileID: 889553202} + m_PrefabAsset: {fileID: 0} +--- !u!95 &889553205 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 889553203} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &889553208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 889553203} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fcf18f596ee4437b8cf5670e2e003284, type: 3} + m_Name: + m_EditorClassIdentifier: + effectData: + effectType: 2 + effect: {fileID: 889553203} --- !u!1 &889739358 GameObject: m_ObjectHideFlags: 0 @@ -209092,6 +209504,55 @@ PlayableDirector: value: {fileID: 936812111} m_ExposedReferences: m_References: [] +--- !u!1 &2096766021 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2096766022} + - component: {fileID: 2096766023} + m_Layer: 0 + m_Name: "\u5149\u5EA6\u8BA1\u70DF\u96FE\u7279\u6548" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2096766022 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2096766021} + 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: 546815913} + - {fileID: 176887233} + m_Father: {fileID: 431540143} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2096766023 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2096766021} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fcf18f596ee4437b8cf5670e2e003284, type: 3} + m_Name: + m_EditorClassIdentifier: + effectData: + effectType: 1 + effect: {fileID: 2096766021} --- !u!1 &2097017979 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/UnityTest/ZXL/Scripts/Effect.meta b/Assets/UnityTest/ZXL/Scripts/Effect.meta new file mode 100644 index 0000000..4261f5a --- /dev/null +++ b/Assets/UnityTest/ZXL/Scripts/Effect.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: cf0555638ed44adaa254f5076b801c79 +timeCreated: 1695107000 \ No newline at end of file diff --git a/Assets/UnityTest/ZXL/Scripts/Effect/EffectComponent.cs b/Assets/UnityTest/ZXL/Scripts/Effect/EffectComponent.cs new file mode 100644 index 0000000..6a06e4b --- /dev/null +++ b/Assets/UnityTest/ZXL/Scripts/Effect/EffectComponent.cs @@ -0,0 +1,22 @@ +using System; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace UnityTest.ZXL +{ + public class EffectComponent : MonoBehaviour + { + public EffectType effectType => effectData.effectType; + public EffectData effectData; + +#if UNITY_EDITOR + [Button] + void Add() + { + effectData = new EffectData(); + effectData.effectType = Enum.Parse(this.name); + effectData.effect = this.gameObject; + } +#endif + } +} \ No newline at end of file diff --git a/Assets/UnityTest/ZXL/Scripts/Effect/EffectComponent.cs.meta b/Assets/UnityTest/ZXL/Scripts/Effect/EffectComponent.cs.meta new file mode 100644 index 0000000..fb54e18 --- /dev/null +++ b/Assets/UnityTest/ZXL/Scripts/Effect/EffectComponent.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fcf18f596ee4437b8cf5670e2e003284 +timeCreated: 1695107017 \ No newline at end of file diff --git a/Assets/UnityTest/ZXL/Scripts/Effect/EffectManager.cs b/Assets/UnityTest/ZXL/Scripts/Effect/EffectManager.cs new file mode 100644 index 0000000..3efc207 --- /dev/null +++ b/Assets/UnityTest/ZXL/Scripts/Effect/EffectManager.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace UnityTest.ZXL +{ + public class EffectManager : BaseAutoMono + { + public List effectDatas = new List(); + + private void Start() + { + HideAllEffect(); + } + + public void ShowOrHideEffect(EffectType effectType, bool isShow) + { + foreach (var effectData in effectDatas) + { + if (effectData.Check(effectType)) + { + effectData.effect.SetActive(isShow); + break; + } + } + } + + public void HideAllEffect() + { + foreach (var effectData in effectDatas) + { + effectData.effect.SetActive(false); + } + } + + public bool isEditor; +#if UNITY_EDITOR + [ShowIf("isEditor")] + [Button] + void Add() + { + effectDatas.Clear(); + var effectComponents = transform.GetComponentsInChildren(); + foreach (var effectComponent in effectComponents) + { + effectDatas.Add(effectComponent.effectData); + } + } +#endif + } + + [System.Serializable] + public class EffectData + { + public EffectType effectType; + public GameObject effect; + + public bool Check(EffectType effectType) + { + return this.effectType == effectType; + } + } + + [System.Serializable] + public enum EffectType + { + 光度计爆炸特效, + 光度计烟雾特效, + 光度计持续燃烧特效, + } +} \ No newline at end of file diff --git a/Assets/UnityTest/ZXL/Scripts/Effect/EffectManager.cs.meta b/Assets/UnityTest/ZXL/Scripts/Effect/EffectManager.cs.meta new file mode 100644 index 0000000..5a48201 --- /dev/null +++ b/Assets/UnityTest/ZXL/Scripts/Effect/EffectManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d023eeb3aa3e446fbe96d02a70d855ad +timeCreated: 1695104203 \ No newline at end of file