So im trying to follow some tutorials and stuffs. and it says i should use the code: selectedTarget.renderer.material.color = Color.red;
The code is for changing the color for a selected object.
but when i do that i get a error message that its obsolete and i should use GetComponent wich i dont have a clue on how to use… could anyone explain how to change my code so the selected “enemy” changes color?
should be replacing this code:
private void SelectTarget()
{
selectedTarget.renderer.material.color = Color.red;
}
Here is full code if needed.
using System.Collections;
using UnityEngine;
using System.Collections.Generic;
public class Targetting : MonoBehaviour {
public List Targets;
public Transform selectedTarget;
private Transform myTransform;
void Start () {
Targets = new List ();
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 TargetEnemy ()
{
if (selectedTarget == null) {
SortTargetsByDistance ();
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.renderer.material.color = Color.red;
}
private void DeselectTarget()
{
}
private void SortTargetsByDistance ()
{
Targets.Sort (delegate(Transform t1, Transform t2) {
return Vector3.Distance (t1.position, myTransform.position).CompareTo (Vector3.Distance (t2.position, myTransform.position));
});
}
void Update () {
if (Input.GetKeyDown (KeyCode.Tab)) {
TargetEnemy ();
}
}
}