def onMouseMoving(self, mouseOnInfo, previousMouseOnInfo): Thing.onMouseMoving(self, mouseOnInfo, previousMouseOnInfo) if self.fsm.state != self.fsm.AtHomeWithFocus: return if mouseOnInfo.nodeId == "base": self.previousButton = self.currentButton if self.currentButton != None: self.currentButton.mouseHoverOut() self.currentButton = None return self.previousButton = self.currentButton self.currentButton = self.getButton(mouseOnInfo) if self.currentButton == self.previousButton: return if self.previousButton != None: self.previousButton.mouseHoverOut() self.currentButton.mouseHoverIn()
def __init__(self, ywn): ''' Constructor ''' Thing.__init__(self, "Lightswitch", ywn) self.model = loader.loadModel('models/Lightswitch') self.model.find("**/Piattina").node().setIntoCollideMask(BitMask32.bit(1)) self.model.find("**/Piattina").node().setTag('ID', self.Id) self.model.find("**/Piattina").node().setTag('nodeId', "Piattina") self.model.find("**/Switch").node().setIntoCollideMask(BitMask32.bit(1)) self.model.find("**/Switch").node().setTag('ID', self.Id) self.model.find("**/Switch").node().setTag('nodeId', "Switch") self.model.find("**/Switch").setP(332) self.model.find("**/TopScrew").node().setIntoCollideMask(BitMask32.bit(1)) self.model.find("**/TopScrew").node().setTag('ID', self.Id) self.model.find("**/TopScrew").node().setTag('nodeId', "TopScrew") self.model.find("**/BottomScrew").node().setIntoCollideMask(BitMask32.bit(1)) self.model.find("**/BottomScrew").node().setTag('ID', self.Id) self.model.find("**/BottomScrew").node().setTag('nodeId', "BottomScrew") self.model.setTag('ID', self.Id) self.status = Lightswitch.SWITCH_OFF
def onMouseHoverOut(self, newThing): Thing.onMouseHoverOut(self, newThing) if self.currentButton != None: self.currentButton.mouseHoverOut() self.currentButton = None self.previousButton = None
def __init__(self, ywn): ''' Constructor ''' Thing.__init__(self, "Box", ywn) self.model = loader.loadModel('models/untitled2') self.model.find("**/Cube").node().setIntoCollideMask(BitMask32.bit(1)) self.model.find("**/Cube").node().setTag('ID', self.Id) self.model.find("**/Cube").node().setTag('nodeId', "cube") self.model.setTag('ID', self.Id)
def __init__(self, ywn): ''' Constructor ''' Thing.__init__(self, "Bookshelf", ywn) self.model = loader.loadModel('models/BookShelf') self.model.find("**/BookShelf").node().setIntoCollideMask(BitMask32.bit(1)) self.model.find("**/BookShelf").node().setTag('ID', self.Id) self.model.setTag('ID', self.Id) self.canGetFocus = False
def __init__(self, ywn): ''' Constructor ''' Thing.__init__(self, "Book", ywn) self.model = loader.loadModel('models/Book') self.model.find("**/Front").node().setIntoCollideMask(BitMask32.bit(1)) self.model.find("**/Back").node().setIntoCollideMask(BitMask32.bit(1)) self.model.find("**/Front").node().setTag('ID', self.Id) self.model.find("**/Back").node().setTag('ID', self.Id) self.model.find("**/Front").node().setTag('nodeId', "front") self.model.find("**/Back").node().setTag('nodeId', "back") self.model.setTag('ID', self.Id)
def __init__(self, ywn): ''' Constructor ''' Thing.__init__(self, "Calculator", ywn) self.currentButton = None self.previousButton = None self.model = loader.loadModel('models/calculator/calculator') self.buttons = dict() self.buttons["base"] = Button(self.Id, self.model, "base") self.buttons["Zero"] = Button(self.Id, self.model, "Zero") self.buttons["Log"] = Button(self.Id, self.model, "Log") self.buttons["Four"] = Button(self.Id, self.model, "Four") self.buttons["Decimal"] = Button(self.Id, self.model, "Decimal") self.buttons["Divide"] = Button(self.Id, self.model, "Divide") self.buttons["Plus"] = Button(self.Id, self.model, "Plus") self.buttons["Seven"] = Button(self.Id, self.model, "Seven") self.buttons["Two"] = Button(self.Id, self.model, "Two") self.buttons["One"] = Button(self.Id, self.model, "One") self.buttons["Screen"] = Button(self.Id, self.model, "Screen") self.buttons["ClearEntry"] = Button(self.Id, self.model, "ClearEntry") self.buttons["Nine"] = Button(self.Id, self.model, "Nine") self.buttons["Pi"] = Button(self.Id, self.model, "Pi") self.buttons["On"] = Button(self.Id, self.model, "On") self.buttons["Three"] = Button(self.Id, self.model, "Three") self.buttons["Six"] = Button(self.Id, self.model, "Six") self.buttons["Eight"] = Button(self.Id, self.model, "Eight") self.buttons["Five"] = Button(self.Id, self.model, "Five") self.buttons["Minus"] = Button(self.Id, self.model, "Minus") self.buttons["Equals"] = Button(self.Id, self.model, "Equals") self.buttons["Multiply"] = Button(self.Id, self.model, "Multiply") self.model.setTag('ID', self.Id)
def onLeftMouseUp(self, mouseOnInfo): Thing.onLeftMouseUp(self, mouseOnInfo) if mouseOnInfo != None: print mouseOnInfo.nodeId