protected virtual void panic ()
{
alertTexture.renderer.enabled = false;
panicTexture.renderer.enabled = true;
scaredTexture.renderer.enabled = false;
lureTexture.renderer.enabled = false;
scared = false;
AudioClip scream = null;
// Get skin type to know which NPC sounds to play
if (this.SkinType.Equals (NPCSkinType.Bopper))
{
scream = (AudioClip)bopperPanicSounds[Random.Range (0, bopperPanicSounds.Length)];
}
else if (this.SkinType.Equals (NPCSkinType.Hippie))
{
scream = (AudioClip)hippiePanicSounds[Random.Range (0, hippiePanicSounds.Length)];
}
else if (this.SkinType.Equals (NPCSkinType.Hottie))
{
scream = (AudioClip)hottiePanicSounds[Random.Range (0, hottiePanicSounds.Length)];
}
else if (this.SkinType.Equals (NPCSkinType.MowerMan))
{
scream = (AudioClip)mowerPanicSounds[Random.Range (0, mowerPanicSounds.Length)];
}
else if (this.SkinType.Equals (NPCSkinType.OldMan))
{
scream = (AudioClip)oldmanPanicSounds[Random.Range (0, oldmanPanicSounds.Length)];
}
audio.PlayOneShot (scream, 1.0f);
speed = 1.5f;
alerted = false;
panicked = true;
panickedPos = gameObject.transform.position;
//panicTime = Time.time;
//timePanicked = panicCooldownSeconds;
GameObject player = getPlayer ();
if( player != null )
moveDir = transform.position - getPlayer ().transform.position;
broadcastAlertLevelChanged (AlertLevelType.Panic);
if (player.GetComponent<PossessableTree>().AxeMan != null)
{
scaredByAxeman = true;
}
if (GameObject.Find("AIGenerator").GetComponent<AIGenerator>().isMaze && !scaredByAxeman)
{
NPCPanickedOffMapMessage message = new NPCPanickedOffMapMessage (panickedPos);
MessageCenter.Instance.Broadcast (message);
}
}