コード例 #1
0
ファイル: fleetbroadcast.py プロジェクト: connoryang/1v1dec
    def LoadMemberHistory(self):
        scrolllist = []
        memberHistory = sm.GetService('fleet').GetMemberHistory()
        for kv in memberHistory:
            label = localization.GetByLabel('UI/Fleet/FleetBroadcast/Event',
                                            time=kv.time,
                                            eventLabel=kv.event)
            data = KeyVal(charID=kv.charID,
                          label=label,
                          GetMenu=self.GetMemberMenu,
                          data=kv)
            data.Set(
                'sort_%s' %
                localization.GetByLabel('UI/Common/DateWords/Time'), kv.time)
            data.time = kv.time
            scrolllist.append(listentry.Get('Generic', data=data))

        hint = localization.GetByLabel('UI/Fleet/FleetBroadcast/NoEventsYet')
        return (scrolllist, hint)
コード例 #2
0
ファイル: fleetbroadcast.py プロジェクト: connoryang/1v1dec
    def LoadLootHistory(self):
        scrolllist = []
        lootHistory = sm.GetService('fleet').GetLootHistory()
        for kv in lootHistory:
            label = localization.GetByLabel(
                'UI/Fleet/FleetBroadcast/BroadcastEventLoot',
                time=kv.time,
                charID=kv.charID,
                item=kv.typeID,
                itemQuantity=kv.quantity)
            data = KeyVal(charID=kv.charID,
                          label=label,
                          GetMenu=self.GetLootMenu,
                          data=kv)
            data.Set(
                'sort_%s' %
                localization.GetByLabel('UI/Common/DateWords/Time'), kv.time)
            data.time = kv.time
            scrolllist.append(listentry.Get('Generic', data=data))

        hint = localization.GetByLabel('UI/Fleet/FleetBroadcast/NoEventsYet')
        return (scrolllist, hint)
コード例 #3
0
ファイル: fleetwindow.py プロジェクト: connoryang/1v1dec
    def LoadComposition(self):
        fleetSvc = sm.GetService('fleet')
        if not fleetSvc.IsCommanderOrBoss():
            raise UserError('FleetNotCommanderOrBoss')
        scrolllist = []
        composition = fleetSvc.GetFleetComposition()
        fleetHierarchy = fleetSvc.GetFleetHierarchy()
        fleetPositionText = localization.GetByLabel(
            'UI/Fleet/FleetWindow/FleetPosition')
        for kv in composition:
            blue.pyos.BeNice()
            member = fleetSvc.GetMemberInfo(kv.characterID, fleetHierarchy)
            if not fleetSvc.IsMySubordinate(
                    kv.characterID) and not fleetSvc.IsBoss():
                continue
            data = KeyVal()
            charName = localization.GetByLabel('UI/Common/CharacterNameLabel',
                                               charID=kv.characterID)
            locationName = localization.GetByLabel('UI/Common/LocationDynamic',
                                                   location=kv.solarSystemID)
            if kv.stationID:
                locationName = '%s %s' % (
                    locationName,
                    localization.GetByLabel('UI/Fleet/FleetComposition/Docked')
                )
            if kv.shipTypeID is not None:
                shipTypeName = evetypes.GetName(kv.shipTypeID)
                shipGroupName = evetypes.GetGroupName(kv.shipTypeID)
            else:
                shipTypeName = ''
                shipGroupName = ''
            if kv.skills:
                skillLevels = localization.GetByLabel(
                    'UI/Fleet/FleetComposition/SkillLevels',
                    skillLevelA=kv.skills[2],
                    skillLevelB=kv.skills[1],
                    skillLevelC=kv.skills[0])
                data.hint = localization.GetByLabel(
                    'UI/Fleet/FleetComposition/SkillsHint',
                    skillTypeA=kv.skillIDs[2],
                    skillLevelA=kv.skills[2],
                    skillTypeB=kv.skillIDs[1],
                    skillLevelB=kv.skills[1],
                    skillTypeC=kv.skillIDs[0],
                    skillLevelC=kv.skills[0])
            else:
                skillLevels = ''
            if not member.wingName:
                fleetPosition = ''
                positionSortValue = (None, None)
            elif not member.squadName:
                fleetPosition = member.wingName
                positionSortValue = (fleetPosition, None)
            else:
                fleetPosition = '%s / %s ' % (member.wingName,
                                              member.squadName)
                positionSortValue = (member.wingName, member.squadName)
            data.label = '<t>'.join([
                charName, locationName, shipTypeName, shipGroupName,
                member.roleName, skillLevels, fleetPosition
            ])
            data.GetMenu = self.OnCompositionEntryMenu
            data.cfgname = charName
            data.retval = None
            data.charID = kv.characterID
            data.shipTypeID = kv.shipTypeID
            data.solarSystemID = kv.solarSystemID
            data.info = cfg.eveowners.Get(kv.characterID)
            data.Set('sort_%s' % fleetPositionText, positionSortValue)
            scrolllist.append(listentry.Get('FleetCompositionEntry',
                                            data=data))

        self.counterLabel.text = localization.GetByLabel(
            'UI/Fleet/FleetComposition/PilotsSelected',
            numSelected=0,
            numTotalPilots=len(scrolllist))
        self.sr.scrollBroadcasts.sr.id = 'scrollComposition'
        headers = [
            localization.GetByLabel('UI/Common/Name'),
            localization.GetByLabel('UI/Common/Location'),
            localization.GetByLabel('UI/Fleet/FleetComposition/ShipType'),
            localization.GetByLabel('UI/Fleet/FleetComposition/ShipGroup'),
            localization.GetByLabel('UI/Fleet/FleetComposition/FleetRole'),
            localization.GetByLabel('UI/Fleet/FleetComposition/FleetSkills'),
            fleetPositionText
        ]
        self.sr.scrollBroadcasts.Load(headers=headers, contentList=scrolllist)
コード例 #4
0
    def ShowDirectionalSearchResult(self, *args):
        self.listtype = 'location'
        scrolllist = []
        if self.scanresult and len(self.scanresult):
            myball = None
            ballpark = sm.GetService('michelle').GetBallpark()
            if ballpark:
                myball = ballpark.GetBall(eve.session.shipid)
            prime = []
            for result in self.scanresult:
                slimItem, ball, celestialRec = result
                if not slimItem and celestialRec:
                    prime.append(celestialRec.id)

            if prime:
                cfg.evelocations.Prime(prime)
            for slimItem, ball, celestialRec in self.scanresult:
                if self is None or self.destroyed:
                    return
                if slimItem:
                    typeinfo = cfg.invtypes.Get(slimItem.typeID)
                    entryname = GetSlimItemName(slimItem)
                    itemID = slimItem.itemID
                    typeID = slimItem.typeID
                    if not entryname:
                        entryname = typeinfo.Group().name
                elif celestialRec:
                    typeinfo = cfg.invtypes.Get(celestialRec.typeID)
                    if typeinfo.groupID == const.groupHarvestableCloud:
                        entryname = GetByLabel('UI/Inventory/SlimItemNames/SlimHarvestableCloud', typeinfo.name)
                    elif typeinfo.categoryID == const.categoryAsteroid:
                        entryname = GetByLabel('UI/Inventory/SlimItemNames/SlimAsteroid', typeinfo.name)
                    else:
                        entryname = cfg.evelocations.Get(celestialRec.id).name
                    if not entryname:
                        entryname = typeinfo.name
                    itemID = celestialRec.id
                    typeID = celestialRec.typeID
                else:
                    continue
                if ball is not None:
                    dist = ball.surfaceDist
                    diststr = FmtDist(dist, maxdemicals=1)
                else:
                    dist = 0
                    diststr = '-'
                groupID = cfg.invtypes.Get(typeID).groupID
                if not eve.session.role & (service.ROLE_GML | service.ROLE_WORLDMOD):
                    if groupID == const.groupCloud:
                        continue
                data = KeyVal()
                data.label = '%s<t>%s<t>%s' % (entryname, typeinfo.name, diststr)
                data.entryName = entryname
                data.typeName = typeinfo.name
                data.Set('sort_%s' % GetByLabel('UI/Common/Distance'), dist)
                data.columnID = 'directionalResultGroupColumn'
                data.result = result
                data.itemID = itemID
                data.typeID = typeID
                data.GetMenu = self.DirectionalResultMenu
                scrolllist.append(listentry.Get('DirectionalScanResults', data=data))
                blue.pyos.BeNice()

        if not len(scrolllist):
            data = KeyVal()
            data.label = GetByLabel('UI/Inflight/Scanner/DirectionalNoResult')
            data.hideLines = 1
            scrolllist.append(listentry.Get('Generic', data=data))
            headers = []
        else:
            headers = [GetByLabel('UI/Common/Name'), GetByLabel('UI/Common/Type'), GetByLabel('UI/Common/Distance')]
        self.sr.dirscroll.Load(contentList=scrolllist, headers=headers)
コード例 #5
0
    def ShowMySkillHistory(self):
        def GetPts(lvl):
            return charskills.GetSPForLevelRaw(stc, lvl)

        self.topCont.Hide()
        self.scroll.sr.id = 'charsheet_skillhistory'
        rs = sm.GetService('skills').GetSkillHistory()
        scrolllist = []
        actions = {
            const.skillEventClonePenalty:
            GetByLabel(
                'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillClonePenalty'
            ),
            const.skillEventTrainingStarted:
            GetByLabel(
                'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillTrainingStarted'
            ),
            const.skillEventTrainingComplete:
            GetByLabel(
                'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillTrainingComplete'
            ),
            const.skillEventTrainingCancelled:
            GetByLabel(
                'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillTrainingCanceled'
            ),
            const.skillEventGMGive:
            GetByLabel(
                'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/GMGiveSkill'
            ),
            const.skillEventQueueTrainingCompleted:
            GetByLabel(
                'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillTrainingComplete'
            ),
            const.skillEventFreeSkillPointsUsed:
            GetByLabel(
                'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillPointsApplied'
            ),
            const.skillEventSkillExtracted:
            GetByLabel(
                'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillLevelExtracted'
            )
        }
        for r in rs:
            skill = sm.GetService('skills').GetSkill(r.skillTypeID)
            if skill:
                stc = skill.skillRank
                levels = [
                    0,
                    GetPts(1),
                    GetPts(2),
                    GetPts(3),
                    GetPts(4),
                    GetPts(5)
                ]
                level = 5
                for i in range(len(levels)):
                    if levels[i] > r.absolutePoints:
                        level = i - 1
                        break

                data = KeyVal()
                data.label = FmtDate(r.logDate, 'ls') + '<t>'
                data.label += evetypes.GetName(r.skillTypeID) + '<t>'
                data.label += actions.get(
                    r.eventTypeID, GetByLabel('UI/Generic/Unknown')) + '<t>'
                data.label += FormatNumeric(level)
                data.Set('sort_%s' % GetByLabel('UI/Common/Date'), r.logDate)
                data.id = r.skillTypeID
                data.level = level
                data.GetMenu = self.GetItemMenu
                data.MenuFunction = self.GetItemMenu
                data.OnDblClick = (self.DblClickShowInfo, data)
                addItem = entries.Get('Generic', data=data)
                scrolllist.append(addItem)

        self.scroll.Load(
            contentList=scrolllist,
            headers=[
                GetByLabel('UI/Common/Date'),
                GetByLabel(
                    'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/Skill'),
                GetByLabel(
                    'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/Action'),
                GetByLabel(
                    'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/Level')
            ],
            noContentHint=GetByLabel(
                'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/NoRecordsFound'
            ),
            reversesort=True)