Exemple #1
0
        public void OnSense(List <GameObject> objectList, SenseState senseState)
        {
            if (objectList.Count <= 0)
            {
                return;
            }
            sensedObjects.Refresh();

            foreach (GameObject sensedObject in objectList)
            {
                switch (senseState)
                {
                case SenseState.Enter:
                // Add for stay because the object might have been occluded when it entered the sensor range
                case SenseState.Stay:
                    sensedObjects.Add(sensedObject);
                    //Debug.Log("Scan Sensor Mesh Enter/Stay: " + sensedObject.name + " count: " + sensedObjects.Count);
                    break;

                case SenseState.Exit:
                    sensedObjects.Remove(sensedObject);
                    //Debug.Log("Scan Sensor Mesh Exit: " + sensedObject.name + " count: " + sensedObjects.Count);
                    break;
                }
            }

            if (sensedObjects.Count > 0)
            {
                GetComponent <MeshRenderer>().material.color = senseColor;
            }
            else
            {
                GetComponent <MeshRenderer>().material.color = noSenseColor;
            }
        }
Exemple #2
0
 public void OnSense(List <GameObject> objectList, SenseState senseState)
 {
 }