当前位置:网站首页>Unity opens the explorer from the inspector interface, selects and records the file path
Unity opens the explorer from the inspector interface, selects and records the file path
2022-07-04 07:18:00 【Unity tool man】
stay AvProVideo There are functions in the plug-in , Click the button in the video component to open the Explorer window , Find the target video resource and record the resource path .
After checking, it's not difficult to realize , There are two main points
One is unity The built-in method for opening the Explorer
EditorUtility.OpenFilePanel();
The second is to customize the operation of the editor
Implementation process
Script 1: define window 、 Open Explorer
using UnityEngine;
using UnityEditor;
public class Example : EditorWindow
{
static GameObject _objectBuilderScript;
//[MenuItem("SKFramework/Example")]
public static void Open(GameObject objectBuilderScript)
{
GetWindow<Example>().Show();
_objectBuilderScript = objectBuilderScript;
}
private string path;
private void OnGUI()
{
// Horizontal layout
GUILayout.BeginHorizontal();
{
GUILayout.Label(" route ", GUILayout.Width(50f));
path = GUILayout.TextField(path);
if (GUILayout.Button(" Browse ", GUILayout.Width(50f)))
{
// You don't need the pop-up window above
path = EditorUtility.OpenFilePanel(" It's a success ୧*□*୨", Application.dataPath, "png");
_objectBuilderScript.GetComponent<ObjectBuilderScript>().path = path;
}
}
GUILayout.EndHorizontal();
}
}
Script 2: Operation class
using UnityEditor;
using UnityEngine;
public class ObjectBuilderScript : MonoBehaviour
{
public string path;
public void BuildObject()
{
Example.Open(gameObject);
}
}
Script 3: Override operation class
This script should be placed in Assets/Editor Under the folder
using UnityEngine;
using UnityEditor;
using System;
[CustomEditor(typeof(ObjectBuilderScript))]
public class ObjectBuilderEditor : Editor
{
public override void OnInspectorGUI()
{
string path;
string FilePath = Environment.CurrentDirectory;
DrawDefaultInspector();
ObjectBuilderScript myScript = (ObjectBuilderScript)target;
if (GUILayout.Button(" Select picture resources "))
{
myScript.BuildObject();
}
}
}
You can see that we have defined a button 
Popup 
Open Explorer 
After selecting the file, you can see that the path has been saved 

Reference article :https://blog.csdn.net/qq_42139931/article/details/123206376
Reference article :https://wenku.baidu.com/view/1b41bac9561810a6f524ccbff121dd36a32dc422.html
边栏推荐
- MySQL relearn 2- Alibaba cloud server CentOS installation mysql8.0
- Data double write consistency between redis and MySQL
- How notepad++ counts words
- Zephyr 学习笔记2,Scheduling
- 【Kubernetes系列】Kubernetes 上安装 KubeSphere
- Rhcsa the next day
- 提升复杂场景三维重建精度 | 基于PaddleSeg分割无人机遥感影像
- MySQL error resolution - error 1261 (01000): row 1 doesn't contain data for all columns
- Novel website program source code that can be automatically collected
- 【FreeRTOS】FreeRTOS学习笔记(7)— 手写FreeRTOS双向链表/源码分析
猜你喜欢

A new understanding of how to encrypt industrial computers: host reinforcement application

Four sets of APIs for queues

com. alibaba. nacos. api. exception. NacosException

Chain ide -- the infrastructure of the metauniverse

Selenium ide plug-in download, installation and use tutorial

响应式——媒体查询

MySQL storage engine

A real penetration test

Introduction to spark core components

Technical experts from large factories: common thinking models in architecture design
随机推荐
kubernetes集群之Label管理
同一个job有两个source就报其中一个数据库找不到,有大佬回答下吗
Chapter 1 programming problems
Introduction to rce in attack and defense world
tornado之目录
The cloud native programming challenge ended, and Alibaba cloud launched the first white paper on application liveliness technology in the field of cloud native
输入年份、月份,确定天数
MySQL error resolution - error 1261 (01000): row 1 doesn't contain data for all columns
Paddleocr prompt error: can not import AVX core while this file exists: xxx\paddle\fluid\core_ avx
Zabbix agent主动模式的实现
Technical experts from large factories: common thinking models in architecture design
Routing decorator of tornado project
Flink memory model, network buffer, memory tuning, troubleshooting
Chain ide -- the infrastructure of the metauniverse
移动适配:vw/vh
2022-021ARTS:下半年开始
How notepad++ counts words
由于dms升级为了新版,我之前的sql在老版本的dms中,这种情况下,如何找回我之前的sql呢?
tornado项目之路由装饰器
Crawler (III) crawling house prices in Tianjin