Changeset 111


Ignore:
Timestamp:
06/09/09 09:50:38 (10 years ago)
Author:
maximinus_parpg
Message:

Started building code to handle objects.
Small update to objLoader.py.
Some updates to engine.py.

Location:
trunk/PARPG
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/PARPG/maps/map_objects.xml

    r96 r111  
    1212    <!-- Object blocking is set in the objects own xml file --> 
    1313    <object display="True" gfx="crate" xpos="-3.0" ypos="-4.0" id="crate01" 
    14             text="Just a crate"></object> 
     14            carry="0" contain="1" text="Just a crate"></object> 
    1515    <object display="True" gfx="crate" xpos="-4.0" ypos="-6.0" id="crate02" 
    16             text="A dirty old crate"></object> 
     16            carry="0" contain="1" text="A dirty old crate"></object> 
    1717    <object display="False" gfx="NONE" owner="crate02" id="letter" 
    18             text="A newly thrown-away letter"></object> 
     18            carry="1" contain="0" text="A newly thrown-away letter"></object> 
    1919    <object display="False" gfx="NONE" owner="crate02" id="battery" 
    20             text="An old battery"></object> 
     20            carry="1" contain="0" text="An old battery"></object> 
    2121</objects> 
    2222 
  • trunk/PARPG/scripts/engine.py

    r108 r111  
    8282           An NPC is just an object to FIFE""" 
    8383        for i in objects: 
     84            # is it visible? 
    8485            if(i[0] == True): 
    8586                self.view.addObject(float(i[1]), float(i[2]), i[3], i[4]) 
    86                 # now add it as an engine object 
    87                 self.objects.append(GameObject(i)) 
     87            # now add it as an engine object 
     88            self.objects.append(GameObject(i)) 
    8889 
    8990    def addNPCs(self,npcs): 
  • trunk/PARPG/scripts/objLoader.py

    r109 r111  
    1818from xml.sax import make_parser 
    1919from xml.sax.handler import ContentHandler 
     20import sys 
    2021 
    2122class LocalXMLParser(ContentHandler): 
     
    7475                ident = attrs.getValue("id") 
    7576                text = attrs.getValue("text") 
     77                contain = attrs.getValue("contain") 
     78                carry = attrs.getValue("carry") 
    7679            except(KeyError): 
    7780                sys.stderr.write("Error: Data missing in object definition\n") 
     
    7982            # now we have the data, save it for later 
    8083            if(display == "True"): 
    81                 self.objects.append([True, xpos, ypos, gfx, ident, text]) 
     84                self.objects.append([True, xpos, ypos, gfx, ident, 
     85                                     text, contain, carry]) 
    8286            else: 
    83                 self.objects.append([False, gfx, ident, text]) 
     87                self.objects.append([False, gfx, ident, text, 
     88                                     owner, contain, carry]) 
     89 
  • trunk/PARPG/scripts/objects.py

    r104 r111  
    2121    def __init__(self, data): 
    2222        """Init is a little complicated becuase we have 2 types of 
    23            constructors in one function""" 
    24         if(data[0]==True): 
     23           constructors in one function 
     24           display -> true, we display on screen 
     25           xpos, ypos -> position in map 
     26           gfx -> img data (the FIFE reference) 
     27           text -> descriptive text 
     28           owner -> what it is contained in 
     29           contain -> True / False is it a container 
     30           carry -> True / False it can be carried""" 
     31        if(data[0] == True): 
    2532            self.display = True 
    2633            self.xpos = int(float(data[1])) 
     
    2936            self.id = data[4] 
    3037            self.text = data[5] 
     38            self.contain = data[6] 
     39            self.carry = data[7] 
     40            self.owner = None 
    3141        else: 
    3242            self.display = False 
     
    3646            self.id = data[2] 
    3747            self.text = data[3] 
     48            self.owner = data[4] 
     49            self.contain = data[5] 
     50            self.carry = data[6] 
     51        # convert the data 
     52        if(self.contain == u'1'): 
     53            self.contain = True 
     54        else: 
     55            self.contain = False 
     56        if(self.carry == u'1'): 
     57            self.carry = True 
     58        else: 
     59            self.carry= False 
    3860 
Note: See TracChangeset for help on using the changeset viewer.