diff --git a/Assets/Scripts/Actions/CameraSwitchAction.cs b/Assets/Scripts/Actions/CameraSwitchAction.cs index 48f0e77d..beaa5066 100644 --- a/Assets/Scripts/Actions/CameraSwitchAction.cs +++ b/Assets/Scripts/Actions/CameraSwitchAction.cs @@ -47,9 +47,14 @@ namespace QFramework } else { - data.nearPos = Utility.GetVector3FromStrArray(datas["nearPos"]); - data.nearRot = Utility.GetVector3FromStrArray(datas["nearRot"]); - + if (datas.ContainsKey("nearPos")) + { + data.nearPos = Utility.GetVector3FromStrArray(datas["nearPos"]); + } + if (datas.ContainsKey("nearRot")) + { + data.nearRot = Utility.GetVector3FromStrArray(datas["nearRot"]); + } } if (datas.ContainsKey("normalDevice")) @@ -60,8 +65,14 @@ namespace QFramework } else { - data.normalPos = Utility.GetVector3FromStrArray(datas["normalPos"]); - data.normalRot = Utility.GetVector3FromStrArray(datas["normalRot"]); + if (datas.ContainsKey("normalPos")) + { + data.normalPos = Utility.GetVector3FromStrArray(datas["normalPos"]); + } + if (datas.ContainsKey("normalRot")) + { + data.normalRot = Utility.GetVector3FromStrArray(datas["normalRot"]); + } } if (datas.ContainsKey("isOn")) { diff --git a/Assets/Scripts/UI/UICameraSwitch.cs b/Assets/Scripts/UI/UICameraSwitch.cs index e144115e..1f3d5451 100644 --- a/Assets/Scripts/UI/UICameraSwitch.cs +++ b/Assets/Scripts/UI/UICameraSwitch.cs @@ -59,6 +59,11 @@ namespace QFramework.Example protected override void OnOpen(IUIData uiData = null) { mData = uiData as UICameraSwitchData ?? new UICameraSwitchData(); + + Near.gameObject.SetActive(mData.nearPos != default); + Far.gameObject.SetActive(mData.normalPos != default); + + if (string.IsNullOrEmpty(mData.isOn)) { if (Near.isOn) @@ -96,6 +101,8 @@ namespace QFramework.Example break; } } + + } private void Update() diff --git a/Doc/Xml配置文档.xml b/Doc/Xml配置文档.xml index 381962ab..c658c7f1 100644 --- a/Doc/Xml配置文档.xml +++ b/Doc/Xml配置文档.xml @@ -74,6 +74,7 @@