You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中Inspector无法显示validTiles列表项的问题求助

Unity Inspector无法显示validTiles列表内容

我编写了一个函数,用于查找指定位置的Tile并添加到列表,最终将该列表赋值给validTiles。通过调试与Debug.Log可确认列表包含正确的Tile实例,但运行游戏时Inspector中却无法显示这些列表项。我已尝试将编辑器版本升级至2021.3.14f1,以及直接向validTiles列表添加元素,但问题仍未解决。

以下是我的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PieceController : MonoBehaviour
{
    [Header("Location managing")]
    public Tile currentTile;
    public Vector3 currentTilePos;

    [Header("Move making")]
    public Piece pieceType;
    public List<Tile> validTiles = new List<Tile>();

    private TileSelector tileSelector;

    // Start is called before the first frame update
    void Start()
    {
        tileSelector = GameObject.Find("GameController").GetComponent<TileSelector>();
    }

    // Update is called once per frame
    void Update()
    {
        currentTilePos = currentTile.GetComponent<Tile>().positionTop;
        validTiles = CalculateValidTiles();

        Debug.Log("Valid tiles: " + validTiles.ToString());
    }

    public List<Tile> CalculateValidTiles()
    {
        float tileLength = pieceType.tileLength;
        List<Tile> tiles = new List<Tile>();

        foreach (LegalMove move in pieceType.moves)
        {
            Vector3 legalPosition;
            Vector3 originPosition = transform.position;

            legalPosition = new Vector3(originPosition.x + move.tilesPositiveX, originPosition.y, originPosition.z + move.tilesPositiveZ);

            Ray ray = new Ray(legalPosition, Vector3.down);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, 1.5f))
            {
                Debug.Log("Hit: " + hit.collider.gameObject.name);

                if (hit.collider.gameObject.tag == "piece" && !validTiles.Contains(hit.collider.gameObject.GetComponent<Tile>()))
                {
                    tiles.Add(hit.collider.gameObject.GetComponent<Tile>());
                }
            }
        }

        Debug.Log("Tiles calculated: " + tiles.ToString());

        return tiles;
    }
}

内容的提问来源于stack exchange,提问作者pinkflameinthepan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:55:22