源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.8 KiB

  1. using UnityEngine;
  2. using UnityEngine.EventSystems;
  3. namespace LuaFramework
  4. {
  5. public class EmptyRaycastExtend : EmptyRaycast, IPointerDownHandler, IPointerUpHandler, IEventSystemHandler
  6. {
  7. [SerializeField]
  8. public bool scale_enabled = true;
  9. [SerializeField]
  10. public Transform scale_target = null;
  11. [SerializeField]
  12. public Vector3 press_scale = new Vector3(0.9f, 0.9f, 0.9f);
  13. [SerializeField]
  14. public Vector3 normal_scale = new Vector3(1f, 1f, 1f);
  15. private Vector3 original_scale;
  16. protected override void Awake()
  17. {
  18. base.Awake();
  19. if (!scale_target) scale_target = transform;
  20. original_scale = transform.localScale;
  21. }
  22. public void SetTarget(Transform trans)
  23. {
  24. scale_target = trans;
  25. }
  26. public void SetOriginalSacle(Vector3 scale)
  27. {
  28. original_scale = scale;
  29. }
  30. public void SetPressScale(Vector3 scale)
  31. {
  32. press_scale = scale;
  33. }
  34. public void SetNormalScale(Vector3 scale)
  35. {
  36. normal_scale = scale;
  37. }
  38. public void OnPointerDown(PointerEventData eventData)
  39. {
  40. if (!scale_target || !scale_enabled) return;
  41. scale_target.transform.localScale = new Vector3(press_scale.x * original_scale.x, press_scale.y * original_scale.y, press_scale.z * original_scale.z);
  42. }
  43. public void OnPointerUp(PointerEventData eventData)
  44. {
  45. if (!scale_target || !scale_enabled) return;
  46. scale_target.transform.localScale = new Vector3(normal_scale.x * original_scale.x, normal_scale.y * original_scale.y, normal_scale.z * original_scale.z);
  47. }
  48. }
  49. }