Esempio n. 1
0
class BareBones(object):
    def __init__(self):
        BBGlobalVars.initialise(self, render)  # set render as current coordinate system (NOT CURRENTLY USED)
        #super(DirectObject, self).__init__() # I'd like to do this init
        self.notify = DirectNotify()
        self.notify.newCategory('bareBonesErr')
        self.bareBonesNP = render.attachNewNode('bareBonesNode')
        self.levitorNP = self.bareBonesNP.attachNewNode('levitorNode')
        self.levitor = Levitor(self.bareBonesNP, self.levitorNP)
        self.bbDummyNP = None  # should always be None, save for during file ops


        self.twoDGui = TwoDeeGui()


    def prepareForSave(self):
        self.bbDummyNP = NodePath(PandaNode("bbDummyNP"))
        self.bareBonesNP.reparentTo(self.bbDummyNP)


    def recoverFromSave(self):
        self.bareBonesNP.reparentTo(render)
        self.bbDummyNP.removeNode()
        self.bbDummyNP = None


    def prepareForLoad(self):
        self.prepareForSave()


    def recoverFromLoad(self):
        assert(render is not None)
        global BBGlobalVars
        BBGlobalVars.initialise(self, render)  # set render as current coord sys
        self.levitor.grabber.grabModelNP.hide()  # HACK REMOVE this line barebones shouldn't know about grabber
        self.recoverFromSave()
        # for i in range(0, len(BBGlobalVars.recoverFromPickleLst)):
        #     BBGlobalVars.recoverFromPickleLst[i].recoverFromPickle()