test_task_arg.py 733 B

1234567891011121314151617181920212223242526
  1. from direct.showbase.ShowBase import ShowBase
  2. from direct.task import Task
  3. from panda3d.core import Vec2
  4. def test_task_arg(base):
  5. def test(ship, flood, task):
  6. ship.y += flood
  7. return task.done
  8. ship = Vec2(2.2, 2)
  9. flood = 1
  10. task = base.addTask(test, 'test_task', extraArgs=[ship, flood], appendTask=True)
  11. base.taskMgr.step()
  12. assert ship.y == 3
  13. base.remove_task(task)
  14. task = base.addTask(task)
  15. base.taskMgr.step()
  16. assert ship.y == 4
  17. task = base.taskMgr.add(test, 'test_task', extraArgs=[ship, flood], appendTask=True)
  18. base.taskMgr.step()
  19. assert ship.y == 5
  20. base.remove_task(task)
  21. task = base.taskMgr.add(task)
  22. base.taskMgr.step()
  23. assert ship.y == 6