Ejemplo n.º 1
0
 def foodDetach(self = self, diner = diner):
     foodModel = diner.getRightHand().getChild(0)
     (foodModel.reparentTo(serviceLoc),)
     (foodModel.setPosHpr(0, 0, 0, 0, 0, 0),)
     scaleAdj = 1
     if SuitDNA.getSuitBodyType(diner.dna.name) == 'c':
         scaleAdj = 0.6
     else:
         scakeAdj = 0.8
     oldScale = foodModel.getScale()
     newScale = oldScale / scaleAdj
     foodModel.setScale(newScale)
 def foodDetach(self=self, diner=diner):
     foodModel = diner.getRightHand().getChild(0)
     (foodModel.reparentTo(serviceLoc),)
     (foodModel.setPosHpr(0, 0, 0, 0, 0, 0),)
     scaleAdj = 1
     if SuitDNA.getSuitBodyType(diner.dna.name) == "c":
         scaleAdj = 0.59999999999999998
     else:
         scakeAdj = 0.80000000000000004
     oldScale = foodModel.getScale()
     newScale = oldScale / scaleAdj
     foodModel.setScale(newScale)
 def foodDetach(self = self, diner = diner):
     if diner.getRightHand().getNumChildren() < 1:
         return
     foodModel = diner.getRightHand().getChild(0)
     (foodModel.reparentTo(serviceLoc),)
     (foodModel.setPosHpr(0, 0, 0, 0, 0, 0),)
     scaleAdj = 1
     if SuitDNA.getSuitBodyType(diner.dna.name) == 'c':
         scaleAdj = 0.6
     else:
         scakeAdj = 0.8
     oldScale = foodModel.getScale()
     newScale = oldScale / scaleAdj
     foodModel.setScale(newScale)
    def createDiner(self, i):
        diner = Suit.Suit()
        diner.dna = SuitDNA.SuitDNA()
        level = self.dinerInfo[i][2]
        level -= 4
        diner.dna.newSuitRandom(level=level, dept='c')
        dept = self.dinerInfo[i][3][i]
        diner.dna.newSuitRandom(level=level, dept=dept)
        diner.setDNA(diner.dna)
        if self.useNewAnimations:
            diner.loop('sit', fromFrame=i)
        else:
            diner.pose('landing', 0)
        locator = self.tableGroup.find('**/chair_%d' % (i + 1))
        locatorScale = locator.getNetTransform().getScale()[0]
        correctHeadingNp = locator.attachNewNode('correctHeading')
        self.chairLocators[i] = correctHeadingNp
        heading = self.rotationsPerSeatIndex[i]
        correctHeadingNp.setH(heading)
        sitLocator = correctHeadingNp.attachNewNode('sitLocator')
        base.sitLocator = sitLocator
        pos = correctHeadingNp.getPos(render)
        if SuitDNA.getSuitBodyType(diner.dna.name) == 'c':
            sitLocator.setPos(0.5, 3.65, -3.75)
        else:
            sitLocator.setZ(-2.4)
            sitLocator.setY(2.5)
            sitLocator.setX(0.5)
        self.sitLocators[i] = sitLocator
        diner.setScale(1.0 / locatorScale)
        diner.reparentTo(sitLocator)
        newLoc = NodePath('serviceLoc-%d-%d' % (self.index, i))
        newLoc.reparentTo(correctHeadingNp)
        newLoc.setPos(0, 3.0, 1)
        self.serviceLocs[i] = newLoc
        base.serviceLoc = newLoc
        head = diner.find('**/joint_head')
        newIndicator = DinerStatusIndicator.DinerStatusIndicator(parent=head,
                                                                 pos=Point3(
                                                                     0, 0,
                                                                     3.5),
                                                                 scale=5.0)
        newIndicator.wrtReparentTo(diner)
        self.dinerStatusIndicators[i] = newIndicator

        # remove nametag (rip lag)
        diner.nametag3d.stash()
        diner.nametag.destroy()

        return diner
 def foodAttach(self=self, diner=diner):
     foodModel = self.serviceLocs[chairIndex].getChild(0)
     (foodModel.reparentTo(diner.getRightHand()),)
     (foodModel.setHpr(Point3(0, -94, 0)),)
     (foodModel.setPos(Point3(-0.14999999999999999, -0.69999999999999996, -0.40000000000000002)),)
     scaleAdj = 1
     if SuitDNA.getSuitBodyType(diner.dna.name) == "c":
         scaleAdj = 0.59999999999999998
         (foodModel.setPos(Point3(0.10000000000000001, -0.25, -0.31)),)
     else:
         scaleAdj = 0.80000000000000004
         (foodModel.setPos(Point3(-0.25, -0.84999999999999998, -0.34000000000000002)),)
     oldScale = foodModel.getScale()
     newScale = oldScale * scaleAdj
     foodModel.setScale(newScale)
Ejemplo n.º 6
0
 def foodAttach(self = self, diner = diner):
     foodModel = self.serviceLocs[chairIndex].getChild(0)
     (foodModel.reparentTo(diner.getRightHand()),)
     (foodModel.setHpr(Point3(0, -94, 0)),)
     (foodModel.setPos(Point3(-0.15, -0.7, -0.4)),)
     scaleAdj = 1
     if SuitDNA.getSuitBodyType(diner.dna.name) == 'c':
         scaleAdj = 0.6
         (foodModel.setPos(Point3(0.1, -0.25, -0.31)),)
     else:
         scaleAdj = 0.8
         (foodModel.setPos(Point3(-0.25, -0.85, -0.34)),)
     oldScale = foodModel.getScale()
     newScale = oldScale * scaleAdj
     foodModel.setScale(newScale)
Ejemplo n.º 7
0
 def foodAttach(self = self, diner = diner):
     foodModel = self.serviceLocs[chairIndex].getChild(0)
     (foodModel.reparentTo(diner.getRightHand()),)
     (foodModel.setHpr(Point3(0, -94, 0)),)
     (foodModel.setPos(Point3(-0.15, -0.7, -0.4)),)
     scaleAdj = 1
     if SuitDNA.getSuitBodyType(diner.dna.name) == 'c':
         scaleAdj = 0.6
         (foodModel.setPos(Point3(0.1, -0.25, -0.31)),)
     else:
         scaleAdj = 0.8
         (foodModel.setPos(Point3(-0.25, -0.85, -0.34)),)
     oldScale = foodModel.getScale()
     newScale = oldScale * scaleAdj
     foodModel.setScale(newScale)
Ejemplo n.º 8
0
 def createDiner(self, i):
     diner = Suit.Suit()
     diner.dna = SuitDNA.SuitDNA()
     level = self.dinerInfo[i][2]
     level -= 4
     diner.dna.newSuitRandom(level=level, dept='c')
     diner.setDNA(diner.dna)
     if self.useNewAnimations:
         diner.loop('sit', fromFrame=i)
     else:
         diner.pose('landing', 0)
     locator = self.tableGroup.find('**/chair_%d' % (i + 1))
     locatorScale = locator.getNetTransform().getScale()[0]
     correctHeadingNp = locator.attachNewNode('correctHeading')
     self.chairLocators[i] = correctHeadingNp
     heading = self.rotationsPerSeatIndex[i]
     correctHeadingNp.setH(heading)
     sitLocator = correctHeadingNp.attachNewNode('sitLocator')
     base.sitLocator = sitLocator
     pos = correctHeadingNp.getPos(render)
     if SuitDNA.getSuitBodyType(diner.dna.name) == 'c':
         sitLocator.setPos(0.5, 3.65, -3.75)
     else:
         sitLocator.setZ(-2.4)
         sitLocator.setY(2.5)
         sitLocator.setX(0.5)
     self.sitLocators[i] = sitLocator
     diner.setScale(1.0 / locatorScale)
     diner.reparentTo(sitLocator)
     newLoc = NodePath('serviceLoc-%d-%d' % (self.index, i))
     newLoc.reparentTo(correctHeadingNp)
     newLoc.setPos(0, 3.0, 1)
     self.serviceLocs[i] = newLoc
     base.serviceLoc = newLoc
     head = diner.find('**/joint_head')
     newIndicator = DinerStatusIndicator.DinerStatusIndicator(parent=head, pos=Point3(0, 0, 3.5), scale=5.0)
     newIndicator.wrtReparentTo(diner)
     self.dinerStatusIndicators[i] = newIndicator
     
     # remove nametag (rip lag)
     diner.nametag3d.stash()
     diner.nametag.destroy()
     
     return diner
 def createDiner(self, i):
     diner = Suit.Suit()
     diner.dna = SuitDNA.SuitDNA()
     level = self.dinerInfo[i][2]
     level -= 4
     diner.dna.newSuitRandom(level=level, dept="c")
     diner.setDNA(diner.dna)
     if self.useNewAnimations:
         diner.loop("sit", fromFrame=i)
     else:
         diner.pose("landing", 0)
     locator = self.tableGroup.find("**/chair_%d" % (i + 1))
     locatorScale = locator.getNetTransform().getScale()[0]
     correctHeadingNp = locator.attachNewNode("correctHeading")
     self.chairLocators[i] = correctHeadingNp
     heading = self.rotationsPerSeatIndex[i]
     correctHeadingNp.setH(heading)
     sitLocator = correctHeadingNp.attachNewNode("sitLocator")
     base.sitLocator = sitLocator
     pos = correctHeadingNp.getPos(render)
     if SuitDNA.getSuitBodyType(diner.dna.name) == "c":
         sitLocator.setPos(0.5, 3.6499999999999999, -3.75)
     else:
         sitLocator.setZ(-2.3999999999999999)
         sitLocator.setY(2.5)
         sitLocator.setX(0.5)
     self.sitLocators[i] = sitLocator
     diner.setScale(1.0 / locatorScale)
     diner.reparentTo(sitLocator)
     newLoc = NodePath("serviceLoc-%d-%d" % (self.index, i))
     newLoc.reparentTo(correctHeadingNp)
     newLoc.setPos(0, 3.0, 1)
     self.serviceLocs[i] = newLoc
     base.serviceLoc = newLoc
     head = diner.find("**/joint_head")
     newIndicator = DinerStatusIndicator.DinerStatusIndicator(parent=head, pos=Point3(0, 0, 3.5), scale=5.0)
     newIndicator.wrtReparentTo(diner)
     self.dinerStatusIndicators[i] = newIndicator
     return diner