源战役客户端
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

62 rindas
1.7 KiB

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