コード例 #1
0
 def townUpdate(self, town):
     town.getUser().getTransfer().forceSend(
         '/delivery/townUpdate', {
             'done':
             True,
             'town':
             Service_Town().getDecorateClass(
                 Service_Town.JSONPACK).pack(town)
         })
コード例 #2
0
    def resourceDown(self):
        serviceTown = Service_Town()
        serviceMapResources = Service_MapResources()
        serviceMapResourcesJsonPack = Service_MapResources().getDecorateClass(Service_MapResources.JSONPACK)
        deliveryController = DeliveryController()

        townCollection = serviceTown.getAllTownsCollection()
        for town in townCollection:
            resources = serviceMapResources.getResourceByTown(town)
            townBonus = town.getBonus()
            sendResources = []

            for resource in resources:
                serviceMapResources.resourceDown(resource)
                sendResources.append(
                    serviceMapResourcesJsonPack.packDomainToJson(resource)
                )

            deliveryController.resourcesUpdate(town, sendResources)
コード例 #3
0
ファイル: Army.py プロジェクト: Zerstoren/honor-of-nation
    def split(self, armyDomain, size, user=None):
        if armyDomain.getUnit().getType() == Common.TYPE_GENERAL:
            raise exceptions.army.CommanderNotPermission(
                "Недопустимая операция для командира")

        if armyDomain.getCommander() is not None:
            raise exceptions.army.UnitHasCommander(
                "Юнит имеет командира и не может провести операцию")

        if armyDomain.getInBuild() is not True:
            raise exceptions.army.UnitNotInBuild(
                "Юнит обязан находится в городе")

        if armyDomain.getCount() <= size or size <= 0:
            raise exceptions.army.Split("Неверный размер для разделения")

        self._create(
            armyDomain.getUnit(),
            Service_Town().loadByPosition(armyDomain.getMap().getPosition()),
            size)

        armyDomain.setCount(armyDomain.getCount() - size)
        armyDomain.getMapper().save(armyDomain)
コード例 #4
0
 def _getParamsTown(self):
     return Service_Town().decorate(Service_Town.PARAMS)
コード例 #5
0
 def _getTownService(self):
     return Service_Town()
コード例 #6
0
 def _getParamsAclJsonPackTown(self):
     return Service_Town().decorate(Service_Town.JSONPACK_ACL)
コード例 #7
0
 def _getAclParamsJsonPackTown(self):
     return Service_Town().decorate(Service_Town.PARAMS_JSONPACK_ACL)
コード例 #8
0
 def getTown(self):
     from service.Town import Service_Town
     return Service_Town().getById(self.get('town'))
コード例 #9
0
ファイル: Army.py プロジェクト: Zerstoren/honor-of-nation
    def create(self, unit, town, count, user=None):
        town = Service_Town().getById(town)
        unit = Service_Equipment_Units().getForce(unit)
        count = int(count)

        return super().create(unit, town, count, user)
コード例 #10
0
 def saveTown(self, user, townData):
     return Service_Town().decorate(
         Service_Town.PARAMS_JSONPACK).save(townData)
コード例 #11
0
 def getTownByPosition(self, x, y):
     return Service_Town().decorate(
         Service_Map.PARAMS_JSONPACK).loadByPosition(x, y)
コード例 #12
0
    def addTownBuild(self, town, name, level):
        builds = town.getBuilds()
        builds.set(name, level)
        builds.getMapper().save(builds)

        Service_Town().updateBonusAndResources(town)