using GLTFast;
using UnityEngine;
/// <summary>
/// 场景模型导入
/// <summary>
public class SceneImport : MonoBehaviour
{
    public string[] colliers;
    public virtual async void Start()
    {
        var url = $"{Application.streamingAssetsPath}/Buildings/Scene/Scene.gltf";

        var gltf = new GltfImport();

        var impoerSetting = new ImportSettings
        {
            generateMipMaps = true
        };
        var success = await gltf.Load(url, impoerSetting);
        if (success)
        {
            gltf.InstantiateMainScene(transform);
            Transform[] grandFa = gameObject.GetComponentsInChildren<Transform>(true);
            foreach (Transform child in grandFa)
            {
                if (child.GetComponent<MeshFilter>())
                    child.gameObject.AddComponent<MeshCollider>();
            }

            for(int i=0;i< colliers.Length; i++)
            {
                var data= transform.Find("Scene/" + colliers[i]).gameObject.AddComponent<InstantiateData>();
                data.floorId = 0;
                data.Equipment = true;
                data.Power = true;
            }

        }
        else
        {
            Debug.LogError("Loading glTF failed!");
        }
    }
}