Exemplo n.º 1
0
    def decodeFromDict(self, d):
        self.inspector = TYTaskInspectorRegister.decodeFromDict(d['inspector'])
        self.segment_id = d["segmentId"]
        reward_content = d.get('rewardContent')
        reward_multi_rate = d.get("multiReward", {}).get("rewardMultiRate", 0)
        if not isinstance(reward_multi_rate, (int, float)):
            raise TYBizConfException(d, 'task.rewardMultiRate must be number')
        self.totalLimit = d.get('total', 0)
        if not isinstance(self.totalLimit, int):
            raise TYBizConfException(d, 'task.totalLimit must be int')
        if reward_content:
            multi_reward_content = copy.deepcopy(reward_content)
            if reward_multi_rate > 0:
                for item in multi_reward_content.get("items", []):
                    if "count" not in item:
                        continue
                    item["count"] += int(item["count"] * reward_multi_rate)
            self.reward_content = TYContentRegister.decodeFromDict(
                reward_content)
            self.multi_reward_content = TYContentRegister.decodeFromDict(
                multi_reward_content)
            self.reward_mail = d.get('rewardMail', '')

            if not isstring(self.reward_mail):
                raise TYBizConfException(d, 'task.rewardMail must be string')
        return self
Exemplo n.º 2
0
def _registerClasses():
    # 任务条件注册
    TYTaskConditionRegister.registerClass(TYTaskConditionItemId.TYPE_ID,
                                          TYTaskConditionItemId)
    # 任务检查员注册
    TYTaskInspectorRegister.registerClass(TYItemOpenTaskInspector.TYPE_ID,
                                          TYItemOpenTaskInspector)
    TYTaskInspectorRegister.registerClass(
        TYTaskInspectorRouletteDiamond.TYPE_ID, TYTaskInspectorRouletteDiamond)
    TYTaskInspectorRegister.registerClass(TYTaskInspectorVipLevel.TYPE_ID,
                                          TYTaskInspectorVipLevel)
    TYTaskInspectorRegister.registerClass(
        TYTaskInspectorChargeCumulation.TYPE_ID,
        TYTaskInspectorChargeCumulation)
    TYTaskInspectorRegister.registerClass(TYTaskInspectorChargeSingle.TYPE_ID,
                                          TYTaskInspectorChargeSingle)
    # 任务种类注册
    TYTaskKindRegister.registerClass(TYTaskKindSimple.TYPE_ID,
                                     TYTaskKindSimple)
Exemplo n.º 3
0
    def decodeFromDict(self, d):
        self.kindId = d.get('kindId')
        if not isinstance(self.kindId, int):
            raise TYBizConfException(d, 'RPTaskKind.kindId must be int')

        self.name = d.get('name')
        if not isstring(self.name):
            raise TYBizConfException(d, 'RPTaskKind.name must be string')

        self.count = d.get('count')
        if not isinstance(self.count, int):
            raise TYBizConfException(d, 'RPTaskKind.count must be int')

        self.desc = d.get('desc', '')
        if not isstring(self.desc):
            raise TYBizConfException(d, 'RPTaskKind.desc must be string')

        self.pic = d.get('pic', '')
        if not isstring(self.pic):
            raise TYBizConfException(d, 'RPTaskKind.pic must be string')

        inviterReward = d.get('inviterReward', 0)
        if not isinstance(inviterReward, int) or inviterReward < 0:
            raise TYBizConfException(
                d, 'RPTaskKind.inviterReward must be int >= 0')
        self.inviterReward = inviterReward

        rewardContent = d.get('rewardContent')
        if rewardContent:
            self.rewardContent = TYContentRegister.decodeFromDict(
                rewardContent)
            self.rewardMail = d.get('rewardMail', '')
            if not isstring(self.rewardMail):
                raise TYBizConfException(
                    d, 'RPTaskKind.rewardMail must be string')

        self.inspector = TYTaskInspectorRegister.decodeFromDict(
            d.get('inspector'))
        todotask = d.get('todotask')
        if todotask:
            self.todotaskFac = hallpopwnd.decodeTodotaskFactoryByDict(todotask)
        self._decodeFromDictImpl(d)
        return self
Exemplo n.º 4
0
def _registerClasses():
    TYTaskInspectorRegister.registerClass(TYTaskInspectorBindWeixin.TYPE_ID,
                                          TYTaskInspectorBindWeixin)
Exemplo n.º 5
0
def _registerClasses():
    ftlog.info('majiang2_task._registerClasses')
    TYTaskInspectorRegister.registerClass(GameTaskInspectorPlay.TYPE_ID, GameTaskInspectorPlay)
Exemplo n.º 6
0
def _registerClasses():
    ftlog.info('difang.majiang2_task._registerClasses')
    TYTaskInspectorRegister.registerClass(GameTaskInspectorPlay.TYPE_ID,
                                          GameTaskInspectorPlay)