public override void Attack(bool jampAttack, bool specialAttack, bool _doubleDamage) { bool shootDown = false; GameObject go = null; Proyectil proyectil = null; Proyectil.typeProyectil tipoProyectil = Proyectil.typeProyectil.Nulo; if (specialAttack) { Disparo.gameObject.SetActive(true); spriteEnemy.animator.SetBool("AtaqueEspecial", false); } if (!Disparo.gameObject.activeSelf) { if (!specialAttack) { go = poolObjectAttack.GetObject(); proyectil = go.GetComponent <Proyectil>(); proyectil.SetEnemy(gameObject.GetComponent <Enemy>()); proyectil.SetDobleDamage(_doubleDamage); proyectil.disparadorDelProyectil = Proyectil.DisparadorDelProyectil.Enemigo; if (_doubleDamage) { proyectil.damage = proyectil.damageCounterAttack; } } if (!GetIsDuck() && !specialAttack) { tipoProyectil = Proyectil.typeProyectil.ProyectilNormal; if (jampAttack) { tipoProyectil = Proyectil.typeProyectil.ProyectilAereo; shootDown = true; } go.transform.rotation = generadoresProyectiles.transform.rotation; go.transform.position = generadoresProyectiles.transform.position; proyectil.posicionDisparo = Proyectil.PosicionDisparo.PosicionMedia; } else if (!specialAttack && GetIsDuck()) { tipoProyectil = Proyectil.typeProyectil.ProyectilBajo; go.transform.rotation = generadorProyectilesAgachado.transform.rotation; go.transform.position = generadorProyectilesAgachado.transform.position; proyectil.posicionDisparo = Proyectil.PosicionDisparo.PosicionBaja; } if (!specialAttack) { proyectil.On(tipoProyectil); if (!shootDown) { proyectil.ShootForward(); } else { proyectil.ShootForwardDown(); } } } }
public void Attack(Proyectil.DisparadorDelProyectil disparador) { if (enableAttack) { GameObject go = structsPlayer.dataAttack.poolProyectil.GetObject(); Proyectil proyectil = go.GetComponent <Proyectil>(); Proyectil.typeProyectil tipoProyectil = Proyectil.typeProyectil.ProyectilAereo; switch (enumsPlayers.numberPlayer) { case EnumsPlayers.NumberPlayer.player1: proyectil.SetPlayer(gameObject.GetComponent <Player>()); disparador = Proyectil.DisparadorDelProyectil.Jugador1; break; case EnumsPlayers.NumberPlayer.player2: proyectil.SetPlayer2(gameObject.GetComponent <Player>()); disparador = Proyectil.DisparadorDelProyectil.Jugador2; break; } proyectil.SetDobleDamage(doubleDamage); if (doubleDamage) { proyectil.damage = proyectil.damage * 2; } if (!isDuck) { if (enumsPlayers.movimiento != EnumsPlayers.Movimiento.Saltar && enumsPlayers.movimiento != EnumsPlayers.Movimiento.SaltoAtaque && enumsPlayers.movimiento != EnumsPlayers.Movimiento.SaltoDefensa) { tipoProyectil = Proyectil.typeProyectil.ProyectilNormal; } go.transform.position = generadorProyectiles.transform.position; go.transform.rotation = generadorProyectiles.transform.rotation; proyectil.posicionDisparo = Proyectil.PosicionDisparo.PosicionMedia; } else { if (isDuck) { tipoProyectil = Proyectil.typeProyectil.ProyectilBajo; } go.transform.position = generadorProyectilesAgachado.transform.position; go.transform.rotation = generadorProyectilesAgachado.transform.rotation; proyectil.posicionDisparo = Proyectil.PosicionDisparo.PosicionBaja; } proyectil.On(tipoProyectil); proyectil.disparadorDelProyectil = disparador; proyectil.ShootForward(); delayAttack = auxDelayAttack; } }
public override void Attack(bool jampAttack, bool specialAttack, bool _doubleDamage) { bool shootDown = false; GameObject go = null; Proyectil proyectil = null; ProyectilInparable proyectilInparable = null; Proyectil.typeProyectil tipoProyectil = Proyectil.typeProyectil.Nulo; if (!specialAttack) { go = poolObjectAttack.GetObject(); proyectil = go.GetComponent <Proyectil>(); proyectil.SetEnemy(gameObject.GetComponent <Enemy>()); proyectil.SetDobleDamage(_doubleDamage); proyectil.disparadorDelProyectil = Proyectil.DisparadorDelProyectil.Enemigo; if (_doubleDamage) { proyectil.damage = proyectil.damageCounterAttack; } } if (!GetIsDuck() && !specialAttack) { tipoProyectil = Proyectil.typeProyectil.ProyectilNormal; if (jampAttack) { tipoProyectil = Proyectil.typeProyectil.ProyectilAereo; shootDown = true; } go.transform.rotation = generadoresProyectiles.transform.rotation; go.transform.position = generadoresProyectiles.transform.position; proyectil.posicionDisparo = Proyectil.PosicionDisparo.PosicionMedia; } else if (!specialAttack && GetIsDuck()) { tipoProyectil = Proyectil.typeProyectil.ProyectilBajo; go.transform.rotation = generadorProyectilesAgachado.transform.rotation; go.transform.position = generadorProyectilesAgachado.transform.position; proyectil.posicionDisparo = Proyectil.PosicionDisparo.PosicionBaja; } if (specialAttack) { //CAMBIAR ESTE NULO POR EL ATAQUE ESPECIAL CORRESPONDIENTE (Ya sea ProyectilParabola o AtaqueEspecial tipoProyectil = Proyectil.typeProyectil.Nulo; go = poolProyectilImparable.GetObject(); proyectilInparable = go.GetComponent <ProyectilInparable>(); proyectilInparable.SetEnemy(gameObject.GetComponent <Enemy>()); proyectilInparable.SetDobleDamage(_doubleDamage); proyectilInparable.disparadorDelProyectil = Proyectil.DisparadorDelProyectil.Enemigo; proyectilInparable.SetEnemy(gameObject.GetComponent <Agresivo>()); if (_doubleDamage) { proyectil.damage = proyectil.damageCounterAttack; } go.transform.position = GeneradorAtaqueEspecial.transform.position; go.transform.rotation = GeneradorAtaqueEspecial.transform.rotation; proyectilInparable.ShootForward(); } if (!specialAttack) { proyectil.On(tipoProyectil); if (!shootDown) { proyectil.ShootForward(); } else { proyectil.ShootForwardDown(); } } }
public override void Attack(bool jampAttack, bool specialAttack, bool _doubleDamage) { bool shootDown = false; GameObject go = null; Proyectil proyectil = null; Proyectil.typeProyectil tipoProyectil = Proyectil.typeProyectil.Nulo; if (!specialAttack) { go = poolObjectAttack.GetObject(); proyectil = go.GetComponent <Proyectil>(); proyectil.SetEnemy(gameObject.GetComponent <Enemy>()); proyectil.SetDobleDamage(_doubleDamage); proyectil.disparadorDelProyectil = Proyectil.DisparadorDelProyectil.Enemigo; if (_doubleDamage) { proyectil.damage = proyectil.damageCounterAttack; } } if (!GetIsDuck() && !specialAttack) { tipoProyectil = Proyectil.typeProyectil.ProyectilNormal; if (jampAttack) { tipoProyectil = Proyectil.typeProyectil.ProyectilAereo; shootDown = true; } go.transform.rotation = generadoresProyectiles.transform.rotation; go.transform.position = generadoresProyectiles.transform.position; proyectil.posicionDisparo = Proyectil.PosicionDisparo.PosicionMedia; } else if (!specialAttack && GetIsDuck()) { tipoProyectil = Proyectil.typeProyectil.ProyectilBajo; go.transform.rotation = generadorProyectilesAgachado.transform.rotation; go.transform.position = generadorProyectilesAgachado.transform.position; proyectil.posicionDisparo = Proyectil.PosicionDisparo.PosicionBaja; } if (specialAttack) { //CAMBIAR ESTE NULO POR EL ATAQUE ESPECIAL CORRESPONDIENTE (Ya sea ProyectilParabola o AtaqueEspecial tipoProyectil = Proyectil.typeProyectil.Nulo; int maxRutas = 3; //cantidad total de rutas posibles que seguira la bala al ser disparada. int minRutas = 1; //minima cantidad de rutas que seguira la bala al ser disparada. if (!GetIsDuck()) { CheckSpecialAttackEnemyController(minRutas, maxRutas, generadorProyectilParabola); } else { CheckSpecialAttackEnemyController(minRutas, maxRutas, generadorProyectilParabolaAgachado); } } if (!specialAttack) { proyectil.On(tipoProyectil); if (!shootDown) { proyectil.ShootForward(); } else { proyectil.ShootForwardDown(); } } }