Assets.Editor.PokemonMapExporter.MayAttachVisualModel C# (CSharp) Method

MayAttachVisualModel() private method

private MayAttachVisualModel ( EntityModel entity, GameObject gameObject ) : void
entity Assets.Editor.Data.EntityModel
gameObject UnityEngine.GameObject
return void
        private void MayAttachVisualModel(EntityModel entity, GameObject gameObject)
        {
            var meshRendererComponent = gameObject.GetComponent<MeshRenderer>();
            var meshFilterComponent = gameObject.GetComponent<MeshFilter>();
            if (meshFilterComponent == null || meshRendererComponent == null) return;

            entity.Id = gameObject.name;
            entity.IsStatic = gameObject.isStatic;

            var componentModel = new EntityComponentModel { Id = "VisualModel" };
            var meshReferenceItem = new EntityComponentDataItemModel
            {
                Key = "MeshReference"
            };
            componentModel.Data.Add(meshReferenceItem);
            entity.Components.Add(componentModel);

            var exportsModel = _exportType != ModelExportType.No;
            var path = AssetDatabase.GetAssetPath(meshFilterComponent.sharedMesh ?? meshFilterComponent.mesh);

            if (!string.IsNullOrEmpty(path) && exportsModel)
            {
                if (_exportType == ModelExportType.OriginalModelFile)
                {
                    meshReferenceItem.Value = _filePathExporter.ExportAssetToModels(path);
                }
                else
                {
                    meshReferenceItem.Value = ConvertModelToPmeshAndSaveToFolder(meshFilterComponent.sharedMesh ?? meshFilterComponent.mesh,
                        meshRendererComponent.material,
                        path);
                }
            }

            var texture = meshRendererComponent.sharedMaterial.mainTexture;
            var textureAssetPath = AssetDatabase.GetAssetPath(texture);
            if (!string.IsNullOrEmpty(textureAssetPath) && exportsModel)
            {
                _filePathExporter.ExportAssetToModels(textureAssetPath);
            }
        }