public void UpdateHeightLight(string id, bool berthingArea, bool notifyArea) { Debug.LogError(gameObjects.Count); foreach (GameObject go in gameObjects) { Debug.Log($"go: {go}"); if (id == "" || go.name.Contains(id)) { LineRenderer line = go.GetComponent<LineRenderer>(); Debug.Log($"id1233333: {id}"); if (line != null) { bool show = false; if (go.name.Contains("BerthingArea")) { show = berthingArea; Debug.Log($"berthingArea123: {berthingArea}"); } else if (go.name.Contains("NotifyArea")) { show = notifyArea; Debug.Log($"notifyArea123: {notifyArea}"); } line.TrySetActive(show); } } }第二个if语句没走进去,不知道是什么原因
时间: 2024-02-10 17:10:31 浏览: 119
public static bool WriteFile(string strText.pdf
根据给出的代码,第二个if语句指的是:
```
else if (go.name.Contains("NotifyArea"))
{
show = notifyArea;
Debug.Log($"notifyArea123: {notifyArea}");
}
```
因此,如果该if语句没有被执行,可能有以下几种原因:
1. `gameObjects`中没有包含`NotifyArea`的游戏对象。
2. `notifyArea`参数传入的值为`false`,导致`show`变量的值也为`false`,因此`line.TrySetActive(show)`方法没有将`LineRenderer`组件激活。
3. `go.name.Contains("NotifyArea")`条件判断出现问题,可以在代码中添加`Debug.Log(go.name)`语句,查看具体游戏对象的名称是否包含`NotifyArea`。
阅读全文