OperaComponentSystem.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using UnityEngine;
  3. namespace ET
  4. {
  5. [ObjectSystem]
  6. public class OperaComponentAwakeSystem : AwakeSystem<OperaComponent>
  7. {
  8. public override void Awake(OperaComponent self)
  9. {
  10. self.mapMask = LayerMask.GetMask("Map");
  11. }
  12. }
  13. [ObjectSystem]
  14. public class OperaComponentUpdateSystem : UpdateSystem<OperaComponent>
  15. {
  16. public override void Update(OperaComponent self)
  17. {
  18. self.Update();
  19. }
  20. }
  21. public static class OperaComponentSystem
  22. {
  23. public static void Update(this OperaComponent self)
  24. {
  25. if (Input.GetMouseButtonDown(1))
  26. {
  27. Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
  28. RaycastHit hit;
  29. if (Physics.Raycast(ray, out hit, 1000, self.mapMask))
  30. {
  31. self.ClickPoint = hit.point;
  32. self.frameClickMap.X = self.ClickPoint.x;
  33. self.frameClickMap.Y = self.ClickPoint.y;
  34. self.frameClickMap.Z = self.ClickPoint.z;
  35. self.ZoneScene().GetComponent<SessionComponent>().Session.Send(self.frameClickMap);
  36. }
  37. }
  38. if (Input.GetKeyDown(KeyCode.R))
  39. {
  40. CodeLoader.Instance.LoadLogic();
  41. Game.EventSystem.Add(CodeLoader.Instance.GetTypes());
  42. Game.EventSystem.Load();
  43. Log.Debug("hot reload success!");
  44. }
  45. if (Input.GetKeyDown(KeyCode.T))
  46. {
  47. C2M_TransferMap c2MTransferMap = new C2M_TransferMap();
  48. self.ZoneScene().GetComponent<SessionComponent>().Session.Call(c2MTransferMap).Coroutine();
  49. }
  50. }
  51. }
  52. }