projectEli/Assets/Inventory System/ICWM Assets/Inventory/Scripts/Utility/ButtonPulse.cs

50 lines
2.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//********************************************************//
// //
// 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;
}
}
}
}