from importlib import import_module
from inspect import isclass
from panda3d.core import AmbientLight, DirectionalLight, Point3, Texture, \
- TextPropertiesManager, TextNode, Spotlight, PerspectiveLens, BitMask32
+ TextPropertiesManager, TextNode, Spotlight, PerspectiveLens, BitMask32, NodePath
from panda3d.bullet import BulletPlaneShape, BulletGhostNode
from direct.gui.OnscreenImage import OnscreenImage
from direct.gui.OnscreenText import OnscreenText
self._set_input()
self._set_mouse_plane()
self.items = []
+ self._test_items = []
self.reset()
self._state = 'init'
self._paused = False
def _set_items(self):
self.items = []
+ self._test_items = []
def screenshot(self, task=None):
tex = Texture('screenshot')
def reset(self):
[itm.destroy() for itm in self.items]
+ [itm.remove_node() for itm in self._test_items]
+ self.items = []
+ self._test_items = []
self._set_items()
+ self._set_test_items()
self._state = 'init'
self._commands = []
self._command_idx = 0
self._unset_input()
self._unset_mouse_plane()
[itm.destroy() for itm in self.items]
+ [itm.remove_node() for itm in self._test_items]
self._bg.destroy()
self._side_panel.destroy()
self._cursor.destroy()
def __on_close_instructions(self, frm):
frm.remove_node()
self.__restore_state()
+
+ def _set_test_items(self):
+ def frame_after(task):
+ self._define_test_items()
+ for itm in self._test_items:
+ self._pos_mgr.register(itm.name, P3dGfxMgr.pos2d_p2d(itm))
+ taskMgr.doMethodLater(.01, frame_after, 'frame after')
+
+ def _set_test_item(self, name, pos):
+ self._test_items += [NodePath(name)]
+ self._test_items[-1].set_pos(pos[0], 0, pos[1])