diff --git a/Assets/07.RKTools/Editor.meta b/Assets/07.RKTools/Editor.meta new file mode 100644 index 0000000..d86b873 --- /dev/null +++ b/Assets/07.RKTools/Editor.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 48a19cb902094ecc8ceb242ada697751 +timeCreated: 1747641441 \ No newline at end of file diff --git a/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs b/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs new file mode 100644 index 0000000..ad50bdb --- /dev/null +++ b/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs @@ -0,0 +1,52 @@ +using Stary.Evo.Editor; +using UnityEditor; +using UnityEngine; + +namespace Stary.Evo.RKTools +{ + [CustomEditor(typeof(ARTrackedImageEvoObj))] + public class ARTrackedImageEvoObjEditor : UnityEditor.Editor + { + /// + /// 序列化属性,在OnEnable中获取 + /// + private SerializedProperty domain; + + private SerializedProperty trackedTransform; + + /// + private string[] domainNames; + + private void OnEnable() + { + domain = serializedObject.FindProperty("domain"); + trackedTransform = serializedObject.FindProperty("trackedTransform"); + domainNames = CreatAssetWindow.GetCreatDomainAllName(); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + // 获取当前选中的索引 + int selectedIndex = System.Array.IndexOf(domainNames, domain.stringValue); + if (selectedIndex < 0) selectedIndex = 0; // 默认选中第一个 + + // 绘制下拉选择框 + selectedIndex = EditorGUILayout.Popup("Domain", selectedIndex, domainNames); + + // 更新选择的域名 + domain.stringValue = domainNames[selectedIndex]; + + EditorGUI.BeginChangeCheck(); + var newTrackedTransform + = EditorGUILayout.ObjectField(new GUIContent("Tracked Transform"), trackedTransform.objectReferenceValue, typeof(Transform), true) as Transform; + if (EditorGUI.EndChangeCheck()) + { + trackedTransform.objectReferenceValue = newTrackedTransform; + } + serializedObject.ApplyModifiedProperties(); + base.OnInspectorGUI(); + } + } +} \ No newline at end of file diff --git a/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs.meta b/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs.meta new file mode 100644 index 0000000..b1faf1a --- /dev/null +++ b/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 72092625ebc64a538340f91e8ddedfc3 +timeCreated: 1747641457 \ No newline at end of file diff --git a/Assets/07.RKTools/Editor/RKTools.Editor.asmdef b/Assets/07.RKTools/Editor/RKTools.Editor.asmdef new file mode 100644 index 0000000..0b630ab --- /dev/null +++ b/Assets/07.RKTools/Editor/RKTools.Editor.asmdef @@ -0,0 +1,17 @@ +{ + "name": "RKTools.Editor", + "rootNamespace": "", + "references": [ + "GUID:10c9b58b77ad42b4193e2a393b1a9899", + "GUID:044184040b21c434b8aee6f2a3424c06" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/07.RKTools/Editor/RKTools.Editor.asmdef.meta b/Assets/07.RKTools/Editor/RKTools.Editor.asmdef.meta new file mode 100644 index 0000000..b752a3e --- /dev/null +++ b/Assets/07.RKTools/Editor/RKTools.Editor.asmdef.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7b267fe3452f4939bf6a21810fbeab2b +timeCreated: 1747641687 \ No newline at end of file diff --git a/Assets/07.RKTools/RunTime/RKTools.RunTime.asmdef b/Assets/07.RKTools/RunTime/RKTools.RunTime.asmdef index 09cceec..aa15d7a 100644 --- a/Assets/07.RKTools/RunTime/RKTools.RunTime.asmdef +++ b/Assets/07.RKTools/RunTime/RKTools.RunTime.asmdef @@ -1,5 +1,5 @@ { - "name": "RKVoiceCommand.RunTime", + "name": "RKTools.RunTime", "rootNamespace": "", "references": [ "GUID:6447e10b87dc140ab924878c1ecef665", diff --git a/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs b/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs new file mode 100644 index 0000000..98df568 --- /dev/null +++ b/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Rokid.UXR.Module; +using UnityEngine; + +namespace Stary.Evo.RKTools +{ + public class ARTrackedImageEvoObj : ARTrackedImageObj + { + [HideInInspector] + public string domain; + [HideInInspector] + public Transform trackedTransform; + + public void Awake() + { + if (trackedTransform == null) + { + Debug.LogError("StaryEvo:TrackedImageEvoObj: trackedTransform 未赋值,请检查"); + } + OnARTrackedImageAdded.AddListener(OnARTrackedImageAddedEvent); ; + } + + private void OnARTrackedImageAddedEvent(ARTrackedImageObj obj) + { + TrackedImageEvoManager trackedImageEvoManager = ARTrackedImageManager.Instance as TrackedImageEvoManager; + trackedImageEvoManager.SetTrackedImageEvoData(trackedImageIndex,domain,trackedTransform); + } + + public void OnDestroy() + { + OnARTrackedImageAdded.RemoveListener(OnARTrackedImageAddedEvent); + } + } +} \ No newline at end of file diff --git a/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs.meta b/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs.meta new file mode 100644 index 0000000..4d9a208 --- /dev/null +++ b/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9cc1ca9700549444c93d7ea3d156ab5c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/07.RKTools/RunTime/TrackedImage/TrackedImageEvoManager.cs b/Assets/07.RKTools/RunTime/TrackedImage/TrackedImageEvoManager.cs index afb38cc..b5699f7 100644 --- a/Assets/07.RKTools/RunTime/TrackedImage/TrackedImageEvoManager.cs +++ b/Assets/07.RKTools/RunTime/TrackedImage/TrackedImageEvoManager.cs @@ -28,7 +28,7 @@ namespace Stary.Evo.RKTools return null; } - public void SetTrackedImageEvoData(int imageIndex, Transform transform) + public void SetTrackedImageEvoData(int imageIndex,string domain, Transform transform) { foreach (var imageEvoData in TrackedImages) {