数据存储类
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu]
public class Locations : ScriptableObject
{
public List<Location> locations;
}
[System.Serializable]
public class Location
{
public string name;
public Vector3 location;
public Location(string name,Vector3 position)
{
this.name = name;
location = position;
}
}
编辑器扩展
using UnityEditor;
using UnityEngine;
public class LocationSavingTool : Editor
{
public static Locations locations = Resources.Load<Locations>("Configurations/Locations");
[MenuItem("CONTEXT/Transform/保存位置")]
static void SaveLocationToAsset()
{
GameObject thisObject = Selection.activeGameObject;
locations.locations.Add(new Location(thisObject.name, thisObject.transform.position));
}
}
使用方法
效果