def initAvatars(scene=viz.MainScene): avatars = [] for d in AVATAR_DATA: avatar = vizfx.addChild(d.file, scene=scene) pos, ori = Seats.getseatplacement(d.seat) avatar.setPosition(pos) avatar.setEuler(ori) avatar.state(d.state) avatar.stateNum = d.state # TODO: Extend .state method to do this? avatar.teleSeatIDs = d.teleSeatIDs avatar.story = d.story avatars.append(avatar) return avatars
def init(avatar, pack_objs, intro, **kwargs): global isBusScene, moveSeats, seatQueue isBusScene = False DetectWhetherInView.init(**kwargs) seats = [Seats.getseatplacement(id)[0] for id in avatar.teleSeatIDs] # TODO: Abstract to handle arbitrary orientation too (for front right seats) seatQueue = deque([[seat[0],seat[1],seat[2]-0.5] for seat in seats]) # Node is in bus aisle global introAudio1, introAudio2 introAudio1 = intro introAudio2 = viz.addAudio('Audio/CreepyTaskIntroduction.wav') FadeObject.init(pack_objs, 25, 0.01, **kwargs) viztask.schedule( creepilyMoveCloser(avatar) )