Надеюсь, вопрос правильно понял.
Например, я хотел бы этих сеттлеров ограничить Питоном, но не знаю, где искать место вставки кода. Я бы начал с того, что просмотрел код СДК, где определяется, можно ли строить юнит. Нахожу CvCity::canTrain(), там два раза происходит вызов питоновских функций в блоках:
if(GC.getUSE_CAN_TRAIN_CALLBACK())
и
if(GC.getUSE_CANNOT_TRAIN_CALLBACK())
Вижы, что код в этих блоках вызывает питон, например:
gDLL->getPythonIFace()->callFunction(PYGameModule, "cannotTrain", argsList2.makeFunctionArgs(), &lResult);
Где PYGameModule равно CvGameInterface. В файле CvGameInterface.py вижу, что cannotTrain - функция модуля gameUtils. Соотвественно, понимаю, что код надо вставлять в функцию cannotTrain файла gameUtils.py.




Ответить с цитированием