from direct.directnotify import DirectNotifyGlobal import RingTrack class RingAction: notify = DirectNotifyGlobal.directNotify.newCategory('RingAction') def __init__(self): pass def eval(self, t): return (0, 0) class RingActionStaticPos(RingAction): def __init__(self, pos): RingAction.__init__(self) self.__pos = pos def eval(self, t): return self.__pos class RingActionFunction(RingAction): def __init__(self, func, args): RingAction.__init__(self) self.__func = func self.__args = args def eval(self, t): return self.__func(t, *self.__args) class RingActionRingTrack(RingAction): def __init__(self, ringTrack): RingAction.__init__(self) self.__track = ringTrack def eval(self, t): return self.__track.eval(t)