public void setVal(Disparo disparo) { Posicion = disparo.Posicion; this.direction = disparo.direction; this.size = disparo.size; this.speed = disparo.speed; Tiempo_Recarga = disparo.Tiempo_Recarga; ready = false; }
//Verificar Colisiones de Proyectil con Enemigo public void Colision_Enemigo_PY(Matus Enemigo, Disparo Proyectil) { Circulo Aux = new Circulo((int)Enemigo.posicion.X, (int)Enemigo.posicion.Z, (int)Radio_M); Circulo Aux2 = new Circulo((int)Proyectil.Posicion.X, (int)Proyectil.Posicion.Z, (int)Radio_B_FC); if (Enemigo.isAlive && Aux.Intercepta(Aux2)) if (Proyectil.Tipo)//IceCube { Enemigo.setFrozen(); Proyectil.ready = true; } else { Enemigo.setOnFire(); Proyectil.ready = true; } }
private void shoot(Disparo nuevoTiro) { foreach (Disparo tiro in Proyectiles) { if (tiro != null && tiro.Ready()) { tiro.setVal(nuevoTiro); return; } } Disparo nuevo; if (nuevoTiro is IceCube) nuevo = new IceCube(); else nuevo = new FireCube(); nuevo.setVal(nuevoTiro); Proyectiles.Add(nuevo); }