コード例 #1
0
ファイル: combat_prepare.py プロジェクト: sjinny/Game1
 def setup_skill_icons_using( self, ui_prepare_character ) :
     skills= ( get_skill( skill_id ) for skill_id in ui_prepare_character.character_data[u'skills_using'] )
     skills= filter( lambda skill : skill is not None, skills )
     len_need= len( skills )
     resize( ui_prepare_character.skill_icons_using, len_need, Factory.UIPrepareSkillIcon )
     for ui_icon, skill in izip( reversed( ui_prepare_character.skill_icons_using.children ), skills ) :
         ui_icon.source= skill.icon
コード例 #2
0
ファイル: combat_prepare.py プロジェクト: sjinny/Game1
    def character_on_select( self, ui_prepare_character ) :
        for child in self.character_list.children :
            if child == ui_prepare_character :
                child.is_selected= True
            else :
                child.is_selected= False
        self.selected_character_image= ui_prepare_character.image
        self.selected_character_name= ui_prepare_character.name
        self.selected_character_hp_max_value= ui_prepare_character.character_data[u'hp_max']
        self.selected_character_speed_value= ui_prepare_character.character_data[u'speed']
        self.selected_character_dex_value= ui_prepare_character.character_data[u'dex']
        self.selected_character_skill_points= ui_prepare_character.character_data[u'skill_points']
        self.update_selected_character_skill_value_total()

        skills= ( ( skill_id, get_skill( skill_id ), skill_id in ui_prepare_character.character_data[u'skills_using'] )
                    for skill_id in ui_prepare_character.character_data[u'skill_ids'] )
        skills= filter( lambda ( skill_id, skill, is_active ) : skill is not None, skills )
        skills.sort( key= lambda ( skill_id, skill, is_active ) : 1 if is_active else 0 )
        def create_ui_prepare_skill() :
            ui_prepare_skill= Factory.UIPrepareSkill()
            ui_prepare_skill.ui_combat_prepare= self
            ui_prepare_skill.skill_id= 0
            ui_prepare_skill.character_data= None
            return ui_prepare_skill
        resize( self.selected_character_skill_list, len( skills ), create_ui_prepare_skill )
        assert( len( self.selected_character_skill_list.children ) == len( skills ) )
        for ui_prepare_skill, ( skill_id, skill, is_active ) in izip( self.selected_character_skill_list.children, skills ) :
            ui_prepare_skill.is_active= is_active
            ui_prepare_skill.icon= skill.icon
            ui_prepare_skill.name= skill.name
            ui_prepare_skill.value= skill.value
            ui_prepare_skill.skill_id= skill_id
            ui_prepare_skill.character_data= ui_prepare_character.character_data
コード例 #3
0
ファイル: combat.py プロジェクト: sjinny/Game1
 def sync( self ) :
     self.sync_selected_skill_info()
     show_empty= ( self.active_character is None or \
                   self.active_character.camp != self.self_camp or \
                   not isinstance( self.active_character.controller, CommandController ) or \
                   self.active_character.controller.actions )
     if self.selected_detail.current == u'empty' and not show_empty :
         self.selected_detail.current= u'skills'
     elif self.selected_detail.current != u'empty' and show_empty :
         self.selected_detail.current= u'empty'
     if self.selected_detail.current == u'skills' :
         skill_src= self.active_character
         skills= [ ( skill_id, skill_src.get_skill( skill_id ) ) for skill_id in skill_src.skills_using ]
         skills= filter( lambda ( skill_id, skill ) : skill is not None, skills )
         skills.sort( reverse= True, key= lambda ( skill_id, skill ) : skill_id )
         len_need= len( skills )
         def create_ui_skill_menu_item() :
             ui_skill_menu_item= Factory.UISkillMenuItem()
             ui_skill_menu_item.ui_combat= self
             ui_skill_menu_item.skill_src= None
             ui_skill_menu_item.skill_id= None
             return ui_skill_menu_item
         resize( self.ui_skills, len_need, create_ui_skill_menu_item )
         for i in xrange( len_need ) :
             skill_id, skill= skills[i]
             ui_skill_item= self.ui_skills.children[i]
             ui_skill_item.skill_name= skill.name
             ui_skill_item.skill_src= skill_src
             ui_skill_item.skill_id= skill_id
             ui_skill_item.is_valid= skill.valid( self.combat, self.combat.objects, skill_src )
             ui_skill_item.icon= skill.icon
     self.__update_valid_ui_targets()
     self.__sync_characters( self.self_character_list,  self.self_camp  )
     self.__sync_characters( self.enemy_character_list, self.enemy_camp )
     self.light_name= get_property( u'light' ).__doc__
     self.light_value= self.combat.light
     self.light_max= self.combat.light_max
     self.dark_name= get_property( u'dark' ).__doc__
     self.dark_value= self.combat.dark
     self.dark_max= self.combat.dark_max
     self.chaos_name= get_property( u'chaos' ).__doc__
     self.chaos_value= self.combat.chaos
     self.chaos_max= self.combat.chaos_max
コード例 #4
0
ファイル: combat.py プロジェクト: sjinny/Game1
    def __sync_characters( self, ui_character_list, camp ) :
        characters= [ character for character in self.combat.objects if character.camp == camp ]
        characters.sort()
        len_need= len( characters )
        def create_ui_character() :
            ui_character= Factory.UICharacter()
            ui_character.ui_combat= self
            return ui_character
        resize( ui_character_list, len_need, create_ui_character )
        assert len( ui_character_list.children ) == len_need
        for i, character in enumerate( characters ) :
            ui_character= ui_character_list.children[i]
            ui_character.character= character

            ui_character.name= character.name
            ui_character.image= character.image
            ui_character.seq= str( 1+self.combat.objects.index( character ) )

            ui_character.hp_name= get_property( u'hp' ).__doc__
            ui_character.hp_value= character.hp
            ui_character.hp_max= character.hp_max

            ui_character.speed_name= get_property( u'speed' ).__doc__
            ui_character.speed_value= character.speed

            ui_character.dex_name= get_property( u'dex' ).__doc__
            ui_character.dex_value= character.dex

            ui_character.is_active= ( character is self.active_character )
            ui_character.is_invalid_target= ( self.selected_detail.current == u'skill' and \
                                              character not in self.__valid_targets )

            states= [ state for state in character.iter_states() ]
            len_need= len( states )
            resize( ui_character.state_list, len_need, Factory.UIState )
            assert( len( ui_character.state_list.children ) == len_need )
            for j, state in enumerate( states ) :
                ui_state= ui_character.state_list.children[j]
                ui_state.icon= state.icon