Jump to content

ГовноКод разработчиков эмуляторов сервера Aion


TidalPoo
 Share

Recommended Posts

  • TidalPoo changed the title to ГовноКод разработчиков эмуляторов сервера Aion
  • 3 months later...
  • 4 weeks later...
  • 2 weeks later...

Ещё один в коллекцию. Причём этот говнокод, пожирает нескромные ресурсы.

public class MoveTaskManager extends AbstractPeriodicTaskManager {
...  
  private final Predicate<Creature> CREATURE_MOVE_PREDICATE = new Predicate<Creature>() {
      public boolean apply(Creature creature) {
        creature.getMoveController().moveToDestination();
        if (creature.getAi2().poll(AIQuestion.DESTINATION_REACHED)) {
          MoveTaskManager.this.movingCreatures.remove(creature.getObjectId());
          creature.getAi2().onGeneralEvent(AIEventType.MOVE_ARRIVED);
          ZoneUpdateService.getInstance().add(creature);
        } else {
          creature.getAi2().onGeneralEvent(AIEventType.MOVE_VALIDATE);
        } 
        return true;
      }
    };

ZoneUpdateService.getInstance().add(creature) - Уже выполняется в методе onGeneralEvent(AIEventType.MOVE_ARRIVED), (цепочка методов приведет к updateZone)

В итоге мы имеем 2 копии одного метода, которые на борту имеют отдельный поток, то есть, по итогу запускается 2 одинаковых thread потока. Которые в свою очередь весьма "тяжелые" так как там идёт валидация зон.

  • Confused 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 1 month later...
  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...