Hi all
Im trying to access a SphereCollider that i added to my gameobject by using the RequireComponent. What i essentially want to do is set the colliders radius to my range variable as shown in the code below.
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[RequireComponent (typeof (SphereCollider))]
public class tower : MonoBehaviour {
public float towerRange;
public float deployTime;
public List towerTargets;
// Use this for initialization
void Start () {
SphereCollider towerRangeCollider = this.GetComponent();
towerRangeCollider.name = "Tower Range Collider";
towerRangeCollider.radius = towerRange;
towerTargets = new List();
}
// Update is called once per frame
void Update () {
}
// Add enemies to the towers list of targets upon entering its range
void OnTriggerEnter(Collider possibleTarget)
{
if (possibleTarget.tag == "Enemy" || possibleTarget.tag == "Friend")
{
towerTargets.Add(possibleTarget.gameObject);
Debug.Log(possibleTarget.gameObject.name + " entered the trigger");
}
}
// Remove enemies from the towers list of targets upon leaving its range
void OnTriggerExit(Collider possibleTarget)
{
if (possibleTarget.tag == "Enemy" || possibleTarget.tag == "Friend")
{
for(int i = 0;i < towerTargets.Count; i++)
{
if(towerTargets[i].gameObject.name == possibleTarget.gameObject.name)
{
towerTargets.RemoveAt(i);
i--;
}
}
}
}
}
↧