Esempio n. 1
0
 /// <summary>
 /// Continuously called while the enemy is suspicous of the player
 /// </summary>
 public virtual void OnSuspicious()
 {
     detectedState = DetectedMode.Suspicious;
     detFlag       = false;
     if (!susFlag)
     {
         OnFirstSuspicious();
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Called continuously while the enemy has detected the player
 /// </summary>
 public virtual void OnDetectPlayer()
 {
     detectedState = DetectedMode.Detected;
     susFlag       = false;
     if (!detFlag)
     {
         OnFirstDetectPlayer();
     }
 }
Esempio n. 3
0
    protected virtual void Update()
    {
        currentDetection = Mathf.Clamp(currentDetection, 0f, overallMaxDetection);

        if (currentDetection >= detectedLevel)
        {
            OnDetectPlayer();
        }
        else if (currentDetection >= suspiciousLevel)
        {
            OnSuspicious();
        }
        else
        {
            OnIdle();
            detectedState = DetectedMode.Unaware;
            timer         = 0;
        }
    }