|
|
- using UnityEngine;
- using UnityEngine.EventSystems;
-
- namespace LuaFramework
- {
- public class EmptyRaycastExtend : EmptyRaycast, IPointerDownHandler, IPointerUpHandler, IEventSystemHandler
- {
- [SerializeField]
- public bool scale_enabled = true;
-
- [SerializeField]
- public Transform scale_target = null;
-
- [SerializeField]
- public Vector3 press_scale = new Vector3(0.9f, 0.9f, 0.9f);
-
- [SerializeField]
- public Vector3 normal_scale = new Vector3(1f, 1f, 1f);
-
- private Vector3 original_scale;
- protected override void Awake()
- {
- base.Awake();
- if (!scale_target) scale_target = transform;
- original_scale = transform.localScale;
- }
-
- public void SetTarget(Transform trans)
- {
- scale_target = trans;
- }
-
- public void SetOriginalSacle(Vector3 scale)
- {
- original_scale = scale;
- }
-
- public void SetPressScale(Vector3 scale)
- {
- press_scale = scale;
- }
-
- public void SetNormalScale(Vector3 scale)
- {
- normal_scale = scale;
- }
-
- public void OnPointerDown(PointerEventData eventData)
- {
- if (!scale_target || !scale_enabled) return;
- scale_target.transform.localScale = new Vector3(press_scale.x * original_scale.x, press_scale.y * original_scale.y, press_scale.z * original_scale.z);
- }
- public void OnPointerUp(PointerEventData eventData)
- {
- if (!scale_target || !scale_enabled) return;
- scale_target.transform.localScale = new Vector3(normal_scale.x * original_scale.x, normal_scale.y * original_scale.y, normal_scale.z * original_scale.z);
- }
- }
- }
|