feat(MeshRenderer): 实现MeshRenderer的可编辑组件

This commit is contained in:
2025-10-23 09:45:56 +08:00
parent e0054394f5
commit 4ef8430c6b
14 changed files with 230 additions and 12 deletions

View File

@@ -15,6 +15,7 @@ GameObject:
- component: {fileID: 8187785643586722023} - component: {fileID: 8187785643586722023}
- component: {fileID: 5829756071943867929} - component: {fileID: 5829756071943867929}
- component: {fileID: 3049630257319171134} - component: {fileID: 3049630257319171134}
- component: {fileID: 3696309604421708629}
m_Layer: 0 m_Layer: 0
m_Name: BaseCube m_Name: BaseCube
m_TagString: Untagged m_TagString: Untagged
@@ -147,7 +148,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2791e039b8344f45ad6dc86f5188d82d, type: 3} m_Script: {fileID: 11500000, guid: 2791e039b8344f45ad6dc86f5188d82d, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
isActive: 1 isEnableEdit: 1
isOpenInEditor: 1
--- !u!114 &3049630257319171134 --- !u!114 &3049630257319171134
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -160,4 +162,19 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 06015834a0da4561ba47d104b73171a4, type: 3} m_Script: {fileID: 11500000, guid: 06015834a0da4561ba47d104b73171a4, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
isActive: 1 isEnableEdit: 1
isOpenInEditor: 1
--- !u!114 &3696309604421708629
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7739979277884825363}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -15,6 +15,7 @@ GameObject:
- component: {fileID: 2552293626926492943} - component: {fileID: 2552293626926492943}
- component: {fileID: 1157280543463811332} - component: {fileID: 1157280543463811332}
- component: {fileID: 9140300362975493256} - component: {fileID: 9140300362975493256}
- component: {fileID: 4303299840996258095}
m_Layer: 0 m_Layer: 0
m_Name: BaseSphere m_Name: BaseSphere
m_TagString: Untagged m_TagString: Untagged
@@ -147,7 +148,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2791e039b8344f45ad6dc86f5188d82d, type: 3} m_Script: {fileID: 11500000, guid: 2791e039b8344f45ad6dc86f5188d82d, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
isActive: 1 isEnableEdit: 1
isOpenInEditor: 1
--- !u!114 &9140300362975493256 --- !u!114 &9140300362975493256
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -160,4 +162,19 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 06015834a0da4561ba47d104b73171a4, type: 3} m_Script: {fileID: 11500000, guid: 06015834a0da4561ba47d104b73171a4, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
isActive: 1 isEnableEdit: 1
isOpenInEditor: 1
--- !u!114 &4303299840996258095
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7979385610396712053}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -14,6 +14,7 @@ GameObject:
- component: {fileID: 2933073816800901446} - component: {fileID: 2933073816800901446}
- component: {fileID: 162156210837205425} - component: {fileID: 162156210837205425}
- component: {fileID: 4434834246038522293} - component: {fileID: 4434834246038522293}
- component: {fileID: 7931804082152492731}
m_Layer: 0 m_Layer: 0
m_Name: Button m_Name: Button
m_TagString: Untagged m_TagString: Untagged
@@ -136,8 +137,21 @@ MonoBehaviour:
isEnableInteract: 1 isEnableInteract: 1
isEnableEdit: 1 isEnableEdit: 1
isEnableConnect: 1 isEnableConnect: 1
isEnablePlayerConnect: 1
componentName: componentName:
needSignalCount: 1 needSignalCount: 1
isOpenInEditor: 1 isOpenInEditor: 1
signalDuration: 1 signalDuration: 1
--- !u!114 &7931804082152492731
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2052340463965227198}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -97,6 +97,7 @@ GameObject:
- component: {fileID: 5726275595451979230} - component: {fileID: 5726275595451979230}
- component: {fileID: 799695989745071872} - component: {fileID: 799695989745071872}
- component: {fileID: 3535959014221630543} - component: {fileID: 3535959014221630543}
- component: {fileID: 2740576233111425490}
m_Layer: 0 m_Layer: 0
m_Name: Console m_Name: Console
m_TagString: Untagged m_TagString: Untagged
@@ -223,6 +224,22 @@ MonoBehaviour:
componentName: componentName:
needSignalCount: 2 needSignalCount: 2
isOpenInEditor: 1 isOpenInEditor: 1
sendSignalMode: 1
controlTarget: controlTarget:
- {fileID: 0} - {fileID: 0}
IsBeActive: 0 IsBeActive: 0
signalDuration: 1
--- !u!114 &2740576233111425490
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6268190613584218029}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -14,6 +14,7 @@ GameObject:
- component: {fileID: 6559594074799131378} - component: {fileID: 6559594074799131378}
- component: {fileID: 605469399670797709} - component: {fileID: 605469399670797709}
- component: {fileID: 6634784627554641663} - component: {fileID: 6634784627554641663}
- component: {fileID: 2193460980332421362}
m_Layer: 0 m_Layer: 0
m_Name: Door m_Name: Door
m_TagString: Untagged m_TagString: Untagged
@@ -122,7 +123,6 @@ MonoBehaviour:
isEnableInteract: 1 isEnableInteract: 1
isEnableEdit: 1 isEnableEdit: 1
isEnableConnect: 1 isEnableConnect: 1
isEnablePlayerConnect: 1
componentName: componentName:
needSignalCount: 1 needSignalCount: 1
isOpenInEditor: 1 isOpenInEditor: 1
@@ -140,3 +140,17 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
isEnableEdit: 1 isEnableEdit: 1
isOpenInEditor: 1 isOpenInEditor: 1
--- !u!114 &2193460980332421362
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2729643726423589850}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -45,6 +45,7 @@ GameObject:
- component: {fileID: 8846970934275178021} - component: {fileID: 8846970934275178021}
- component: {fileID: 8496958603087533895} - component: {fileID: 8496958603087533895}
- component: {fileID: 7351527485767933101} - component: {fileID: 7351527485767933101}
- component: {fileID: 8359041934045797068}
m_Layer: 0 m_Layer: 0
m_Name: Emitter m_Name: Emitter
m_TagString: Untagged m_TagString: Untagged
@@ -168,7 +169,6 @@ MonoBehaviour:
isEnableInteract: 1 isEnableInteract: 1
isEnableEdit: 1 isEnableEdit: 1
isEnableConnect: 1 isEnableConnect: 1
isEnablePlayerConnect: 1
componentName: componentName:
needSignalCount: 1 needSignalCount: 1
isOpenInEditor: 1 isOpenInEditor: 1
@@ -179,3 +179,17 @@ MonoBehaviour:
emitForce: 10 emitForce: 10
emitInterval: 1 emitInterval: 1
destroyDelay: 5 destroyDelay: 5
--- !u!114 &8359041934045797068
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5873928673589519195}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -14,6 +14,7 @@ GameObject:
- component: {fileID: 6900514999789347776} - component: {fileID: 6900514999789347776}
- component: {fileID: 3969518804808817043} - component: {fileID: 3969518804808817043}
- component: {fileID: 4936355834716623489} - component: {fileID: 4936355834716623489}
- component: {fileID: 2122911255580391115}
m_Layer: 0 m_Layer: 0
m_Name: Lever m_Name: Lever
m_TagString: Untagged m_TagString: Untagged
@@ -136,7 +137,20 @@ MonoBehaviour:
isEnableInteract: 1 isEnableInteract: 1
isEnableEdit: 1 isEnableEdit: 1
isEnableConnect: 1 isEnableConnect: 1
isEnablePlayerConnect: 1
componentName: componentName:
needSignalCount: 1 needSignalCount: 1
isOpenInEditor: 1 isOpenInEditor: 1
--- !u!114 &2122911255580391115
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6227019518059310355}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -76,6 +76,7 @@ GameObject:
- component: {fileID: 3675454749213569031} - component: {fileID: 3675454749213569031}
- component: {fileID: 1931740156992591536} - component: {fileID: 1931740156992591536}
- component: {fileID: 7403824303730881351} - component: {fileID: 7403824303730881351}
- component: {fileID: 7645408395893201992}
m_Layer: 0 m_Layer: 0
m_Name: MovingPlatform m_Name: MovingPlatform
m_TagString: Untagged m_TagString: Untagged
@@ -200,10 +201,23 @@ MonoBehaviour:
isEnableInteract: 1 isEnableInteract: 1
isEnableEdit: 1 isEnableEdit: 1
isEnableConnect: 1 isEnableConnect: 1
isEnablePlayerConnect: 1
componentName: componentName:
needSignalCount: 1 needSignalCount: 1
isOpenInEditor: 1 isOpenInEditor: 1
startPositionObject: {fileID: 3154147150921727065} startPositionObject: {fileID: 3154147150921727065}
targetPositionObject: {fileID: 2516956888757501734} targetPositionObject: {fileID: 2516956888757501734}
moveSpeed: 2 moveSpeed: 2
--- !u!114 &7645408395893201992
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7005547257201551238}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -14,6 +14,7 @@ GameObject:
- component: {fileID: 3036000835194628394} - component: {fileID: 3036000835194628394}
- component: {fileID: 7384438008133576482} - component: {fileID: 7384438008133576482}
- component: {fileID: 2187320556207737093} - component: {fileID: 2187320556207737093}
- component: {fileID: 1413885433821236986}
m_Layer: 0 m_Layer: 0
m_Name: NumberSlot m_Name: NumberSlot
m_TagString: Untagged m_TagString: Untagged
@@ -136,9 +137,22 @@ MonoBehaviour:
isEnableInteract: 1 isEnableInteract: 1
isEnableEdit: 1 isEnableEdit: 1
isEnableConnect: 1 isEnableConnect: 1
isEnablePlayerConnect: 1
componentName: componentName:
needSignalCount: 1 needSignalCount: 1
isOpenInEditor: 1 isOpenInEditor: 1
currentNumber: 0 currentNumber: 0
correctNumber: 1 correctNumber: 1
--- !u!114 &1413885433821236986
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1079693037897703353}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -316,6 +316,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
raycaster: {fileID: 0} raycaster: {fileID: 0}
IsEnableEditing: 1
--- !u!114 &4616892119606260346 --- !u!114 &4616892119606260346
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -328,7 +329,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5981311fef324f939be05186f7936173, type: 3} m_Script: {fileID: 11500000, guid: 5981311fef324f939be05186f7936173, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
IsEnableConnecting: 1
raycaster: {fileID: 8217262775185484522} raycaster: {fileID: 8217262775185484522}
maxConnectDistance: 10.5 maxConnectDistance: 10.5
--- !u!1 &3610935294554348573 --- !u!1 &3610935294554348573

View File

@@ -14,6 +14,7 @@ GameObject:
- component: {fileID: 8785614081330407045} - component: {fileID: 8785614081330407045}
- component: {fileID: 220912239936987690} - component: {fileID: 220912239936987690}
- component: {fileID: -7803032184951374842} - component: {fileID: -7803032184951374842}
- component: {fileID: 5936472319330568279}
m_Layer: 0 m_Layer: 0
m_Name: PressurePlate m_Name: PressurePlate
m_TagString: Untagged m_TagString: Untagged
@@ -136,7 +137,6 @@ MonoBehaviour:
isEnableInteract: 1 isEnableInteract: 1
isEnableEdit: 1 isEnableEdit: 1
isEnableConnect: 1 isEnableConnect: 1
isEnablePlayerConnect: 1
componentName: componentName:
needSignalCount: 1 needSignalCount: 1
isOpenInEditor: 1 isOpenInEditor: 1
@@ -145,3 +145,17 @@ MonoBehaviour:
m_Bits: 4294967295 m_Bits: 4294967295
plateSize: {x: 1.2, y: 0.4, z: 1.2} plateSize: {x: 1.2, y: 0.4, z: 1.2}
plateOffset: {x: 0, y: 0.5, z: 0} plateOffset: {x: 0, y: 0.5, z: 0}
--- !u!114 &5936472319330568279
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2191333364839819432}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -76,6 +76,7 @@ GameObject:
- component: {fileID: 4491785711269447504} - component: {fileID: 4491785711269447504}
- component: {fileID: 1364031631549404635} - component: {fileID: 1364031631549404635}
- component: {fileID: 1226289750762660579} - component: {fileID: 1226289750762660579}
- component: {fileID: 8139852752985491886}
m_Layer: 0 m_Layer: 0
m_Name: Transport m_Name: Transport
m_TagString: Untagged m_TagString: Untagged
@@ -211,3 +212,17 @@ MonoBehaviour:
playerLayer: playerLayer:
serializedVersion: 2 serializedVersion: 2
m_Bits: 256 m_Bits: 256
--- !u!114 &8139852752985491886
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6314903437700050095}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce12e438b058416294facd94fdcec417, type: 3}
m_Name:
m_EditorClassIdentifier:
isEnableEdit: 1
isOpenInEditor: 1

View File

@@ -0,0 +1,51 @@
using UnityEngine;
using Script.Gameplay.Interface;
namespace Script.Gameplay.Edit
{
[RequireComponent(typeof(MeshRenderer))]
public class MeshRenderEditableController : MonoBehaviour, IEditableComponent
{
[SerializeField] private bool isEnableEdit = true;
public bool IsEnableEdit
{
get => isEnableEdit;
set => isEnableEdit = value;
}
[SerializeField] private bool isOpenInEditor = true;
public bool IsOpenInEditor
{
get => isOpenInEditor;
set
{
isOpenInEditor = value;
if (_meshRender != null)
_meshRender.enabled = isOpenInEditor;
}
}
public string ComponentName { get; set; } = "MeshRenderer";
private MeshRenderer _meshRender;
private void Awake()
{
_meshRender = GetComponent<MeshRenderer>();
// 应用序列化的初始状态
_meshRender.enabled = IsOpenInEditor;
}
#if UNITY_EDITOR
private void OnValidate()
{
// 在编辑器中即时生效
_meshRender = _meshRender == null ? GetComponent<MeshRenderer>() : _meshRender;
if (_meshRender != null)
_meshRender.enabled = IsOpenInEditor;
}
#endif
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ce12e438b058416294facd94fdcec417
timeCreated: 1761183506