源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

62 行
1.7 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using System;
using UnityEngine.UI;
public class ButtonExtend : Button, IPointerClickHandler, ISubmitHandler, 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 override void OnPointerDown(PointerEventData eventData)
{
base.OnPointerDown(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 override void OnPointerUp(PointerEventData eventData)
{
base.OnPointerUp(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);
}
}