public void WolfDied(AIWolf wolf)
 {
     if (alienAis.Contains(wolf))
     {
         alienAis.Remove(wolf);
     }
     CheckAllDead();
 }
Example #2
0
    IEnumerator RunningCutscene()
    {
        player.SendMessage("disablePlayerMovement");

        camScript.SetFollowTarget(camCutsceneTarget);

        for (int i = 0; i < enemyAis.Count; i++)
        {
            enemyAis[i].gameObject.SetActive(true);
            enemyAis[i].DisableAi();
            enemyAis[i].enemyMoveToPoint(enemyPosition[i].position);
        }

        for (int i = 0; i < alienAis.Count; i++)
        {
            alienAis[i].gameObject.SetActive(true);
            alienAis[i].DisableAi();
            alienAis[i].enemyMoveToPoint(alienPosition[i].position);
        }



        playerConvo.InitiateDialog(cutsceneDialog);

        while (playerConvo.currentDialog != null)
        {
            yield return(null);
        }

        for (int i = 0; i < enemyAis.Count; i++)
        {
            AIEnemy ai = enemyAis[i];
            enemyAis[i].EnableAi();
            enemyAis[i].OnEnemyDeath.AddListener(delegate { EnemyDied(ai); });
        }

        for (int i = 0; i < alienAis.Count; i++)
        {
            AIWolf wolf = alienAis[i];
            alienAis[i].EnableAi();
            alienAis[i].OnEnemyDeath.AddListener(delegate { WolfDied(wolf); });
        }



        camScript.Reset();

        player.SendMessage("enablePlayerMovement");

        OnCutsceneFinish.Invoke();

        yield break;
    }
Example #3
0
    protected override void Start()
    {
        base.Start();

        // We add +1 because the maximum value from Random.Range is exclusive.
        MaxHealth = Random.Range(MinHealth, MaxHealth + 1);
        Health    = MaxHealth;

        MaxStamina = Random.Range(MinStamina, MaxStamina + 1);
        Stamina    = MaxStamina;

        UpdateBar(StaminaBar);
        UpdateBar(HealthBar);

        m_AI = GetComponent <AIWolf>();
    }
Example #4
0
    IEnumerator NightWolfSpawning()
    {
        if (running == false)
        {
            for (int i = 0; i < FindObjectOfType <ChickenCount>().outChicken / 3; i++)
            {
                yield return(new WaitForSeconds(2));

                print("WolfSpawned");
                AIWolf spawnedWolf = Instantiate(wolf, wolfSpawn[Random.Range(0, wolfSpawn.Length)].position, Quaternion.identity) as AIWolf;
                spawnedWolf.OnDeath += OnWolfRetreat;
                yield return(new WaitForSeconds(4));
            }

            running = false;
        }
        if (GameObject.FindGameObjectsWithTag("Wolf").Length <= 0)
        {
            NewDay();
        }
    }
    public void spawnEnemies(Vector3 spawnLocation, GameObject enemyType)
    {
        Vector3 playerDir = PlayerRef.transform.position - spawnLocation;

        playerDir.Scale(new Vector3(1, 0, 1));
        GameObject enemyTemp = Instantiate(enemyType, spawnLocation, Quaternion.LookRotation(playerDir)) as GameObject;

        if (enemyTemp.GetComponent <AIEnemy>())
        {
            AIEnemy ai = enemyTemp.GetComponent <AIEnemy>();
            enemyAis.Add(ai);
            ai.OnEnemyDeath.AddListener(delegate { EnemyDied(ai); });
            ai.target = PlayerRef.transform;
        }

        if (enemyTemp.GetComponent <AIWolf>())
        {
            AIWolf wolf = enemyTemp.GetComponent <AIWolf>();
            alienAis.Add(wolf);
            wolf.OnEnemyDeath.AddListener(delegate { WolfDied(wolf); });
            wolf.target            = PlayerRef.transform;
            wolf.playerInteraction = PlayerRef.GetComponent <PlayerScript>();
        }
    }
Example #6
0
 public void WolfDied(AIWolf wolf)
 {
 }