public void SetRelacion(Faccion faccion, RelacionConOtraFaccionEnum relacion) { if (relaciones.ContainsKey(faccion)) { relaciones[faccion] = relacion; } else { relaciones.Add(faccion, relacion); } }
public Sector(Galaxia galaxia, SectorID sectorID, Faccion faccion) { this.galaxia = galaxia; this.sectorID = sectorID; this.faccion = faccion; tamanio = new Vector2(TamanioSector, TamanioSector); centro = new Vector2(SectorID.X * TamanioSector, SectorID.Y * TamanioSector); CrearEstrellas(); }
private void Inicializar() { generador.Inicializar(this); tamanioEnSectores = generador.GetTamanioEnSectores(); facciones.AddRange(generador.InicializarFacciones()); posicionInicialJugador = generador.GetPosicionInicialJugador(); faccionJugador = generador.GetFaccionJugador(); }
public void InformarDestruccionDePropiedad(Faccion deFaccion) { if (!relaciones.ContainsKey(deFaccion)) { relaciones.Add(deFaccion, RelacionConOtraFaccionEnum.Agresiva); } else { if (relaciones[deFaccion] != RelacionConOtraFaccionEnum.Amigable) { relaciones[deFaccion] = RelacionConOtraFaccionEnum.Agresiva; } } }
public RelacionConOtraFaccionEnum GetRelacion(Faccion faccion) { if (faccion == this) { return(RelacionConOtraFaccionEnum.Amigable); } if (relaciones.ContainsKey(faccion)) { return(relaciones[faccion]); } switch (tipoFaccion) { case TipoFaccionEnum.Neutral: case TipoFaccionEnum.Pavisa: case TipoFaccionEnum.Recolectora: return(RelacionConOtraFaccionEnum.Neutral); case TipoFaccionEnum.Agresiva: default: return(RelacionConOtraFaccionEnum.Agresiva); } }
public void InformarAtaque(Faccion deFaccion) { }
public Vector2 BuscarPosicionPlanetaFaccion(Vector2 centro, float radioDeBusqueda, Faccion faccion) { Vector2 posicion = new Vector2(0, 0); Sector sectorCentro = GetSectorEnPosicion(centro); int radioDeBusquedaEnSectores = 1 + (int)(radioDeBusqueda / Sector.TamanioSector); for (int x = sectorCentro.SectorID.X - radioDeBusquedaEnSectores; x <= sectorCentro.SectorID.X + radioDeBusquedaEnSectores; x++) { for (int y = sectorCentro.SectorID.Y - radioDeBusquedaEnSectores; y <= sectorCentro.SectorID.Y + radioDeBusquedaEnSectores; y++) { Sector sector = GetSector(new SectorID(x, y)); if (sector.Faccion == faccion) { foreach (Thing thing in sector.Things) { if (thing is ThingPlaneta) { if (posicion.X == 0 && posicion.Y == 0 || (posicion - centro).Length > (thing.Centro - centro).Length) { posicion = thing.Centro; } } } } } } return(posicion); }