修改
This commit is contained in:
parent
9bff71e4bf
commit
9bd1be8b9b
100
meng_yao/Assets/Config/MapLevel_MonsterInfo_1.txt
Normal file
100
meng_yao/Assets/Config/MapLevel_MonsterInfo_1.txt
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"wave": 1,
|
||||||
|
"spawnPoint": 1,
|
||||||
|
"enemies": [
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 0, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3}
|
||||||
|
],
|
||||||
|
"totalReward": 50
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"wave": 2,
|
||||||
|
"spawnPoint": 1,
|
||||||
|
"enemies": [
|
||||||
|
{"id": "Enemy_005", "count": 1, "startTime": 0, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_005", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_005", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_005", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_005", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3}
|
||||||
|
],
|
||||||
|
"totalReward": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"wave": 3,
|
||||||
|
"spawnPoint": 1,
|
||||||
|
"enemies": [
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 0, "Reward": 3},
|
||||||
|
{"id": "Enemy_003", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_003", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_003", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 500, "Reward": 3}
|
||||||
|
],
|
||||||
|
"totalReward": 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"wave": 4,
|
||||||
|
"spawnPoint": 1,
|
||||||
|
"enemies": [
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 0, "Reward": 3},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_006", "count": 1, "startTime": 500, "Reward": 8},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 3000, "Reward": 3},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_009", "count": 1, "startTime": 500, "Reward": 8},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 3000, "Reward": 3},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_009", "count": 1, "startTime": 500, "Reward": 8},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_004", "count": 1, "startTime": 500, "Reward": 3}
|
||||||
|
],
|
||||||
|
"totalReward": 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"wave": 5,
|
||||||
|
"spawnPoint": 1,
|
||||||
|
"enemies": [
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 0, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_008", "count": 1, "startTime": 500, "Reward": 8},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 3000, "Reward": 3},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_010", "count": 1, "startTime": 3000, "Reward": 5},
|
||||||
|
{"id": "Enemy_008", "count": 1, "startTime": 500, "Reward": 8},
|
||||||
|
{"id": "Enemy_010", "count": 1, "startTime": 500, "Reward": 5},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 3000, "Reward": 3},
|
||||||
|
{"id": "Enemy_001", "count": 1, "startTime": 500, "Reward": 3},
|
||||||
|
{"id": "Enemy_002", "count": 1, "startTime": 500, "Reward": 3}
|
||||||
|
],
|
||||||
|
"totalReward": 250
|
||||||
|
}
|
||||||
|
]
|
7
meng_yao/Assets/Config/MapLevel_MonsterInfo_1.txt.meta
Normal file
7
meng_yao/Assets/Config/MapLevel_MonsterInfo_1.txt.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b534002cbb7fddf4bb68f34fb1357ff3
|
||||||
|
TextScriptImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -4388,6 +4388,7 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1337722729}
|
- component: {fileID: 1337722729}
|
||||||
- component: {fileID: 1337722730}
|
- component: {fileID: 1337722730}
|
||||||
|
- component: {fileID: 1337722731}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: ReadJson
|
m_Name: ReadJson
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -4427,6 +4428,19 @@ MonoBehaviour:
|
|||||||
LevelAsset: {fileID: 4900000, guid: 89bbacca41b409b4dbf238a43bbb2e4b, type: 3}
|
LevelAsset: {fileID: 4900000, guid: 89bbacca41b409b4dbf238a43bbb2e4b, type: 3}
|
||||||
SkillAsset: {fileID: 4900000, guid: 3d441bff04ee5a64ea8b8967bcfbc070, type: 3}
|
SkillAsset: {fileID: 4900000, guid: 3d441bff04ee5a64ea8b8967bcfbc070, type: 3}
|
||||||
m_Level: []
|
m_Level: []
|
||||||
|
--- !u!114 &1337722731
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1337722728}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f1617263e713d804995e0d3f3073e0cb, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
MapLevelJson: {fileID: 4900000, guid: b534002cbb7fddf4bb68f34fb1357ff3, type: 3}
|
||||||
--- !u!1 &1342038372
|
--- !u!1 &1342038372
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -5892,7 +5906,7 @@ MonoBehaviour:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1884241084}
|
m_GameObject: {fileID: 1884241084}
|
||||||
m_Enabled: 1
|
m_Enabled: 0
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: fdf69f16194abb24d9e887468940e1cb, type: 3}
|
m_Script: {fileID: 11500000, guid: fdf69f16194abb24d9e887468940e1cb, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
@ -5921,6 +5935,9 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
retbutton: {fileID: 0}
|
retbutton: {fileID: 0}
|
||||||
ClosureObj: {fileID: 0}
|
ClosureObj: {fileID: 0}
|
||||||
|
SpawnLocations:
|
||||||
|
- {fileID: 734893407}
|
||||||
|
enemysList: []
|
||||||
--- !u!1 &1910338484
|
--- !u!1 &1910338484
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -5983,7 +6000,6 @@ MonoBehaviour:
|
|||||||
monsters:
|
monsters:
|
||||||
- id:
|
- id:
|
||||||
prefab: {fileID: 4703411402065954783, guid: aac4ad2c72526a54691494dd54e115a6, type: 3}
|
prefab: {fileID: 4703411402065954783, guid: aac4ad2c72526a54691494dd54e115a6, type: 3}
|
||||||
instance: {fileID: 0}
|
|
||||||
--- !u!1 &1932457212
|
--- !u!1 &1932457212
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -16,7 +16,7 @@ public class InitEnenyData : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 返回一个随机选择的路径点集合
|
// 返回一个随机选择的路径点集合
|
||||||
public waypoints GetRandomWaypoints()
|
public waypoints GetRandomWaypoints(int index)
|
||||||
{
|
{
|
||||||
// 检查列表是否为空,避免数组越界错误
|
// 检查列表是否为空,避免数组越界错误
|
||||||
if (mywaypoints.Count == 0)
|
if (mywaypoints.Count == 0)
|
||||||
@ -30,11 +30,7 @@ public class InitEnenyData : MonoBehaviour
|
|||||||
{
|
{
|
||||||
return mywaypoints[0];
|
return mywaypoints[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
// 随机选择一个索引,范围是 [0, mywaypoints.Count - 1]
|
|
||||||
int randomIndex = Random.Range(0, mywaypoints.Count);
|
|
||||||
|
|
||||||
// 返回随机选择的路径点集合
|
// 返回随机选择的路径点集合
|
||||||
return mywaypoints[randomIndex];
|
return mywaypoints[index];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ public class MY_Infos : MonoBehaviour
|
|||||||
public List<mengyaoInfo> mengyaoItems=new List<mengyaoInfo>();
|
public List<mengyaoInfo> mengyaoItems=new List<mengyaoInfo>();
|
||||||
|
|
||||||
public MY_Infos instane;
|
public MY_Infos instane;
|
||||||
|
|
||||||
void Awake()
|
void Awake()
|
||||||
{
|
{
|
||||||
instane = this;
|
instane = this;
|
||||||
|
@ -13,11 +13,29 @@ public class monster
|
|||||||
public class Monster_Infos : MonoBehaviour
|
public class Monster_Infos : MonoBehaviour
|
||||||
{
|
{
|
||||||
public List<monster> monsters = new List<monster>();
|
public List<monster> monsters = new List<monster>();
|
||||||
public Monster_Infos instance;
|
public static Monster_Infos instance;
|
||||||
|
|
||||||
void Awake()
|
void Awake()
|
||||||
{
|
{
|
||||||
instance = this;
|
instance = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 根据id得到预制体,如果找不到对应id,默认返回第一个怪物
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public GameObject GetMonster(string id)
|
||||||
|
{
|
||||||
|
foreach (monster value in monsters)
|
||||||
|
{
|
||||||
|
if (value.id==id)
|
||||||
|
{
|
||||||
|
return value.prefab;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return monsters[0].prefab;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,16 +1,20 @@
|
|||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Rendering;
|
using System.Collections;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class SpawnMonster : Base
|
public class SpawnMonster : Base
|
||||||
{
|
{
|
||||||
public static SpawnMonster intance;
|
public static SpawnMonster intance;
|
||||||
|
|
||||||
|
[Header("Éú³ÉλÖÃ")]
|
||||||
|
public List<Transform> SpawnLocations;
|
||||||
|
|
||||||
|
[Header("ÁÙʱË÷Òý")]
|
||||||
|
private int index=1;
|
||||||
|
|
||||||
|
public List<GameObject> enemysList=new List<GameObject>();
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
@ -20,6 +24,8 @@ public class SpawnMonster : Base
|
|||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
Base.GlobalObj.GetComponent<gameGlobal>().OnGamePlay += this.StartSpawning;
|
Base.GlobalObj.GetComponent<gameGlobal>().OnGamePlay += this.StartSpawning;
|
||||||
|
|
||||||
|
StartSpawning();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -70,22 +76,36 @@ public class SpawnMonster : Base
|
|||||||
|
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
|
// UpdateNodeList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void StartSpawning()
|
public async void StartSpawning()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
foreach (Wave value in MapLevelJsonRead.instance.waves)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (value.wave == index)
|
||||||
|
{
|
||||||
|
foreach (var enemy in value.enemies)
|
||||||
|
{
|
||||||
|
|
||||||
|
await Task.Delay(enemy.startTime * 3);
|
||||||
|
|
||||||
|
GameObject go = GameObject.Instantiate(Monster_Infos.instance.GetMonster(enemy.id), SpawnLocations[value.spawnPoint - 1].position, Quaternion.identity);
|
||||||
|
|
||||||
|
go.GetComponent<enemy>().index = value.spawnPoint-1;
|
||||||
|
go.GetComponent<Role>().gold = enemy.Reward;
|
||||||
|
|
||||||
|
enemysList.Add(go);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenerateEnemy()
|
|
||||||
{
|
// public void
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void OnDisable()
|
private void OnDisable()
|
||||||
|
@ -81,6 +81,9 @@ public class enemy : Role
|
|||||||
[Header("防御类型")] public DefenseType defenseType;
|
[Header("防御类型")] public DefenseType defenseType;
|
||||||
|
|
||||||
|
|
||||||
|
[HideInInspector]
|
||||||
|
[Header("·¾¶Ë÷Òý")] public int index;
|
||||||
|
|
||||||
public override void Start()
|
public override void Start()
|
||||||
{
|
{
|
||||||
base.Start();
|
base.Start();
|
||||||
@ -95,7 +98,7 @@ public class enemy : Role
|
|||||||
}
|
}
|
||||||
|
|
||||||
//开始移动
|
//开始移动
|
||||||
Init(InitEnenyData.instance.GetRandomWaypoints());
|
Init(InitEnenyData.instance.GetRandomWaypoints(index));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
33
meng_yao/Assets/script/A_Fight/json/MapLevelJsonRead.cs
Normal file
33
meng_yao/Assets/script/A_Fight/json/MapLevelJsonRead.cs
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class MapLevelJsonRead : JsonReadBase
|
||||||
|
{
|
||||||
|
public static MapLevelJsonRead instance;
|
||||||
|
public List<Wave> waves;
|
||||||
|
public TextAsset MapLevelJson;
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
instance=this;
|
||||||
|
waves = base.LoadJson<Wave>(MapLevelJson);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct maplevel_enemy
|
||||||
|
{
|
||||||
|
public string id; // 敌人类型
|
||||||
|
public int count; // 敌人数量
|
||||||
|
public int startTime; // 敌人生成开始时间
|
||||||
|
public int Reward; // 奖励
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct Wave
|
||||||
|
{
|
||||||
|
public int wave; // 波数
|
||||||
|
public int spawnPoint; // 生成点
|
||||||
|
public List<maplevel_enemy> enemies; // 敌人列表
|
||||||
|
public int totalReward; // 总奖励
|
||||||
|
}
|
||||||
|
|
11
meng_yao/Assets/script/A_Fight/json/MapLevelJsonRead.cs.meta
Normal file
11
meng_yao/Assets/script/A_Fight/json/MapLevelJsonRead.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f1617263e713d804995e0d3f3073e0cb
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Loading…
Reference in New Issue
Block a user