欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

error CS1525: Unexpected symbol `end-of-file'

程序员文章站 2022-05-30 16:37:35
...

今天写脚本莫名其妙报了一些错,折腾了很久终于搞清楚了

    public static GameObject LoadUI(string assetPath)
    {
        GameObject go = null;

        if (Application.isEditor && !ResConst.IsSimulateMode)
        {
#if UNITY_EDITOR
            assetPath = ResConst.AssetBundleSourcePath + assetPath + ".prefab";
            Debug.Log("LoadUI " + assetPath);
            go = AssetDatabase.LoadAssetAtPath<GameObject>(assetPath);
            if (go == null)
            {
                Debug.LogError("AssetDatabase.LoadAssetAtPath There is no asset at path " + assetPath);
                return null;
            }
        }
        else
        {
            go = NewAssetBundleLoad.LoadGameObject(assetPath) as GameObject;
        }
#endif
        return go;
    }

编辑器里编译没有报错,但是build资源包的时候报错,但是实际提示的位置完全不对
开始的想法是提示的位置有问题,一直在那里找
最后全部删了代码,才发现是这里的问题
当打资源包的时候,会去掉

#if UNITY_EDITOR 
...
#endif

之间的内容,于是去掉后的代码变成了

    public static GameObject LoadUI(string assetPath)
    {
        GameObject go = null;

        if (Application.isEditor && !ResConst.IsSimulateMode)
        {

        return go;
    }

很明显少了个"}"
以后写这种代码的时候要注意了