Main menu overhaul
This commit is contained in:
49
Assets/Scripts/UI/GlowOnHover.cs
Normal file
49
Assets/Scripts/UI/GlowOnHover.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class GlowOnHover : MonoBehaviour
|
||||
{
|
||||
public float hoverIntensity, defaultIntensity, lerpSpeed = 1;
|
||||
public Renderer target;
|
||||
private float fromIntensity, toIntensity, currentIntensity, t;
|
||||
private Material material;
|
||||
private Color defaultColor;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
this.material = this.target.material;
|
||||
this.defaultColor = material.GetColor("_EmissionColor");
|
||||
this.toIntensity = defaultIntensity;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
|
||||
this.currentIntensity = Mathf.Lerp(this.fromIntensity, this.toIntensity, this.t);
|
||||
this.t += Time.deltaTime * this.lerpSpeed;
|
||||
|
||||
Color finalColor = this.defaultColor * Mathf.LinearToGammaSpace(this.currentIntensity);
|
||||
this.material.SetVector("_EmissionColor", this.defaultColor * this.currentIntensity);
|
||||
|
||||
//this.material.SetColor("_EmissionColor", finalColor);
|
||||
|
||||
}
|
||||
|
||||
private void lerpEmission(float from, float to)
|
||||
{
|
||||
this.t = 0;
|
||||
this.fromIntensity = from;
|
||||
this.toIntensity = to;
|
||||
}
|
||||
|
||||
private void OnMouseEnter()
|
||||
{
|
||||
this.lerpEmission(this.currentIntensity, this.hoverIntensity);
|
||||
}
|
||||
|
||||
private void OnMouseExit()
|
||||
{
|
||||
this.lerpEmission(this.currentIntensity, this.defaultIntensity);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user