public void WolfDied(AIWolf wolf) { if (alienAis.Contains(wolf)) { alienAis.Remove(wolf); } CheckAllDead(); }
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; }
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>(); }
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>(); } }
public void WolfDied(AIWolf wolf) { }