public RingleaderAttack GetRingleaderAttack() { if (this.ringleaderAttack == null) { this.ringleaderAttack = GetComponent <RingleaderAttack>(); } return(this.ringleaderAttack); }
protected override void Init() { currentGambit = null; currentRingleaderMovement = null; currentRingleaderHealth = null; player = null; // playerAttack = null; // playerMovement = null; foreach (EnemyHealth ringleader in ringleaders) { ringleader.gameObject.GetComponent <RingleaderAttack> ().enabled = false; ringleader.gameObject.GetComponent <RingleaderMovement> ().canMove = false; ringleader.gameObject.GetComponent <EnemyHealth> ().enabled = false; } base.Init(); }
private IEnumerator Gambit(int i) { //Insert dialogue here or whatever //1st dialogue: Why do you resist me when we're the same? //2nd dialogue: You fool! This is our way of life! //3rd dialogue: Very well! Its either win or lose! // switch (i) { // case 1: // StartCoroutine (InitialEncounter ()); // // break; // case 2: // StartCoroutine (MidfightDialogue ()); // // break; // case 3: // StartCoroutine (ConclusiveDialogue ()); // // break; // } if (i > 1) { gambits [i - 2].SetActive(false); } gambits [i - 1].SetActive(true); if (i == 2 || i == 3) { // playerMovement.GetPlayer().gameObject.transform.position = spawnPoint.position; GetPlayer().gameObject.transform.position = spawnPoint.position; } // playerAttack.canAttack (true); // playerMovement.canMove (true); // if (i > 1) { // gambits [i - 2].SetActive (false); // } // // gambits [i-1].SetActive (true); switch (i) { case 1: StartCoroutine(InitialEncounter()); break; case 2: // if (ringleaders [1] != null) { // ringleaders [1].Death (); // } StartCoroutine(MidfightDialogue()); break; case 3: // if (ringleaders [2] != null) { // ringleaders [2].Death (); // } StartCoroutine(ConclusiveDialogue()); break; } while (isInDialogue) { yield return(null); } GetPlayer().GetPlayerAttack().canAttack(true); GetPlayer().GetPlayerMovement().canMove(true); ToggleMobileUI(true); ringleaders [i - 1].gameObject.SetActive(true); currentGambit = ringleaders [i - 1].GetComponent <RingleaderAttack> (); currentRingleaderMovement = ringleaders [i - 1].GetComponent <RingleaderMovement> (); currentRingleaderHealth = ringleaders [i - 1].GetComponent <EnemyHealth> (); currentRingleaderMovement.canMove = true; currentRingleaderHealth.enabled = true; currentGambit.enabled = true; while (ringleaders [i - 1].isAlive) { yield return(null); } if (ringleaders [i - 1] != null) { ringleaders [i - 1].CallDeath(0); } // while (ringleaders [i-1] != null) { // yield return null; // } if (i < gambits.Count) { StartCoroutine(Gambit(++i)); } else { StartCoroutine(RingleaderDeath()); } }