LoadReference.cs 1.1 KB

123456789101112131415161718192021222324252627282930
  1. using UnityEngine;
  2. using Blue;
  3. public class LoadReference : AbstractController
  4. {
  5. public GameObject goRefrence;
  6. private Transform meshTest=>(SceneIOCContainer.Instance.Pull("mesh_test")as GameObject).transform;
  7. private Transform meshTestParent=>(SceneIOCContainer.Instance.Pull("ARSpaceForAll")as GameObject).transform;
  8. private void Start()
  9. {
  10. this.RegisterEvent<GetReferencePosEvent>(GetObjOfRefrencePosRotSuccess).UnRegisterWhenGameObjectDestroyed(gameObject);
  11. }
  12. private void GetObjOfRefrencePosRotSuccess(GetReferencePosEvent e)
  13. {
  14. Vector3 pos = new Vector3(e.PosRot.x, e.PosRot.y, e.PosRot.z);
  15. SetPosRot(pos);
  16. //Debug.Log("参考物坐标:"+pos);
  17. }
  18. private void SetPosRot(Vector3 pos)
  19. {
  20. goRefrence = Instantiate(goRefrence,meshTest);
  21. goRefrence.name = "goRefrence";
  22. SceneIOCContainer.Instance.Push("goRefrence",goRefrence);
  23. goRefrence.transform.localPosition = pos;
  24. goRefrence.transform.parent = meshTestParent;
  25. goRefrence.SetActive(false);
  26. }
  27. }