From 77bf6c1603272e2910a7a7f868188662266424b9 Mon Sep 17 00:00:00 2001 From: Foldcc_b1 Date: Sat, 19 Oct 2024 16:02:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BC=96=E8=BE=91=E5=99=A8?= =?UTF-8?q?=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/GameRes/Scenes/InitScene.unity | 252 ------------------ .../Game/Component/SceneProp/Editor.meta | 3 + .../SceneProp/Editor/GameSceneTools.cs | 191 +++++++++++++ .../SceneProp/Editor/GameSceneTools.cs.meta | 3 + 4 files changed, 197 insertions(+), 252 deletions(-) create mode 100644 Assets/Scripts/Game/Component/SceneProp/Editor.meta create mode 100644 Assets/Scripts/Game/Component/SceneProp/Editor/GameSceneTools.cs create mode 100644 Assets/Scripts/Game/Component/SceneProp/Editor/GameSceneTools.cs.meta diff --git a/Assets/GameRes/Scenes/InitScene.unity b/Assets/GameRes/Scenes/InitScene.unity index ec466bb..a4341d1 100644 --- a/Assets/GameRes/Scenes/InitScene.unity +++ b/Assets/GameRes/Scenes/InitScene.unity @@ -774,11 +774,6 @@ MonoBehaviour: m_EffectColor: {r: 0.8867924, g: 0.8867924, b: 0.8867924, a: 0.5} m_EffectDistance: {x: 1, y: -1} m_UseGraphicAlpha: 1 ---- !u!4 &220168213 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - m_PrefabInstance: {fileID: 7898905657705989879} - m_PrefabAsset: {fileID: 0} --- !u!1001 &355335388 PrefabInstance: m_ObjectHideFlags: 0 @@ -856,11 +851,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 1011920744855142701, guid: 121fd30183d15fd41b7db01d2d435331, type: 3} m_PrefabInstance: {fileID: 355335388} m_PrefabAsset: {fileID: 0} ---- !u!4 &454422476 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - m_PrefabInstance: {fileID: 1203443171463701558} - m_PrefabAsset: {fileID: 0} --- !u!1 &505887312 GameObject: m_ObjectHideFlags: 0 @@ -1153,11 +1143,6 @@ MonoBehaviour: m_FrequencyGain: 0 m_Duration: 0 m_NoiseOffsets: {x: 0, y: 0, z: 0} ---- !u!4 &1065204223 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - m_PrefabInstance: {fileID: 2758327132442644158} - m_PrefabAsset: {fileID: 0} --- !u!1 &1153590224 GameObject: m_ObjectHideFlags: 0 @@ -1646,10 +1631,6 @@ Transform: m_Children: - {fileID: 1230494200} - {fileID: 355335390} - - {fileID: 1818713902} - - {fileID: 454422476} - - {fileID: 1065204223} - - {fileID: 220168213} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1344272199 @@ -2422,11 +2403,6 @@ Transform: - {fileID: 1238765764} m_Father: {fileID: 2011646794} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &1818713902 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - m_PrefabInstance: {fileID: 5562488581515197173} - m_PrefabAsset: {fileID: 0} --- !u!1 &1914211174 GameObject: m_ObjectHideFlags: 0 @@ -2673,234 +2649,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4df116eebd24a984d949044a8237c142, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1001 &1203443171463701558 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 1344272198} - m_Modifications: - - target: {fileID: 5319039742779815564, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_Name - value: blueProp - objectReference: {fileID: 0} - - target: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_LocalPosition.x - value: -1.07 - objectReference: {fileID: 0} - - target: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_LocalPosition.y - value: -3.09 - objectReference: {fileID: 0} - - target: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7332648076757603081, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 218b2c14960f4ac4386fe7c1487c6374, type: 3} ---- !u!1001 &2758327132442644158 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 1344272198} - m_Modifications: - - target: {fileID: 868685027203186800, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_Name - value: greenProp - objectReference: {fileID: 0} - - target: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_LocalPosition.x - value: -4.32 - objectReference: {fileID: 0} - - target: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_LocalPosition.y - value: -1.23 - objectReference: {fileID: 0} - - target: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2208835154500359050, guid: f0c6801915556e5418de1ad436c4e247, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: f0c6801915556e5418de1ad436c4e247, type: 3} ---- !u!1001 &5562488581515197173 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 1344272198} - m_Modifications: - - target: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_LocalPosition.x - value: -1.05 - objectReference: {fileID: 0} - - target: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_LocalPosition.y - value: -1.652 - objectReference: {fileID: 0} - - target: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1486966663552037566, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8351491010039012771, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} - propertyPath: m_Name - value: whiteProp - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 7a5fc693cae9809469843646d0ee35a1, type: 3} ---- !u!1001 &7898905657705989879 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 1344272198} - m_Modifications: - - target: {fileID: 141230662941822534, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_Name - value: redProp - objectReference: {fileID: 0} - - target: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_LocalPosition.x - value: -3.91 - objectReference: {fileID: 0} - - target: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_LocalPosition.y - value: -4.36 - objectReference: {fileID: 0} - - target: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3597250010637538087, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 785186b6a682ed3448051f5e5ab66386, type: 3} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Game/Component/SceneProp/Editor.meta b/Assets/Scripts/Game/Component/SceneProp/Editor.meta new file mode 100644 index 0000000..93f8dc6 --- /dev/null +++ b/Assets/Scripts/Game/Component/SceneProp/Editor.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5730e35c851843828e1dadd267f612b6 +timeCreated: 1729322729 \ No newline at end of file diff --git a/Assets/Scripts/Game/Component/SceneProp/Editor/GameSceneTools.cs b/Assets/Scripts/Game/Component/SceneProp/Editor/GameSceneTools.cs new file mode 100644 index 0000000..22d19e0 --- /dev/null +++ b/Assets/Scripts/Game/Component/SceneProp/Editor/GameSceneTools.cs @@ -0,0 +1,191 @@ +using UnityEditor; +using UnityEngine; + +namespace Game.Component.SceneProp.Editor +{ + public class GameSceneTools + { + //编辑器场景快速创建工具 + //加载预制体 + public static GameObject LoadPrefab (string path) + { + var prefab = AssetDatabase.LoadAssetAtPath (path); + return prefab; + } + + public static Vector3 CreatePos () + { + //获取选择目标的位置, 如果有父物体直接用父物体位置 + var target = Selection.activeTransform; + if (target != null) + { + return target.position; + } + return Vector3.zero; + } + + //创建红色道具 + [MenuItem("GameObject/场景道具/创建传送门red", false, 10)] + public static void CreateRedProp (MenuCommand menuCommand) + { + var prefab = LoadPrefab ("Assets/GameRes/AutoSource/scene_prop/redProp.prefab"); + var pos = CreatePos (); + //保持预制体关联 + var prop = (GameObject)PrefabUtility.InstantiatePrefab(prefab); + prop.transform.position = pos; + var target = Selection.activeTransform; + if (target != null) + { + prop.transform.SetParent (target); + } + + Undo.RegisterCreatedObjectUndo(prop, "Create " + prop.name); + Selection.activeObject = prop; + Selection.activeTransform = prop.transform; + } + + //创建蓝色道具 + [MenuItem("GameObject/场景道具/创建加速道具blue", false, 10)] + public static void CreateBlueProp (MenuCommand menuCommand) + { + var prefab = LoadPrefab ("Assets/GameRes/AutoSource/scene_prop/blueProp.prefab"); + var pos = CreatePos (); + var prop = (GameObject)PrefabUtility.InstantiatePrefab(prefab); + prop.transform.position = pos; + var target = Selection.activeTransform; + if (target != null) + { + prop.transform.SetParent (target); + } + Undo.RegisterCreatedObjectUndo(prop, "Create " + prop.name); + Selection.activeObject = prop; + Selection.activeTransform = prop.transform; + } + + //创建绿色道具 + [MenuItem("GameObject/场景道具/创建减速道具green", false, 10)] + public static void CreateGreenProp (MenuCommand menuCommand) + { + var prefab = LoadPrefab ("Assets/GameRes/AutoSource/scene_prop/greenProp.prefab"); + var pos = CreatePos (); + var prop = (GameObject)PrefabUtility.InstantiatePrefab(prefab); + prop.transform.position = pos; + var target = Selection.activeTransform; + if (target != null) + { + prop.transform.SetParent (target); + } + Undo.RegisterCreatedObjectUndo(prop, "Create " + prop.name); + Selection.activeObject = prop; + Selection.activeTransform = prop.transform; + } + + //创建白色道具 + [MenuItem("GameObject/场景道具/创建惊悚buff道具white", false, 10)] + public static void CreateWhiteProp (MenuCommand menuCommand) + { + var prefab = LoadPrefab ("Assets/GameRes/AutoSource/scene_prop/whiteProp.prefab"); + var pos = CreatePos (); + var prop = (GameObject)PrefabUtility.InstantiatePrefab(prefab); + prop.transform.position = pos; + var target = Selection.activeTransform; + if (target != null) + { + prop.transform.SetParent (target); + } + Undo.RegisterCreatedObjectUndo(prop, "Create " + prop.name); + Selection.activeObject = prop; + Selection.activeTransform = prop.transform; + } + + //创建普通道具 + [MenuItem("GameObject/场景道具/创建普通豆子normal" , false, 10)] + public static void CreateNormalProp (MenuCommand menuCommand) + { + var prefab = LoadPrefab ("Assets/GameRes/AutoSource/scene_prop/normalProp.prefab"); + var pos = CreatePos (); + var prop = (GameObject)PrefabUtility.InstantiatePrefab(prefab); + prop.transform.position = pos; + var target = Selection.activeTransform; + if (target != null) + { + prop.transform.SetParent (target); + } + Undo.RegisterCreatedObjectUndo(prop, "Create " + prop.name); + Selection.activeObject = prop; + Selection.activeTransform = prop.transform; + } + + //创建敌人a + [MenuItem("GameObject/场景敌人/创建敌人a" , false, 10)] + public static void CreateEnemyA (MenuCommand menuCommand) + { + var prefab = LoadPrefab ("Assets/GameRes/GamePool/enemy_A.prefab"); + var pos = CreatePos (); + var prop = (GameObject)PrefabUtility.InstantiatePrefab(prefab); + prop.transform.position = pos; + var target = Selection.activeTransform; + if (target != null) + { + prop.transform.SetParent (target); + } + Undo.RegisterCreatedObjectUndo(prop, "Create " + prop.name); + Selection.activeObject = prop; + Selection.activeTransform = prop.transform; + } + + //创建敌人b + [MenuItem("GameObject/场景角色/创建敌人b" , false, 10)] + public static void CreateEnemyB (MenuCommand menuCommand) + { + var prefab = LoadPrefab ("Assets/GameRes/GamePool/enemy_B.prefab"); + var pos = CreatePos (); + var prop = (GameObject)PrefabUtility.InstantiatePrefab(prefab); + prop.transform.position = pos; + var target = Selection.activeTransform; + if (target != null) + { + prop.transform.SetParent (target); + } + Undo.RegisterCreatedObjectUndo(prop, "Create " + prop.name); + Selection.activeObject = prop; + Selection.activeTransform = prop.transform; + } + + //创建敌人c + [MenuItem("GameObject/场景角色/创建敌人c" , false, 10)] + public static void CreateEnemyC (MenuCommand menuCommand) + { + var prefab = LoadPrefab ("Assets/GameRes/GamePool/enemy_C.prefab"); + var pos = CreatePos (); + var prop = (GameObject)PrefabUtility.InstantiatePrefab(prefab); + prop.transform.position = pos; + var target = Selection.activeTransform; + if (target != null) + { + prop.transform.SetParent (target); + } + Undo.RegisterCreatedObjectUndo(prop, "Create " + prop.name); + Selection.activeObject = prop; + Selection.activeTransform = prop.transform; + } + + //创建敌人witch + [MenuItem("GameObject/场景角色/创建敌人witch" , false, 10)] + public static void CreateEnemyWitch (MenuCommand menuCommand) + { + var prefab = LoadPrefab ("Assets/GameRes/GamePool/enemy_Witch.prefab"); + var pos = CreatePos (); + var prop = (GameObject)PrefabUtility.InstantiatePrefab(prefab); + prop.transform.position = pos; + var target = Selection.activeTransform; + if (target != null) + { + prop.transform.SetParent (target); + } + Undo.RegisterCreatedObjectUndo(prop, "Create " + prop.name); + Selection.activeObject = prop; + Selection.activeTransform = prop.transform; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Game/Component/SceneProp/Editor/GameSceneTools.cs.meta b/Assets/Scripts/Game/Component/SceneProp/Editor/GameSceneTools.cs.meta new file mode 100644 index 0000000..ac05ae1 --- /dev/null +++ b/Assets/Scripts/Game/Component/SceneProp/Editor/GameSceneTools.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ac86259eea0d40a4b7010e3bb988653b +timeCreated: 1729322765 \ No newline at end of file