添加Vec3InputField和其预制件

代码要改,还没写好,而且我不知道为什么在inputField那里的方法不管用,transform的GetFields()都是空的
This commit is contained in:
2025-02-12 17:57:26 +08:00
parent 675c571e86
commit cbbfc624d6
15 changed files with 2445 additions and 12 deletions

View File

@@ -6,6 +6,7 @@ using Ichni.RhythmGame.Beatmap;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.UIElements;
namespace Ichni.RhythmGame
{
@@ -35,6 +36,9 @@ namespace Ichni.RhythmGame
//存档类
public BaseElement_BM matchedBM { get; set; }
private Inspector inspector;
/// <summary>
/// 首次初始化
/// </summary>
@@ -42,6 +46,7 @@ namespace Ichni.RhythmGame
public virtual void Initialize(string name, Guid elementGuid, List<string> tags,
bool isFirstGenerated, GameElement parentElement)
{
inspector=EditorManager.instance.uiManager.inspector;
this.elementName = name;
this.elementGuid = elementGuid;
this.tags = tags;
@@ -138,10 +143,17 @@ namespace Ichni.RhythmGame
{
public virtual void SetUpInspector()
{
var container = EditorManager.instance.uiManager.inspector.GenerateContainer("Element Info");
var nameInputField = EditorManager.instance.uiManager.inspector.GenerateInputField(container, "Element Name", nameof(elementName));
var guidText = EditorManager.instance.uiManager.inspector.GenerateText(container, "Element GUID", nameof(elementGuid), true);
var container = inspector.GenerateContainer("Element Info");
var nameInputField = inspector.GenerateInputField(container, GetType().Name+"'s Name", nameof(elementName));
var guidText = inspector.GenerateText(container, "Element GUID", nameof(elementGuid), true);
var container2 = inspector.GenerateContainer("Element Property");
container2.setVoH(true);
var posInputField=inspector.GenerateVec3InputField(container2,"Position",nameof(transform.position));
var rotInputField=inspector.GenerateVec3InputField(container2,"Rotation",nameof(transform.eulerAngles));
var scaleInputField=inspector.GenerateVec3InputField(container2,"Scale",nameof(transform.localScale));
}
}
namespace Beatmap