- Home /
targeting particle
The targeting code below changes the color of the enemy with tab button to:
Target enemy= change color of enemy to 'green'
Deselect enemy = change color of enemy to 'blue' (press tab again)
I would like to change the target code to:
target enemy = A transparent animated spotlight appears over the enemy (press tab)
deselect enemy = spotlight disappears over time.0.08f. (press tab again)
I have the images for the spotlight ready! I just don't know how to implement them correctly! check it out!
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Targetting : MonoBehaviour {
public List<Transform> 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 SortTargetsByDistance()
{
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)
{
SortTargetsByDistance();
selectedTarget = targets[0];
}
else
{
int index = targets.IndexOf(selectedTarget);
if(index < targets.Count -1)
{
index++;
}
else
{
index = 0;
}
DeselectTarget();
selectedTarget = targets[index];
}
SelectTarget();
}
private void SelectTarget()
{
selectedTarget.renderer.material.color = Color.green;
}
private void DeselectTarget()
{
selectedTarget.renderer.material.color = Color.blue;
selectedTarget = null;
}
// Update is called once per frame
void Update()
{
if(Input.GetKeyDown(KeyCode.Tab))
{
TargetEnemy();
}
}
}
any pointers in the right direction would be MUCH appreciated! I'm very new to this stuff! Thanks so much
Your answer
Follow this Question
Related Questions
How to Make a Transform Variable Target a Random GameObject? 1 Answer
Set forward vector of an object to be EXACTLY equal to another vector. 2 Answers
Third person Camera stop it from going lower than the terrian 0 Answers
Transform rotation 2 Answers
How would i rewrite this script with a Character Controller? C# 1 Answer