Skip to content

Instantly share code, notes, and snippets.

@arun02139
Created June 9, 2016 03:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arun02139/0ac134b5a1007f8df4298b344e8098bb to your computer and use it in GitHub Desktop.
Save arun02139/0ac134b5a1007f8df4298b344e8098bb to your computer and use it in GitHub Desktop.
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class UnitSight : MonoBehaviour
{
public Collider[] overlapCollider;
List<Unit> _opponentObservers;
BoxCollider _bc;
void Awake()
{
_bc = GetComponent<BoxCollider> ();
_opponentObservers = new List<Unit>();
}
void Update()
{
checkVisibility ();
}
void checkVisibility()
{
_opponentObservers.Clear ();
int layerMask = LayerMask.NameToLayer ("Unit");
overlapCollider = Physics.OverlapBox (_bc.center, _bc.size / 2f, _bc.transform.rotation);
//overlapCollider = Physics.OverlapBox (_bc.center, _bc.size, _bc.transform.rotation, layerMask);
//overlapCollider = Physics.OverlapBox (_bc.center, _bc.size, _bc.transform.rotation, layerMask, QueryTriggerInteraction.Collide);
for (int i = 0; i < overlapCollider.Length; i++)
{
// is there a unit?
var unit = overlapCollider[i].GetComponent<Unit>();
if (unit)
{
_opponentObservers.Add (unit);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment