예제 #1
0
 def findGUI(self, root=None):
     gfxObj = getattr(root, 'dispatcher', None)
     if gfxObj is not None:
         self.__layout = root
     else:
         LOG_ERROR('GFx object of dispatcher not found')
     return
예제 #2
0
 def __onComponentLost(self, event):
     if not event.targetID:
         LOG_ERROR('Key targetID is not defined in the event ON_COMPONENT_LOST')
         return
     itemID = event.targetID
     self.effects.cancel(GUI_EFFECT_NAME.SHOW_HINT, itemID)
     self.onItemLost(itemID)
예제 #3
0
 def __gfx_onRefuseTraining(self, _):
     if self._mode == GUIDispatcher.RUN_MODE:
         from tutorial.loader import g_loader
         funcEffect = g_loader.tutorial._ctrlFactory.createFuncEffect(
             SimpleEffect(Effect.REFUSE_TRAINING))
         funcEffect.triggerEffect()
     else:
         LOG_ERROR('TUTORIAL. Tutorial is not run.', self._mode)
예제 #4
0
 def showServiceMessage(self, data, msgTypeName):
     msgType, messageID = (None, 0)
     if msgTypeName is not None:
         msgType = getattr(SCH_CLIENT_MSG_TYPE, msgTypeName, None)
     if msgType is None:
         LOG_ERROR('Message type not found', msgType)
     if self.proto:
         messageID = self.proto.serviceChannel.pushClientMessage(data, msgType)
     return messageID
예제 #5
0
 def __onTriggerActivated(self, event):
     if not event.targetID:
         LOG_ERROR('Key targetID is not defined in the event ON_TRIGGER_ACTIVATED')
         return
     if not event.settingsID:
         LOG_ERROR('Key settingsID is not defined in the event ON_TRIGGER_ACTIVATED')
         return
     triggerType = event.settingsID
     componentID = event.targetID
     if triggerType == TUTORIAL_TRIGGER_TYPES.CLICK_TYPE:
         LOG_DEBUG('Player has clicked', componentID)
         self.onGUIInput(ClickEvent(componentID))
     elif triggerType == TUTORIAL_TRIGGER_TYPES.CLICK_OUTSIDE_TYPE:
         LOG_DEBUG('Player has clicked outside', componentID)
         self.onGUIInput(ClickOutsideEvent(componentID))
     elif triggerType == TUTORIAL_TRIGGER_TYPES.ESCAPE:
         LOG_DEBUG('Player has pressed ESC', componentID)
         self.onGUIInput(EscEvent(componentID))
     else:
         LOG_ERROR('Type of event is not supported', triggerType)
예제 #6
0
 def onEnqueued(self, queueType, *args):
     if queueType != QUEUE_TYPE.TUTORIAL:
         return
     if len(args) < 3:
         LOG_ERROR('Number of argument is invalid', args)
         queueNumber, queueLen, avgWaitingTime = (0, 0, 0)
     else:
         queueNumber, queueLen, avgWaitingTime = args[:3]
     self._event.fire(avgWaitingTime)
     if not self._inQueue:
         self._inQueue = True
         self.toggle(isOn=True)
예제 #7
0
 def __handleHistoryShow(self, event):
     ctx = event.ctx
     if ctx is None or 'arenaUniqueID' not in ctx:
         LOG_ERROR('Required parameters is not defined to show history',
                   ctx)
         return
     else:
         self._isHistory = True
         self._isFlagsReset = True
         self._historyNotAvailable = self._lastHistoryID != ctx[
             'arenaUniqueID']
         if self._mode == GUIDispatcher.RESTART_MODE:
             Waiting.show('tutorial-chapter-loading', isSingle=True)
             if not self.restartTraining(afterBattle=True):
                 Waiting.hide('tutorial-chapter-loading')
         else:
             from tutorial.loader import g_loader
             g_loader.tutorial.invalidateFlags()
         return
예제 #8
0
 def __onComponentFound(self, event):
     if not event.targetID:
         LOG_ERROR(
             'Key targetID is not defined in the event ON_COMPONENT_FOUND')
         return
     self.onItemFound(event.targetID)