Character Item.cpp 1.0 KB

1234567891011121314151617181920212223242526272829
  1. /******************************************************************************/
  2. #include "stdafx.h"
  3. namespace EE{
  4. namespace Game{
  5. /******************************************************************************/
  6. void Chr::grabStart(Item &item, C Vec &local_pos, Flt power)
  7. {
  8. grabStop(); // stop any active grabbing
  9. if(!item.grabber()) // if not grabbed already
  10. {
  11. grab.create(item.actor, local_pos, power); // grab item
  12. item.grabber(this); // set item's grabber to character
  13. }
  14. }
  15. /******************************************************************************/
  16. void Chr::grabStop()
  17. {
  18. if(grab.is()) // if grabbing something
  19. {
  20. if(Item *item=CAST(Item, (Game::Obj*)grab.grabbedActor()->obj())) // if it's an item
  21. item->grabber(null); // clear grabber in the item
  22. grab.del(); // delete grab
  23. }
  24. }
  25. /******************************************************************************/
  26. }}
  27. /******************************************************************************/