From 1c85a1383ce7fb371a4e765ea200b15d5abb369e Mon Sep 17 00:00:00 2001 From: sin365 <353374337@qq.com> Date: Fri, 13 Jan 2023 18:29:48 +0800 Subject: [PATCH] =?UTF-8?q?monsterSpawn=E5=AE=9E=E7=8E=B0=E4=B8=80?= =?UTF-8?q?=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/GameAssets/Prefabs/UI/Battle.meta | 8 ++ Assets/GameAssets/ScriptableObjectCfg.meta | 8 ++ .../ScriptableObjectCfg/SpawnPoint.meta | 8 ++ .../ScriptableObjectCfg/SpawnPoint/1.asset | 22 ++++ .../SpawnPoint/1.asset.meta | 8 ++ Assets/Scripts/Editor/MapSpawn.meta | 8 ++ .../Scripts/Editor/MapSpawn/MapSpawnMenu.cs | 20 ++++ .../Editor/MapSpawn/MapSpawnMenu.cs.meta | 11 ++ .../Scripts/Editor/MapSpawn/MapSpawnTool.cs | 102 ++++++++++++++++++ .../Editor/MapSpawn/MapSpawnTool.cs.meta | 11 ++ .../Main/Definition/ScriptableObject.meta | 8 ++ .../ScriptableObject/MapMonsterCfg.cs | 38 +++++++ .../ScriptableObject/MapMonsterCfg.cs.meta | 11 ++ Assets/Scripts/Main/Role/MainRole.cs | 2 +- 14 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 Assets/GameAssets/Prefabs/UI/Battle.meta create mode 100644 Assets/GameAssets/ScriptableObjectCfg.meta create mode 100644 Assets/GameAssets/ScriptableObjectCfg/SpawnPoint.meta create mode 100644 Assets/GameAssets/ScriptableObjectCfg/SpawnPoint/1.asset create mode 100644 Assets/GameAssets/ScriptableObjectCfg/SpawnPoint/1.asset.meta create mode 100644 Assets/Scripts/Editor/MapSpawn.meta create mode 100644 Assets/Scripts/Editor/MapSpawn/MapSpawnMenu.cs create mode 100644 Assets/Scripts/Editor/MapSpawn/MapSpawnMenu.cs.meta create mode 100644 Assets/Scripts/Editor/MapSpawn/MapSpawnTool.cs create mode 100644 Assets/Scripts/Editor/MapSpawn/MapSpawnTool.cs.meta create mode 100644 Assets/Scripts/Main/Definition/ScriptableObject.meta create mode 100644 Assets/Scripts/Main/Definition/ScriptableObject/MapMonsterCfg.cs create mode 100644 Assets/Scripts/Main/Definition/ScriptableObject/MapMonsterCfg.cs.meta diff --git a/Assets/GameAssets/Prefabs/UI/Battle.meta b/Assets/GameAssets/Prefabs/UI/Battle.meta new file mode 100644 index 0000000..dde6d9c --- /dev/null +++ b/Assets/GameAssets/Prefabs/UI/Battle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 556dae285be068c45bfa3a7a455d47cd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameAssets/ScriptableObjectCfg.meta b/Assets/GameAssets/ScriptableObjectCfg.meta new file mode 100644 index 0000000..80ef139 --- /dev/null +++ b/Assets/GameAssets/ScriptableObjectCfg.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e7a5463a745c5c41ab56d149de61443 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameAssets/ScriptableObjectCfg/SpawnPoint.meta b/Assets/GameAssets/ScriptableObjectCfg/SpawnPoint.meta new file mode 100644 index 0000000..717f88a --- /dev/null +++ b/Assets/GameAssets/ScriptableObjectCfg/SpawnPoint.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a27bf6b0744bdd14097dfbcf54140eda +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameAssets/ScriptableObjectCfg/SpawnPoint/1.asset b/Assets/GameAssets/ScriptableObjectCfg/SpawnPoint/1.asset new file mode 100644 index 0000000..110762e --- /dev/null +++ b/Assets/GameAssets/ScriptableObjectCfg/SpawnPoint/1.asset @@ -0,0 +1,22 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: f0eceb9759f416443ae2939b267ca38e, type: 3} + m_Name: 1 + m_EditorClassIdentifier: + MapID: 1 + StepList: + - StepID: 1 + SpawnPoints: + - SpawnPointID: 1 + MonsterCfgID: 1 + Pos: {x: 0, y: 0, z: 0} + MonsterCount: 5 diff --git a/Assets/GameAssets/ScriptableObjectCfg/SpawnPoint/1.asset.meta b/Assets/GameAssets/ScriptableObjectCfg/SpawnPoint/1.asset.meta new file mode 100644 index 0000000..0b15791 --- /dev/null +++ b/Assets/GameAssets/ScriptableObjectCfg/SpawnPoint/1.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b5c84ae9cee049942850f5a0918294ba +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Editor/MapSpawn.meta b/Assets/Scripts/Editor/MapSpawn.meta new file mode 100644 index 0000000..0746834 --- /dev/null +++ b/Assets/Scripts/Editor/MapSpawn.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7870abac182c82c44a0061b8be5e8b5f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Editor/MapSpawn/MapSpawnMenu.cs b/Assets/Scripts/Editor/MapSpawn/MapSpawnMenu.cs new file mode 100644 index 0000000..ad6473c --- /dev/null +++ b/Assets/Scripts/Editor/MapSpawn/MapSpawnMenu.cs @@ -0,0 +1,20 @@ +using UnityEditor; +using UnityEngine; + +public class MapSpawnMenu : EditorWindow +{ + [MenuItem("地图/刷怪点编辑")] + private static void ShowWindow() + { + //第一种 + EditorWindow window = CreateWindow(); + window.Show(); + window.Focus(); + + + //GameObject go = new GameObject(); + //go.name = "SpawnTools"; + //go.transform.position = Vector3.zero; + //go.AddComponent(); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Editor/MapSpawn/MapSpawnMenu.cs.meta b/Assets/Scripts/Editor/MapSpawn/MapSpawnMenu.cs.meta new file mode 100644 index 0000000..67f75d0 --- /dev/null +++ b/Assets/Scripts/Editor/MapSpawn/MapSpawnMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: db6c3ef94c1f7964b991c74b08395648 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Editor/MapSpawn/MapSpawnTool.cs b/Assets/Scripts/Editor/MapSpawn/MapSpawnTool.cs new file mode 100644 index 0000000..ef9e49e --- /dev/null +++ b/Assets/Scripts/Editor/MapSpawn/MapSpawnTool.cs @@ -0,0 +1,102 @@ +using UnityEditor; +using UnityEngine; + +public class MapSpawnTool : EditorWindow +{ + MapMonsterCfg mapMonsterCfg; + bool bInit = false; + private void OnGUI() + { + if (GUILayout.Button("新建")) + { + //按下按钮后执行的方法 + mapMonsterCfg = new MapMonsterCfg(); + bInit = true; + } + + if (GUILayout.Button("载入")) + { + //按下按钮后执行的方法 + } + + if (!bInit) + return; + + mapMonsterCfg.MapID = EditorGUILayout.IntField("地图ID:", mapMonsterCfg.MapID); + + if (GUILayout.Button("保存到文件")) + { + AssetDatabase.CreateAsset(mapMonsterCfg, $"Assets/GameAssets/ScriptableObjectCfg/SpawnPoint/{mapMonsterCfg.MapID}.asset"); + } + + EditorGUILayout.LabelField("本地图Step数量:"+ mapMonsterCfg.StepList.Count); + + if (GUILayout.Button($" 新增Step")) + { mapMonsterCfg.StepList.Add(new MapMonsterCfg_Step()); return; } + + + (Color, Color) bcStep = (GUI.backgroundColor, GUI.color); + GUI.backgroundColor = Color.blue; + GUI.color = Color.blue; + + foreach (var step in mapMonsterCfg.StepList) + { + + + EditorGUILayout.LabelField($"-- Step {step.StepID} Start --"); + + step.StepID = EditorGUILayout.IntField("----StepID:", step.StepID); + + EditorGUILayout.LabelField($"---- Step {step.StepID} 数量:" + step.SpawnPoints.Count); + + //GUI.color = Color.white; + if (GUILayout.Button($"删除Step:{step.StepID}")) + { mapMonsterCfg.StepList.Remove(step); return; } + + + (Color, Color) bcPoint = (GUI.backgroundColor, GUI.color); + GUI.backgroundColor = Color.green; + GUI.color = Color.green; + + if (GUILayout.Button($"在Step{step.StepID} 中创建一个刷怪点")) + { step.SpawnPoints.Add(new MapMonsterCfg_Spawn()); } + + foreach (var point in step.SpawnPoints) + { + EditorGUILayout.LabelField($"Point {point.SpawnPointID} Start"); + //GUI.color = Color.green; + if (GUILayout.Button($"删除Point:{point.SpawnPointID}")) + { step.SpawnPoints.Remove(point); return; } + + point.SpawnPointID = EditorGUILayout.IntField($"Point {point.SpawnPointID}->SpawnPointID:", point.SpawnPointID); + point.MonsterCfgID = EditorGUILayout.IntField($"Point {point.SpawnPointID}->MonsterCfgID:", point.MonsterCfgID); + point.MonsterCount = EditorGUILayout.IntField($"Point {point.SpawnPointID}->MonsterCount:", point.MonsterCount); + point.Pos = EditorGUILayout.Vector3Field("Point {point.SpawnPointID}:->Pos", point.Pos); + EditorGUILayout.LabelField($"Point {point.SpawnPointID} End"); + } + + GUI.backgroundColor = bcPoint.Item1; + GUI.color = bcPoint.Item2; + + //GUI.color = Color.white; + EditorGUILayout.LabelField("-- Step 1 End--"); + } + + GUI.backgroundColor = bcStep.Item1; + GUI.color = bcStep.Item2; + + #region 绘制点 + foreach (var step in mapMonsterCfg.StepList) + { + foreach (var point in step.SpawnPoints) + { + Gizmos.DrawCube(point.Pos, new Vector3(1, 1, 1)); + } + } + + #endregion + } + + + +} \ No newline at end of file diff --git a/Assets/Scripts/Editor/MapSpawn/MapSpawnTool.cs.meta b/Assets/Scripts/Editor/MapSpawn/MapSpawnTool.cs.meta new file mode 100644 index 0000000..607df24 --- /dev/null +++ b/Assets/Scripts/Editor/MapSpawn/MapSpawnTool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4d0afedb12e418744bafbb659ad0ebdc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Main/Definition/ScriptableObject.meta b/Assets/Scripts/Main/Definition/ScriptableObject.meta new file mode 100644 index 0000000..0a17d46 --- /dev/null +++ b/Assets/Scripts/Main/Definition/ScriptableObject.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 69da13409014cbd40b578a4d3bdff3a4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Main/Definition/ScriptableObject/MapMonsterCfg.cs b/Assets/Scripts/Main/Definition/ScriptableObject/MapMonsterCfg.cs new file mode 100644 index 0000000..4461a8f --- /dev/null +++ b/Assets/Scripts/Main/Definition/ScriptableObject/MapMonsterCfg.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[CreateAssetMenu(fileName = "BulletData", menuName = "ScriptableObject/子弹数据", order = 0)] +public class MapMonsterCfg : ScriptableObject +{ + public int MapID; + + public List StepList; + + public MapMonsterCfg() + { + StepList = new List(); + } +} + +[Serializable] +public class MapMonsterCfg_Step +{ + public int StepID; + public List SpawnPoints; + + public MapMonsterCfg_Step() + { + SpawnPoints = new List(); + } +} + +[Serializable] +public class MapMonsterCfg_Spawn +{ + public int SpawnPointID; + public int MonsterCfgID; + public Vector3 Pos; + public int MonsterCount; +} diff --git a/Assets/Scripts/Main/Definition/ScriptableObject/MapMonsterCfg.cs.meta b/Assets/Scripts/Main/Definition/ScriptableObject/MapMonsterCfg.cs.meta new file mode 100644 index 0000000..df703f6 --- /dev/null +++ b/Assets/Scripts/Main/Definition/ScriptableObject/MapMonsterCfg.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f0eceb9759f416443ae2939b267ca38e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Main/Role/MainRole.cs b/Assets/Scripts/Main/Role/MainRole.cs index 6356dfe..cd9853b 100644 --- a/Assets/Scripts/Main/Role/MainRole.cs +++ b/Assets/Scripts/Main/Role/MainRole.cs @@ -154,7 +154,7 @@ namespace Game { //如果超过移动时间 if(MoveTime > ConstClass.ToFastModeTime - && PlayData.skill.hadskillid.Contains(5)//判断是否有加速技能 + //&& PlayData.skill.hadskillid.Contains(5)//判断是否有加速技能 ) IsFastSkillMode = true; else