thewar_client/Client/Assets/1_Script/Info/SummonsUnit.cs

83 lines
2.5 KiB
C#

using System.Collections.Generic;
using UnityEngine;
public class SummonsUnit : MonoBehaviour
{
public bool isEnemy;
public List<BuildingInfo> buildings;
public int campHp;
public int[] addMoney;
private void Awake()
{
buildings = new List<BuildingInfo>();
campHp = 500;
buildings.Add(new BuildingInfo());
buildings.Add(new BuildingInfo());
buildings.Add(new BuildingInfo());
buildings.Add(new BuildingInfo());
buildings.Add(new BuildingInfo());
addMoney = new int[5];
for(int n = 0; n < addMoney.Length; n++)
{
addMoney[n] = 100;
}
}
private void Start()
{
if (isEnemy)
PlayCtrl.Instance.enemy = this;
else
PlayCtrl.Instance.player = this;
////테스트용
//if (isEnemy)
//{
// List<UnitCtrl> units = new List<UnitCtrl>();
// for (int m = 0; m < 5; m++)
// {
// units.Add(Statics.units["AxeGoblin"].GetComponent<UnitCtrl>());
// }
// buildings[0].units = units;
//}
}
public void Summons(int count)
{
BuildingInfo buildingInfo = buildings[count];
int listCount;
if (buildingInfo.units == null)
return;
else
listCount = buildingInfo.units.Count;
for (int n = 0; n < listCount; n++)
{
float pos = Random.Range(-3.7f, -0.3f);
if (isEnemy) //적소환
Instantiate(buildingInfo.units[n].gameObject, new Vector3(Random.Range(44.0f, 46.0f), pos, pos + 3.8f), Quaternion.identity).GetComponent<UnitCtrl>().isEnemy = isEnemy;
else //아군 유닛 소환
Instantiate(buildingInfo.units[n].gameObject, new Vector3(Random.Range(-44.0f, -46.0f), pos, pos + 3.8f), Quaternion.identity).GetComponent<UnitCtrl>().isEnemy = isEnemy;
}
if (!isEnemy)//자원 생성
{
PlayCtrl.Instance.TextUpdate(addMoney[count]);
}
}
public void EnemyStageSet(int stage)
{
List<AI> ai = Statics.excelDatas.GamestageAIList(Statics.chapter, stage);
for(int n = 0; n < ai.Count; n++)
{
int wave = ai[n].position / 10;
//int pos = ai[n].position % 10;
buildings[wave].units.Add(Statics.units[ai[n].unit].GetComponent<UnitCtrl>());
//if (ai[n].command.Equals(eCommand.add))
//units.Add();
}
}
}