Files
BoostBaller/Assets/Scripts/UI/GlowOnHover.cs
Jan Groß dd3816ce0b Fixed major AI issues
Tweaked AI parameters
Improved AI behaviour to avoid getting stuck near walls
Changed boost conditions
2020-01-31 05:23:35 +01:00

56 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GlowOnHover : MonoBehaviour
{
public float hoverIntensity, defaultIntensity, lerpSpeed = 1;
public AudioClip hoverSound;
public Renderer target;
private float fromIntensity, toIntensity, currentIntensity, t;
private Material material;
private Color defaultColor;
private AudioSource audioSource;
private void Start()
{
this.material = this.target.material;
this.defaultColor = material.GetColor("_EmissionColor");
this.toIntensity = defaultIntensity;
this.audioSource = GetComponent<AudioSource>();
}
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);
if (this.hoverSound && this.audioSource)
{
this.audioSource.PlayOneShot(this.hoverSound);
}
}
private void OnMouseExit()
{
this.lerpEmission(this.currentIntensity, this.defaultIntensity);
}
}