Question by
Hazzapizza · Nov 28, 2016 at 08:59 AM ·
color
Why is the color component not working?
Hey Unity community,
I'm having trouble with adding color to my objects in my script
Here's the script (appreciate the help):
using System.Collections; using System.Collections.Generic;
public class Targetting : MonoBehaviour { public List targets; public Transform selectedTarget;
private Transform myTransform;
// Use this for initialization
void Start () {
targets = new List<Transform> ();
selectedTarget = null;
myTransform = transform;
AddAllEnemies ();
}
public void AddAllEnemies()
{
GameObject[] go = GameObject.FindGameObjectsWithTag ("Enemy");
foreach (GameObject enemy in go)
AddTarget (enemy.transform);
}
public void AddTarget(Transform enemy)
{
targets.Add (enemy);
}
private void SortTargetByDistance()
{
targets.Sort(delegate(Transform t1, Transform t2){
return Vector3.Distance(t1.position, myTransform.position).CompareTo(Vector3.Distance(t2.position, myTransform.position));
});
}
private void TargetEnemy()
{
if (selectedTarget == null) {
SortTargetByDistance ();
selectedTarget = targets [0];
} else {
int index = targets.IndexOf (selectedTarget);
if (index < targets.Count - 1) {
index++;
}
else
{
index = 0;
}
selectedTarget = targets[index];
}
}
private void SelectTarget()
{
selectedTarget.GetComponent<Renderer>().material.color = Color.red;
}
// Update is called once per frame
void Update () {
if(Input.GetKeyDown (KeyCode.Tab)) {
TargetEnemy ();
}
}
}
Thanks for the help!
Comment
Answer by rjth · Nov 28, 2016 at 02:47 PM
From the script above it looks like you never call SelectTarget(), which is responsible for the color change.
Your answer
