CreateProcessManagerByAnimationDataEditor.cs 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using ChivaXR;
  2. using ChivaXR.Op;
  3. using ChivaXR.VR;
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. using UnityEngine;
  7. using VRTK.Controllables.PhysicsBased;
  8. public class CreateProcessManagerByAnimationDataEditor : MonoBehaviour
  9. {
  10. #if UNITY_EDITOR
  11. public AnimationDataEditor m_AnimationDataEditor;
  12. [ContextMenu("创建ProcessManagerByAniDataEditor")]
  13. public void CreateProcessManagerByAniDataEditor()
  14. {
  15. if (m_AnimationDataEditor == null) return;
  16. for (int i = 0; i < m_AnimationDataEditor.animationEditorDatas.Count; i++)
  17. {
  18. OpTrigger_VRObjTriggerElement opTrigger_VRObjTriggerElement = new GameObject(m_AnimationDataEditor.animationEditorDatas[i].AniDataContainer.aniData.aniName).AddComponent<OpTrigger_VRObjTriggerElement>();
  19. opTrigger_VRObjTriggerElement.transform.parent = OperationManager.Instance.transform;
  20. opTrigger_VRObjTriggerElement.operationName = m_AnimationDataEditor.animationEditorDatas[i].AniDataContainer.aniData.aniName;
  21. opTrigger_VRObjTriggerElement.operationDescription = opTrigger_VRObjTriggerElement.operationName;
  22. opTrigger_VRObjTriggerElement.RegisterData();
  23. ProcessElement process = new GameObject(opTrigger_VRObjTriggerElement.operationName).AddComponent<ProcessElement>();
  24. process.transform.parent=ProcessManagement.Instance.transform;
  25. process.stepID = i + 1;
  26. PB_OpData pB_OpData = process.gameObject.AddComponent<PB_OpData>();
  27. process.processBase = pB_OpData;
  28. pB_OpData.opData = new OpDataInfo();
  29. pB_OpData.opData.operationDataName = opTrigger_VRObjTriggerElement.operationName;
  30. pB_OpData.opData.aniDataName = opTrigger_VRObjTriggerElement.operationName;
  31. }
  32. ProcessManagement.Instance.UpdateProcesses();
  33. }
  34. [ContextMenu("创建ProcessManagerByAniDataEditor")]
  35. public void CreatePCProcessManagerByAniDataEditor()
  36. {
  37. if (m_AnimationDataEditor == null) return;
  38. for (int i = 0; i < m_AnimationDataEditor.animationEditorDatas.Count; i++)
  39. {
  40. OpTrigger_ToolPack opTrigger_ToolPack = new GameObject(m_AnimationDataEditor.animationEditorDatas[i].AniDataContainer.aniData.aniName).AddComponent<OpTrigger_ToolPack>();
  41. opTrigger_ToolPack.transform.parent = OperationManager.Instance.transform;
  42. opTrigger_ToolPack.operationName = m_AnimationDataEditor.animationEditorDatas[i].AniDataContainer.aniData.aniName;
  43. opTrigger_ToolPack.operationDescription = opTrigger_ToolPack.operationName;
  44. opTrigger_ToolPack.RegisterData();
  45. ProcessElement process = new GameObject(opTrigger_ToolPack.operationName).AddComponent<ProcessElement>();
  46. process.transform.parent = ProcessManagement.Instance.transform;
  47. process.stepID = i + 1;
  48. PB_OpData pB_OpData = process.gameObject.AddComponent<PB_OpData>();
  49. process.processBase = pB_OpData;
  50. pB_OpData.opData = new OpDataInfo();
  51. pB_OpData.opData.operationDataName = opTrigger_ToolPack.operationName;
  52. pB_OpData.opData.aniDataName = opTrigger_ToolPack.operationName;
  53. }
  54. ProcessManagement.Instance.UpdateProcesses();
  55. }
  56. #endif
  57. }