50 lines
2.0 KiB
C#
50 lines
2.0 KiB
C#
//********************************************************//
|
||
// //
|
||
// Copyright © All rights reserved. MyNameIsVoo. 2020. //
|
||
// //
|
||
// COPYING FORBIDEN //
|
||
// //
|
||
//********************************************************//
|
||
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
|
||
namespace ICWM
|
||
{
|
||
namespace Utility
|
||
{
|
||
public class ButtonPulse : MonoBehaviour
|
||
{
|
||
[Header("ATTRIBUTES")]
|
||
[SerializeField] private float speedPulse = 0.6f; // Скорость пульсации (частота)
|
||
|
||
private Color defColor; // Дефолтный цвет (базовый) будем работать с ним
|
||
private int k = 1; // Переменная меняющая направления изменения цвета\канала альфа
|
||
|
||
private void Start()
|
||
{
|
||
defColor = GetComponent<Image>().color;
|
||
defColor.a = 1.0f; // Альфа изменяется от 0 до 1
|
||
}
|
||
|
||
private void Update()
|
||
{
|
||
defColor.a = defColor.a - Time.deltaTime * speedPulse * k; // Изменяем значение альфа (уменьшаем и увеличиваем) - зависит от времени и k
|
||
|
||
if (defColor.a <= 0.6f) // Нижний предел альфа
|
||
k = -1;
|
||
else if (defColor.a >= 1.0f) // Верхний предел альфа
|
||
k = 1;
|
||
|
||
GetComponent<Image>().color = defColor; // Применяем цвет
|
||
}
|
||
|
||
public void StopPulse() // Метод остановки пульсации и восстановления цвета
|
||
{
|
||
defColor.a = 1.0f;
|
||
GetComponent<Image>().color = defColor;
|
||
}
|
||
}
|
||
}
|
||
}
|