我在手镯教程的帮助下为塔楼做了一个系统。我想按可脚本对象的索引来选择塔,但是我不能在TurretBP中使用数组。
TurretBP正在存储所有的炮塔数据
Buildmanager实例化turres
和附加在按钮上的SelectTurret()方法
以下是代码:
using UnityEngine;
using UnityEngine.UI;
public class Shop : MonoBehaviour
{
public TurretBP turret;
public TurretBP Jamsheed;
public TurretBP Farm;
public TurretBP Otbaphou;
public TurretBP Guard;
public int turretIdx;
BuildManager buildManager;
private void Start()
{
buildManager = BuildManager.instance;
}
public void SelectTurret()
{
buildManager.SelectTurretToBuild(turret);
}
public void SelectJamsheed()
{
buildManager.SelectTurretToBuild(Jamsheed);
}
public void SelectFarm()
{
buildManager.SelectTurretToBuild(Farm);
}
public void SelectOtbaphou()
{
buildManager.SelectTurretToBuild(Otbaphou);
}
public void SelectGuard()
{
buildManager.SelectTurretToBuild(Guard);
}
}发布于 2020-11-18 12:36:32
您可以使用数组(idk为什么不能这样写):
[SerializeField] private TurretBP[] towers;
public enum Towers
{
TURRET = 0,
JAMSHEED = 1,
FARM = 2,
OTBAPHOU = 3,
GUARD = 4
}
public TurretBP GetTower(int index)
{
return towers[index];
}然后您可以调用buildManager.SelectTurretToBuild(GetTower(Towers.Guard));或buildManager.SelectTurretToBuild(GetTower(4));
https://stackoverflow.com/questions/64892369
复制相似问题