public override void SelectedFunctionality() { if (LM.currentLevelState == LevelManager.LevelState.ProcessingPlayerActions) { if (LM.selectedEnemy != null && LM.selectedEnemy != GetComponent <EnemyUnit>()) { LM.HideEnemyHover(LM.selectedEnemy); //Llamo a LevelManager para desactivar hover if (LM.selectedCharacter != null) { LM.selectedCharacter.HideDamageIcons(this); } LM.HideHover(LM.selectedEnemy); LM.selectedEnemy.HealthBarOn_Off(false); //LM.UIM.HideCharacterInfo(""); Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); } else { LM.DeSelectUnit(); LM.selectedEnemy = GetComponent <EnemyUnit>(); //Activo la barra de vida HealthBarOn_Off(true); //Cambio el color del personaje SelectedColor(); } } }
public override void Die() { //En caso de que sea el ultimo nivel if (dragReference != null) { dragReference.RemoveCrystal(this); } particleCrystalActive.SetActive(false); //BASE MODIFICADA DEL DIE ENEMIGO Debug.Log("Soy " + gameObject.name + " y he muerto"); //Animación, sonido y partículas de muerte SoundManager.Instance.PlaySound(AppSounds.EN_DEATH); Instantiate(deathParticle, gameObject.transform.position, deathParticle.transform.rotation); //Cambios en UI LM.HideHover(this); HealthBarOn_Off(false); Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); //Cambios en la lógica para indicar que ha muerto myCurrentTile.unitOnTile = null; myCurrentTile.WarnInmediateNeighbours(); //Hago que visualmente desaparezca aunque no lo destryuo todavía. unitModel.SetActive(false); GetComponent <Collider>().enabled = false; //Aviso de que el enemigo está muerto isDead = true; //Estas dos llamadas tienen que ir despues del bool de isdead = true LM.UIM.SetEnemyOrder(); if (dragReference != null && dragReference.currentHealth == dragReference.maxHealth / 2) { dragReference.ChangePhase(); } }
public override void OnHoverExitFunctionality() { if (LM.selectedEnemy == null) { if (LM.selectedCharacter != null && !LM.selectedCharacter.currentUnitsAvailableToAttack.Contains(this.GetComponent <UnitBase>())) { ResetColor(); LM.HideHover(this); HealthBarOn_Off(false); } } else { if (LM.selectedEnemy != this) { LM.HideHover(this); HealthBarOn_Off(false); } LM.selectedCharacter.HideDamageIcons(this); myCurrentTile.ColorDesAttack(); } Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); if (LM.selectedCharacter != null) { //LM.UIM.ShowUnitInfo(LM.selectedCharacter.unitGeneralInfo, LM.selectedCharacter); } else { ResetColor(); LM.HideHover(this); HealthBarOn_Off(false); } }