示例#1
0
    def __init__(self, doneEvent):
        """ __init__(doneEvent)
        """
        StateData.StateData.__init__(self, doneEvent)

        self.numCogs = 1
        self.creditLevel = None
        self.luredIndices = []
        self.trappedIndices = []

        self.numToons = 1
        self.toons = []
        self.localNum = 0
        self.time = 0

        self.bldg = 0
        self.track = -1
        self.level = -1

        self.target = 0

        self.toonAttacks = [(-1, 0, 0), (-1, 0, 0), (-1, 0, 0), (-1, 0, 0)]

        self.fsm = ClassicFSM.ClassicFSM(
            'TownBattle',
            [
                State.State('Off', self.enterOff, self.exitOff, ['Attack']),
                State.State('Attack', self.enterAttack, self.exitAttack, [
                    'ChooseCog',
                    'ChooseToon',
                    'AttackWait',
                    'Run',
                    'Fire',
                    'SOS',
                ]),
                State.State('ChooseCog', self.enterChooseCog,
                            self.exitChooseCog, ['AttackWait', 'Attack']),
                State.State('AttackWait', self.enterAttackWait,
                            self.exitAttackWait,
                            ['ChooseCog', 'ChooseToon', 'Attack']),
                State.State('ChooseToon', self.enterChooseToon,
                            self.exitChooseToon, ['AttackWait', 'Attack']),
                State.State('Run', self.enterRun, self.exitRun, ['Attack']),
                State.State(
                    'SOS', self.enterSOS, self.exitSOS,
                    ['Attack', 'AttackWait', 'SOSPetSearch', 'SOSPetInfo']),
                State.State('SOSPetSearch', self.enterSOSPetSearch,
                            self.exitSOSPetSearch, ['SOS', 'SOSPetInfo']),
                State.State('SOSPetInfo', self.enterSOSPetInfo,
                            self.exitSOSPetInfo, ['SOS', 'AttackWait']),
                State.State('Fire', self.enterFire, self.exitFire, [
                    'Attack',
                    'AttackWait',
                ]),
            ],
            # Initial state
            'Off',
            # Final state
            'Off',
        )

        self.runPanel = TTDialog.TTDialog(
            dialogName="TownBattleRunPanel",
            text=TTLocalizer.TownBattleRun,
            style=TTDialog.TwoChoice,
            command=self.__handleRunPanelDone,
        )
        self.runPanel.hide()

        self.attackPanelDoneEvent = 'attack-panel-done'
        self.attackPanel = TownBattleAttackPanel.TownBattleAttackPanel(
            self.attackPanelDoneEvent)

        self.waitPanelDoneEvent = 'wait-panel-done'
        self.waitPanel = TownBattleWaitPanel.TownBattleWaitPanel(
            self.waitPanelDoneEvent)

        self.chooseCogPanelDoneEvent = 'choose-cog-panel-done'
        self.chooseCogPanel = \
                            TownBattleChooseAvatarPanel.TownBattleChooseAvatarPanel(
            self.chooseCogPanelDoneEvent, 0)

        self.chooseToonPanelDoneEvent = 'choose-toon-panel-done'
        self.chooseToonPanel = \
                             TownBattleChooseAvatarPanel.TownBattleChooseAvatarPanel(
            self.chooseToonPanelDoneEvent, 1)

        self.SOSPanelDoneEvent = 'SOS-panel-done'
        self.SOSPanel = TownBattleSOSPanel.TownBattleSOSPanel(
            self.SOSPanelDoneEvent)

        self.SOSPetSearchPanelDoneEvent = 'SOSPetSearch-panel-done'
        self.SOSPetSearchPanel = TownBattleSOSPetSearchPanel.TownBattleSOSPetSearchPanel(
            self.SOSPetSearchPanelDoneEvent)

        self.SOSPetInfoPanelDoneEvent = 'SOSPetInfo-panel-done'
        self.SOSPetInfoPanel = TownBattleSOSPetInfoPanel.TownBattleSOSPetInfoPanel(
            self.SOSPetInfoPanelDoneEvent)

        self.fireCogPanelDoneEvent = 'fire-cog-panel-done'
        self.FireCogPanel = FireCogPanel.FireCogPanel(
            self.fireCogPanelDoneEvent)

        self.cogFireCosts = [None, None, None, None]

        # These are not StateDatas, so they have no doneEvents
        self.toonPanels = (TownBattleToonPanel.TownBattleToonPanel(0),
                           TownBattleToonPanel.TownBattleToonPanel(1),
                           TownBattleToonPanel.TownBattleToonPanel(2),
                           TownBattleToonPanel.TownBattleToonPanel(3))

        self.timer = ToontownTimer.ToontownTimer()
        self.timer.setPos(1.182, 0, 0.842)
        self.timer.setScale(0.4)
        self.timer.hide()
        return
 def __init__(self, doneEvent):
     StateData.StateData.__init__(self, doneEvent)
     self.numCogs = 1
     self.cogs = []
     self.creditLevel = None
     self.luredIndices = []
     self.trappedIndices = []
     self.numToons = 1
     self.toons = []
     self.localNum = 0
     self.time = 0
     self.bldg = 0
     self.track = -1
     self.level = -1
     self.target = 0
     self.toonAttacks = [(-1, 0, 0),
      (-1, 0, 0),
      (-1, 0, 0),
      (-1, 0, 0)]
     self.fsm = ClassicFSM.ClassicFSM('TownBattle', [State.State('Off', self.enterOff, self.exitOff, ['Attack']),
      State.State('Attack', self.enterAttack, self.exitAttack, ['ChooseCog',
       'ChooseToon',
       'AttackWait',
       'Run',
       'Fire',
       'SOS']),
      State.State('ChooseCog', self.enterChooseCog, self.exitChooseCog, ['AttackWait', 'Attack']),
      State.State('AttackWait', self.enterAttackWait, self.exitAttackWait, ['ChooseCog', 'ChooseToon', 'Attack']),
      State.State('ChooseToon', self.enterChooseToon, self.exitChooseToon, ['AttackWait', 'Attack']),
      State.State('Run', self.enterRun, self.exitRun, ['Attack']),
      State.State('SOS', self.enterSOS, self.exitSOS, ['Attack',
       'AttackWait',
       'SOSPetSearch',
       'SOSPetInfo']),
      State.State('SOSPetSearch', self.enterSOSPetSearch, self.exitSOSPetSearch, ['SOS', 'SOSPetInfo']),
      State.State('SOSPetInfo', self.enterSOSPetInfo, self.exitSOSPetInfo, ['SOS', 'AttackWait']),
      State.State('Fire', self.enterFire, self.exitFire, ['Attack', 'AttackWait'])], 'Off', 'Off')
     self.runPanel = TTDialog.TTDialog(dialogName='TownBattleRunPanel', text=TTLocalizer.TownBattleRun, style=TTDialog.TwoChoice, command=self.__handleRunPanelDone)
     self.runPanel.hide()
     self.attackPanelDoneEvent = 'attack-panel-done'
     if settings['newGui'] == True:
         self.attackPanel = TownBattleAttackPanelNEW.TownBattleAttackPanelNEW(self.attackPanelDoneEvent)
     else:
         self.attackPanel = TownBattleAttackPanelOLD.TownBattleAttackPanelOLD(self.attackPanelDoneEvent)
     self.waitPanelDoneEvent = 'wait-panel-done'
     self.waitPanel = TownBattleWaitPanel.TownBattleWaitPanel(self.waitPanelDoneEvent)
     self.chooseCogPanelDoneEvent = 'choose-cog-panel-done'
     self.chooseCogPanel = TownBattleChooseAvatarPanel.TownBattleChooseAvatarPanel(self.chooseCogPanelDoneEvent, 0)
     self.chooseToonPanelDoneEvent = 'choose-toon-panel-done'
     self.chooseToonPanel = TownBattleChooseAvatarPanel.TownBattleChooseAvatarPanel(self.chooseToonPanelDoneEvent, 1)
     self.SOSPanelDoneEvent = 'SOS-panel-done'
     self.SOSPanel = TownBattleSOSPanelNEW.TownBattleSOSPanelNEW(self.SOSPanelDoneEvent)
     self.SOSPetSearchPanelDoneEvent = 'SOSPetSearch-panel-done'
     self.SOSPetSearchPanel = TownBattleSOSPetSearchPanel.TownBattleSOSPetSearchPanel(self.SOSPetSearchPanelDoneEvent)
     self.SOSPetInfoPanelDoneEvent = 'SOSPetInfo-panel-done'
     self.SOSPetInfoPanel = TownBattleSOSPetInfoPanel.TownBattleSOSPetInfoPanel(self.SOSPetInfoPanelDoneEvent)
     self.fireCogPanelDoneEvent = 'fire-cog-panel-done'
     self.FireCogPanel = FireCogPanel.FireCogPanel(self.fireCogPanelDoneEvent)
     self.cogFireCosts = [None,
      None,
      None,
      None]
     self.toonPanels = (TownBattleToonPanel.TownBattleToonPanel(0),
      TownBattleToonPanel.TownBattleToonPanel(1),
      TownBattleToonPanel.TownBattleToonPanel(2),
      TownBattleToonPanel.TownBattleToonPanel(3))
     self.cogPanels = (TownBattleCogPanel.TownBattleCogPanel(0),
      TownBattleCogPanel.TownBattleCogPanel(1),
      TownBattleCogPanel.TownBattleCogPanel(2),
      TownBattleCogPanel.TownBattleCogPanel(3))
     self.timer = ToontownTimer.ToontownTimer()
     self.timer.reparentTo(base.a2dTopRight)
     self.timer.setPos(-0.151, 0, -0.158)
     self.timer.setScale(0.4)
     self.timer.hide()
     return
 def __init__(self, doneEvent):
     StateData.StateData.__init__(self, doneEvent)
     self.numCogs = 1
     self.creditLevel = None
     self.luredIndices = []
     self.trappedIndices = []
     self.numToons = 1
     self.toons = []
     self.localNum = 0
     self.time = 0
     self.bldg = 0
     self.track = -1
     self.level = -1
     self.target = 0
     self.toonAttacks = [(-1, 0, 0)] * 4
     self.fsm = ClassicFSM.ClassicFSM('TownBattle', [
         State.State('Off', self.enterOff, self.exitOff, ['Attack']),
         State.State('Attack', self.enterAttack, self.exitAttack, [
             'ChooseCog', 'ChooseToon', 'AttackWait', 'Run', 'Fire', 'SOS'
         ]),
         State.State('ChooseCog', self.enterChooseCog, self.exitChooseCog,
                     ['AttackWait', 'Attack']),
         State.State('AttackWait', self.enterAttackWait,
                     self.exitAttackWait,
                     ['ChooseCog', 'ChooseToon', 'Attack']),
         State.State('ChooseToon', self.enterChooseToon,
                     self.exitChooseToon, ['AttackWait', 'Attack']),
         State.State('Run', self.enterRun, self.exitRun, ['Attack']),
         State.State(
             'SOS', self.enterSOS, self.exitSOS,
             ['Attack', 'AttackWait', 'SOSPetSearch', 'SOSPetInfo']),
         State.State('SOSPetSearch', self.enterSOSPetSearch,
                     self.exitSOSPetSearch, ['SOS', 'SOSPetInfo']),
         State.State('SOSPetInfo', self.enterSOSPetInfo,
                     self.exitSOSPetInfo, ['SOS', 'AttackWait']),
         State.State('Fire', self.enterFire, self.exitFire,
                     ['Attack', 'AttackWait'])
     ], 'Off', 'Off')
     self.runPanel = TTDialog.TTDialog(dialogName='TownBattleRunPanel',
                                       text=TTLocalizer.TownBattleRun,
                                       style=TTDialog.TwoChoice,
                                       command=self.__handleRunPanelDone)
     self.runPanel.hide()
     self.attackPanelDoneEvent = 'attack-panel-done'
     self.attackPanel = TownBattleAttackPanel.TownBattleAttackPanel(
         self.attackPanelDoneEvent)
     self.waitPanelDoneEvent = 'wait-panel-done'
     self.waitPanel = TownBattleWaitPanel.TownBattleWaitPanel(
         self.waitPanelDoneEvent)
     self.chooseCogPanelDoneEvent = 'choose-cog-panel-done'
     self.chooseCogPanel = TownBattleChooseAvatarPanel.TownBattleChooseAvatarPanel(
         self.chooseCogPanelDoneEvent, 0)
     self.chooseToonPanelDoneEvent = 'choose-toon-panel-done'
     self.chooseToonPanel = TownBattleChooseAvatarPanel.TownBattleChooseAvatarPanel(
         self.chooseToonPanelDoneEvent, 1)
     self.SOSPanelDoneEvent = 'SOS-panel-done'
     self.SOSPanel = TownBattleSOSPanel.TownBattleSOSPanel(
         self.SOSPanelDoneEvent)
     self.SOSPetSearchPanelDoneEvent = 'SOSPetSearch-panel-done'
     self.SOSPetSearchPanel = TownBattleSOSPetSearchPanel.TownBattleSOSPetSearchPanel(
         self.SOSPetSearchPanelDoneEvent)
     self.SOSPetInfoPanelDoneEvent = 'SOSPetInfo-panel-done'
     self.SOSPetInfoPanel = TownBattleSOSPetInfoPanel.TownBattleSOSPetInfoPanel(
         self.SOSPetInfoPanelDoneEvent)
     self.fireCogPanelDoneEvent = 'fire-cog-panel-done'
     self.FireCogPanel = FireCogPanel.FireCogPanel(
         self.fireCogPanelDoneEvent)
     self.rolloverFrame = DirectFrame(aspect2d,
                                      relief=None,
                                      geom=DGG.getDefaultDialogGeom(),
                                      geom_color=(0.6, 1.0, 0.4, 1),
                                      geom_scale=(0.5, 0.3, 0.2),
                                      text_scale=0.05,
                                      text_pos=(0, 0.0125),
                                      text='',
                                      text_fg=(0, 0, 0, 1),
                                      pos=(0.4, 0, 0))
     self.rolloverFrame.setBin('gui-popup', 0)
     self.rolloverFrame.hide()
     self.suitGui = loader.loadModel(
         'phase_3.5/models/gui/suit_detail_panel')
     self.suitGui.find('**/avatar_panel/shadow').setColor(1, 1, 1, 0.5)
     self.toonPanels = [
         TownBattleToonPanel.TownBattleToonPanel(self) for i in xrange(4)
     ]
     self.cogPanels = [
         TownBattleCogPanel.TownBattleCogPanel(self) for i in xrange(4)
     ]
     self.timer = ToontownTimer.ToontownTimer()
     self.timer.posInTopRightCorner()
     self.timer.setScale(0.4)
     self.timer.hide()