Unity同种物体其中一个物体上的button被隐藏后其他物体上的button也被隐藏该如何解决?

 

用unity制作塔防游戏(模仿siki学院的教程视频制作,但是我的出现了问题),每个炮塔都有一个升级(Upgarde)按钮和一个拆卸(Destroy)按钮,如果将其中一个炮塔拆卸,其他炮塔的升级按钮均失效(即不能升级),拆卸按钮仍然可以正常使用,感觉可能是代码的问题。我想要的是每个炮塔升级一次后该炮塔的升级按钮失效(即每个炮塔只能升级一次),拆卸按钮可以正常使用,其余未升级的炮塔的升级按钮也可以正常使用

使用的unity的版本是2017.2.0f3,使用vs2019编写代码(c#),下面附上相关代码:

隐藏button相关

IEnumerator HideUpgardeUI()
    {
        upgradeCanvasAnimator.SetTrigger("Hide");
        //upgradeCanvas.SetActive(false);
        yield return new WaitForSeconds(0.2f);
        upgradeCanvas.SetActive(false);
    }

    public void OnUpgradeButtonDown()
    {
        selectedMapCube.UpgradeTurret();
       //HideUpgardeUI();
        StartCoroutine(HideUpgardeUI());
    }
    public void OnDestroyButtonDown()
    {
        selectedMapCube.DestroyTurret();
        //HideUpgardeUI();
        StartCoroutine(HideUpgardeUI());
    }

升级和拆卸的方法:

public void UpgradeTurret()
    {
		if (isUpgraded == true) return;//已经升级过了

		Destroy(turretGo);
		isUpgraded = true;
		turretGo = GameObject.Instantiate(turretData.turretUpgradedPrefab, transform.position, Quaternion.identity);
	}

	public void DestroyTurret()
    {
		Destroy(turretGo);
		isUpgraded = false;
		//isUpgraded = true;
		turretGo = null;
		turretData = null;
	}

 求解

你现在的问题是点击了一个升级按钮,其他的升级按钮也隐藏了吗?

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m