refactor():重构编辑系统,不再需要添加额外的脚本作为可编辑的入口了
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Core;
|
||||
using Script.Gameplay.Edit;
|
||||
using Script.Gameplay.Interface;
|
||||
using Script.Gameplay.Player;
|
||||
using UnityEngine;
|
||||
@@ -26,13 +27,13 @@ namespace UI
|
||||
ControllerLocator.Instance.TryGetWait<PlayerEditController>(OnGetPlayerEditController);
|
||||
}
|
||||
|
||||
public void OnBeginEdit(IEditable target)
|
||||
public void OnBeginEdit(GameObject target)
|
||||
{
|
||||
this.gameObject.SetActive(true);
|
||||
if (target != null)
|
||||
{
|
||||
ClearComponentUI();
|
||||
GenerateComponentUI(GetEditableComponentsFromEditable(target));
|
||||
GenerateComponentUI(EditableManager.GetEditableComponents(target));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -43,7 +44,7 @@ namespace UI
|
||||
}
|
||||
}
|
||||
|
||||
public void OnEndEdit(IEditable target)
|
||||
public void OnEndEdit(GameObject target)
|
||||
{
|
||||
this.gameObject.SetActive(false);
|
||||
|
||||
@@ -63,19 +64,6 @@ namespace UI
|
||||
//Debug.Log("PlayerEditViewer obtained PlayerEditController.");
|
||||
}
|
||||
|
||||
private List<IEditableComponent> GetEditableComponentsFromEditable(IEditable target)
|
||||
{
|
||||
if (target == null)
|
||||
{
|
||||
Debug.Log($"editable is null in {nameof(PlayerEditViewer)}");
|
||||
return null;
|
||||
}
|
||||
|
||||
return target.GetEditableComponents()
|
||||
.Where(c => c != null)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
private void ClearComponentUI()
|
||||
{
|
||||
foreach (var viewer in componentViewers)
|
||||
|
Reference in New Issue
Block a user