小编Jac*_*sen的帖子

集合被修改,枚举操作可能无法执行。统一

我目前正在制作一款 RTS 风格的游戏。我制作了这个战争迷雾脚本来让敌人隐形:

void Update () {
    foreach (GameObject enemy in enemies) {
        if (enemy == null) {
            enemies.Remove (enemy);
            continue;
        } else {
            Visible = false;
            foreach (GameObject vision in visions) {
                if (vision == null) {
                    visions.Remove (vision);
                    continue;
                } else {
                    Vector3 point = enemy.GetComponent<Collider> ().ClosestPoint (vision.transform.position);
                    float range = vision.GetComponent<FieldOfView> ().viewRadius;
                    float distance = Vector3.Distance (point, vision.transform.position);
                    if (distance <= range) {
                        Visible = true;
                        break;
                    }
                }
            }
            MeshRenderer render = enemy.GetComponent<MeshRenderer> ();
            if (Visible) …
Run Code Online (Sandbox Code Playgroud)

c# foreach list unity-game-engine

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

foreach ×1

list ×1

unity-game-engine ×1