Changeset 121


Ignore:
Timestamp:
06/11/09 04:14:07 (10 years ago)
Author:
maximinus_parpg
Message:

Wrote partial routine to set context menu on right click.
Outputs to terminal at the moment.

Location:
trunk/PARPG/scripts
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/PARPG/scripts/agents/npc.py

    r114 r121  
    2525class NPC(fife.InstanceActionListener): 
    2626    """This is the class we use for all NPCs""" 
    27     def __init__(self, text, agentName, layer): 
     27    def __init__(self, text, agent_name, layer): 
    2828        """Init function. 
    2929           @param text: a string of text that will be output to screen when 
     
    3333        fife.InstanceActionListener.__init__(self) 
    3434        self.text = text 
    35         self.agentName = agentName 
     35        self.id = agent_name 
    3636        # a fife.Instance 
    37         self.agent = layer.getInstance(agentName) 
     37        self.agent = layer.getInstance(agent_name) 
    3838        self.agent.addActionListener(self) 
    3939        self.state = _STATE_NONE 
  • trunk/PARPG/scripts/engine.py

    r114 r121  
    108108        for i in self.npcs: 
    109109            # all NPC's are deemed active 
    110             if(i.agentName == ident): 
     110            if(i.id == ident): 
    111111                return i 
    112112        # no match 
    113113        return False 
     114 
     115    def getItemActions(self, obj_id): 
     116        """Given the objects ID, return the text strings and callbacks""" 
     117        actions=[] 
     118        # is it in our objects? 
     119        for i in self.objects: 
     120            if(obj_id == i.id): 
     121                actions.append(("Examine",None)) 
     122                # is it a container? 
     123                if(i.container == True): 
     124                    actions.append(("Open",None)) 
     125                # can you pick it up? 
     126                if(i.carry == True): 
     127                    actions.append(("Pick Up",None)) 
     128                return actions 
     129        # is it an NPC? 
     130        for i in self.npcs: 
     131            if(obj_id == i.id): 
     132                # keep it simple for now 
     133                actions.append(("Talk",None)) 
     134                actions.append(("Attack",None)) 
     135        return actions 
    114136 
    115137    def loadMap(self,map_file): 
  • trunk/PARPG/scripts/objects.py

    r111 r121  
    3636            self.id = data[4] 
    3737            self.text = data[5] 
    38             self.contain = data[6] 
     38            self.container = data[6] 
    3939            self.carry = data[7] 
    4040            self.owner = None 
     
    4747            self.text = data[3] 
    4848            self.owner = data[4] 
    49             self.contain = data[5] 
     49            self.container = data[5] 
    5050            self.carry = data[6] 
    5151        # convert the data 
    52         if(self.contain == u'1'): 
    53             self.contain = True 
     52        if(self.container == u'1'): 
     53            self.container = True 
    5454        else: 
    55             self.contain = False 
     55            self.container = False 
    5656        if(self.carry == u'1'): 
    5757            self.carry = True 
  • trunk/PARPG/scripts/world.py

    r120 r121  
    232232                 
    233233        elif(evt.getButton() == fife.MouseEvent.RIGHT): 
     234            # is there an object here? 
     235            i=self.cameras['main'].getMatchingInstances(click, self.agent_layer) 
     236            if(i != ()): 
     237                for obj in i: 
     238                    # check to see if this is an active item 
     239                    if(self.data.objectActive(obj.getId()) != False):             
     240                        # yes, get the data 
     241                        info = self.data.getItemActions(obj.getId()) 
     242                        print info 
    234243            if (hasattr(self, "context_menu")): 
    235244                self.context_menu.vbox.hide() 
Note: See TracChangeset for help on using the changeset viewer.