public override int DebeEsquivar(NPC otroNPC) { if (otroNPC.movimiento.m_patronActual != null && otroNPC.movimiento.m_patronActual is MovimientoEdificio) { MovimientoEdificio movOtroNPC = otroNPC.movimiento.m_patronActual as MovimientoEdificio; if (movOtroNPC.GetEdificioObjetivo() == GetEdificioObjetivo()) { if (m_estado == EEstado.Saliendo || movOtroNPC.m_estado == EEstado.Saliendo) { return(1); } } else { if (movOtroNPC.m_estado == EEstado.Entrando || movOtroNPC.m_estado == EEstado.Saliendo) { return(1); } else if (m_estado == EEstado.Entrando || m_estado == EEstado.Saliendo) { return(-1); } } } return(0); }
public void UpdateEdificiosUtiles(List <EdificioData> edificios) { if (m_patronActual == null) { m_patronActual = new MovimientoEdificio(edificios); m_patronActual.Init(npc); } else { MovimientoEdificio mov = m_patronActual as MovimientoEdificio; mov.AddObjetivos(edificios); } }