示例#1
0
 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);
 }
示例#2
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);
     }
 }