diff --git a/Assets/Prefab/Gameplay/BaseCube.prefab b/Assets/Prefab/Gameplay/BaseCube.prefab index b57d53f..f8c16ed 100644 --- a/Assets/Prefab/Gameplay/BaseCube.prefab +++ b/Assets/Prefab/Gameplay/BaseCube.prefab @@ -15,6 +15,7 @@ GameObject: - component: {fileID: 8187785643586722023} - component: {fileID: 5829756071943867929} - component: {fileID: 3049630257319171134} + - component: {fileID: 3696309604421708629} m_Layer: 0 m_Name: BaseCube m_TagString: Untagged @@ -147,7 +148,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2791e039b8344f45ad6dc86f5188d82d, type: 3} m_Name: m_EditorClassIdentifier: - isActive: 1 + isEnableEdit: 1 + isOpenInEditor: 1 --- !u!114 &3049630257319171134 MonoBehaviour: m_ObjectHideFlags: 0 @@ -160,4 +162,19 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 06015834a0da4561ba47d104b73171a4, type: 3} m_Name: 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 diff --git a/Assets/Prefab/Gameplay/BaseSphere.prefab b/Assets/Prefab/Gameplay/BaseSphere.prefab index 889b5e3..4810375 100644 --- a/Assets/Prefab/Gameplay/BaseSphere.prefab +++ b/Assets/Prefab/Gameplay/BaseSphere.prefab @@ -15,6 +15,7 @@ GameObject: - component: {fileID: 2552293626926492943} - component: {fileID: 1157280543463811332} - component: {fileID: 9140300362975493256} + - component: {fileID: 4303299840996258095} m_Layer: 0 m_Name: BaseSphere m_TagString: Untagged @@ -147,7 +148,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2791e039b8344f45ad6dc86f5188d82d, type: 3} m_Name: m_EditorClassIdentifier: - isActive: 1 + isEnableEdit: 1 + isOpenInEditor: 1 --- !u!114 &9140300362975493256 MonoBehaviour: m_ObjectHideFlags: 0 @@ -160,4 +162,19 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 06015834a0da4561ba47d104b73171a4, type: 3} m_Name: 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 diff --git a/Assets/Prefab/Gameplay/Button.prefab b/Assets/Prefab/Gameplay/Button.prefab index 3602a5b..b0facfe 100644 --- a/Assets/Prefab/Gameplay/Button.prefab +++ b/Assets/Prefab/Gameplay/Button.prefab @@ -14,6 +14,7 @@ GameObject: - component: {fileID: 2933073816800901446} - component: {fileID: 162156210837205425} - component: {fileID: 4434834246038522293} + - component: {fileID: 7931804082152492731} m_Layer: 0 m_Name: Button m_TagString: Untagged @@ -136,8 +137,21 @@ MonoBehaviour: isEnableInteract: 1 isEnableEdit: 1 isEnableConnect: 1 - isEnablePlayerConnect: 1 componentName: needSignalCount: 1 isOpenInEditor: 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 diff --git a/Assets/Prefab/Gameplay/Console.prefab b/Assets/Prefab/Gameplay/Console.prefab index 748ec47..5889419 100644 --- a/Assets/Prefab/Gameplay/Console.prefab +++ b/Assets/Prefab/Gameplay/Console.prefab @@ -97,6 +97,7 @@ GameObject: - component: {fileID: 5726275595451979230} - component: {fileID: 799695989745071872} - component: {fileID: 3535959014221630543} + - component: {fileID: 2740576233111425490} m_Layer: 0 m_Name: Console m_TagString: Untagged @@ -223,6 +224,22 @@ MonoBehaviour: componentName: needSignalCount: 2 isOpenInEditor: 1 + sendSignalMode: 1 controlTarget: - {fileID: 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 diff --git a/Assets/Prefab/Gameplay/Door.prefab b/Assets/Prefab/Gameplay/Door.prefab index 59f5450..78b4261 100644 --- a/Assets/Prefab/Gameplay/Door.prefab +++ b/Assets/Prefab/Gameplay/Door.prefab @@ -14,6 +14,7 @@ GameObject: - component: {fileID: 6559594074799131378} - component: {fileID: 605469399670797709} - component: {fileID: 6634784627554641663} + - component: {fileID: 2193460980332421362} m_Layer: 0 m_Name: Door m_TagString: Untagged @@ -122,7 +123,6 @@ MonoBehaviour: isEnableInteract: 1 isEnableEdit: 1 isEnableConnect: 1 - isEnablePlayerConnect: 1 componentName: needSignalCount: 1 isOpenInEditor: 1 @@ -140,3 +140,17 @@ MonoBehaviour: m_EditorClassIdentifier: isEnableEdit: 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 diff --git a/Assets/Prefab/Gameplay/Emitter.prefab b/Assets/Prefab/Gameplay/Emitter.prefab index a27c14c..b187f35 100644 --- a/Assets/Prefab/Gameplay/Emitter.prefab +++ b/Assets/Prefab/Gameplay/Emitter.prefab @@ -45,6 +45,7 @@ GameObject: - component: {fileID: 8846970934275178021} - component: {fileID: 8496958603087533895} - component: {fileID: 7351527485767933101} + - component: {fileID: 8359041934045797068} m_Layer: 0 m_Name: Emitter m_TagString: Untagged @@ -168,7 +169,6 @@ MonoBehaviour: isEnableInteract: 1 isEnableEdit: 1 isEnableConnect: 1 - isEnablePlayerConnect: 1 componentName: needSignalCount: 1 isOpenInEditor: 1 @@ -179,3 +179,17 @@ MonoBehaviour: emitForce: 10 emitInterval: 1 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 diff --git a/Assets/Prefab/Gameplay/Lever.prefab b/Assets/Prefab/Gameplay/Lever.prefab index fce3af6..bc9cebd 100644 --- a/Assets/Prefab/Gameplay/Lever.prefab +++ b/Assets/Prefab/Gameplay/Lever.prefab @@ -14,6 +14,7 @@ GameObject: - component: {fileID: 6900514999789347776} - component: {fileID: 3969518804808817043} - component: {fileID: 4936355834716623489} + - component: {fileID: 2122911255580391115} m_Layer: 0 m_Name: Lever m_TagString: Untagged @@ -136,7 +137,20 @@ MonoBehaviour: isEnableInteract: 1 isEnableEdit: 1 isEnableConnect: 1 - isEnablePlayerConnect: 1 componentName: needSignalCount: 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 diff --git a/Assets/Prefab/Gameplay/MovingPlatform.prefab b/Assets/Prefab/Gameplay/MovingPlatform.prefab index 9ca4778..7ffad6e 100644 --- a/Assets/Prefab/Gameplay/MovingPlatform.prefab +++ b/Assets/Prefab/Gameplay/MovingPlatform.prefab @@ -76,6 +76,7 @@ GameObject: - component: {fileID: 3675454749213569031} - component: {fileID: 1931740156992591536} - component: {fileID: 7403824303730881351} + - component: {fileID: 7645408395893201992} m_Layer: 0 m_Name: MovingPlatform m_TagString: Untagged @@ -200,10 +201,23 @@ MonoBehaviour: isEnableInteract: 1 isEnableEdit: 1 isEnableConnect: 1 - isEnablePlayerConnect: 1 componentName: needSignalCount: 1 isOpenInEditor: 1 startPositionObject: {fileID: 3154147150921727065} targetPositionObject: {fileID: 2516956888757501734} 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 diff --git a/Assets/Prefab/Gameplay/NumberSlot.prefab b/Assets/Prefab/Gameplay/NumberSlot.prefab index c02c998..424b5b8 100644 --- a/Assets/Prefab/Gameplay/NumberSlot.prefab +++ b/Assets/Prefab/Gameplay/NumberSlot.prefab @@ -14,6 +14,7 @@ GameObject: - component: {fileID: 3036000835194628394} - component: {fileID: 7384438008133576482} - component: {fileID: 2187320556207737093} + - component: {fileID: 1413885433821236986} m_Layer: 0 m_Name: NumberSlot m_TagString: Untagged @@ -136,9 +137,22 @@ MonoBehaviour: isEnableInteract: 1 isEnableEdit: 1 isEnableConnect: 1 - isEnablePlayerConnect: 1 componentName: needSignalCount: 1 isOpenInEditor: 1 currentNumber: 0 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 diff --git a/Assets/Prefab/Gameplay/Player.prefab b/Assets/Prefab/Gameplay/Player.prefab index 5f17e24..0d369b7 100644 --- a/Assets/Prefab/Gameplay/Player.prefab +++ b/Assets/Prefab/Gameplay/Player.prefab @@ -316,6 +316,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: raycaster: {fileID: 0} + IsEnableEditing: 1 --- !u!114 &4616892119606260346 MonoBehaviour: m_ObjectHideFlags: 0 @@ -328,7 +329,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5981311fef324f939be05186f7936173, type: 3} m_Name: m_EditorClassIdentifier: - IsEnableConnecting: 1 raycaster: {fileID: 8217262775185484522} maxConnectDistance: 10.5 --- !u!1 &3610935294554348573 diff --git a/Assets/Prefab/Gameplay/PressurePlate.prefab b/Assets/Prefab/Gameplay/PressurePlate.prefab index 8bb0673..cc892cc 100644 --- a/Assets/Prefab/Gameplay/PressurePlate.prefab +++ b/Assets/Prefab/Gameplay/PressurePlate.prefab @@ -14,6 +14,7 @@ GameObject: - component: {fileID: 8785614081330407045} - component: {fileID: 220912239936987690} - component: {fileID: -7803032184951374842} + - component: {fileID: 5936472319330568279} m_Layer: 0 m_Name: PressurePlate m_TagString: Untagged @@ -136,7 +137,6 @@ MonoBehaviour: isEnableInteract: 1 isEnableEdit: 1 isEnableConnect: 1 - isEnablePlayerConnect: 1 componentName: needSignalCount: 1 isOpenInEditor: 1 @@ -145,3 +145,17 @@ MonoBehaviour: m_Bits: 4294967295 plateSize: {x: 1.2, y: 0.4, z: 1.2} 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 diff --git a/Assets/Prefab/Gameplay/Transport.prefab b/Assets/Prefab/Gameplay/Transport.prefab index 0a5476a..e5ba0f5 100644 --- a/Assets/Prefab/Gameplay/Transport.prefab +++ b/Assets/Prefab/Gameplay/Transport.prefab @@ -76,6 +76,7 @@ GameObject: - component: {fileID: 4491785711269447504} - component: {fileID: 1364031631549404635} - component: {fileID: 1226289750762660579} + - component: {fileID: 8139852752985491886} m_Layer: 0 m_Name: Transport m_TagString: Untagged @@ -211,3 +212,17 @@ MonoBehaviour: playerLayer: serializedVersion: 2 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 diff --git a/Assets/Script/Gameplay/Edit/MeshRenderEditableController.cs b/Assets/Script/Gameplay/Edit/MeshRenderEditableController.cs new file mode 100644 index 0000000..fa05b5e --- /dev/null +++ b/Assets/Script/Gameplay/Edit/MeshRenderEditableController.cs @@ -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(); + // 应用序列化的初始状态 + _meshRender.enabled = IsOpenInEditor; + } + +#if UNITY_EDITOR + private void OnValidate() + { + // 在编辑器中即时生效 + _meshRender = _meshRender == null ? GetComponent() : _meshRender; + if (_meshRender != null) + _meshRender.enabled = IsOpenInEditor; + } +#endif + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Edit/MeshRenderEditableController.cs.meta b/Assets/Script/Gameplay/Edit/MeshRenderEditableController.cs.meta new file mode 100644 index 0000000..b5d9bf9 --- /dev/null +++ b/Assets/Script/Gameplay/Edit/MeshRenderEditableController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ce12e438b058416294facd94fdcec417 +timeCreated: 1761183506 \ No newline at end of file