using System.Collections; using System.Collections.Generic; using UnityEngine; public class BattleParticipantSprite : MonoBehaviour { public delegate void SpriteClickedAction(BattleParticipant participant); public event SpriteClickedAction OnSpriteClicked; private BattlePlayerControls playerControls; private BattleParticipant participant; public void Init(BattlePlayerControls playerControls, BattleParticipant participant) { this.playerControls = playerControls; this.participant = participant; } // Start is called before the first frame update void Start() { gameObject.AddComponent(); } // Update is called once per frame void Update() { if (colorChanged && !this.playerControls.IsTargeting()) { OnMouseExit(); } } void OnMouseDown() { OnSpriteClicked(participant); } private Color savedColor; private bool colorChanged; void OnMouseEnter() { if (this.playerControls.IsTargeting()) { SpriteRenderer sprite = GetComponent(); this.savedColor = sprite.color; sprite.color = Color.Lerp(this.savedColor, Color.white, .5f); this.colorChanged = true; } } void OnMouseExit() { if (this.colorChanged) { SpriteRenderer sprite = GetComponent(); sprite.color = this.savedColor; this.colorChanged = false; } } }