ItemSkill.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #include "ItemSkill.h"
  2. #include "Block.h"
  3. #include "Entity.h"
  4. #include "ItemType.h"
  5. ItemSkill::ItemSkill()
  6. : Framework::ReferenceCounter(),
  7. xp(10.f),
  8. maxXP(10.f),
  9. level(1.f),
  10. itemTypeId(-1)
  11. {}
  12. void ItemSkill::load(Framework::StreamReader* zReader)
  13. {
  14. zReader->lese((char*)&xp, 4);
  15. zReader->lese((char*)&maxXP, 4);
  16. zReader->lese((char*)&level, 4);
  17. zReader->lese((char*)&itemTypeId, 4);
  18. }
  19. void ItemSkill::save(Framework::StreamWriter* zWriter)
  20. {
  21. zWriter->schreibe((char*)&xp, 4);
  22. zWriter->schreibe((char*)&maxXP, 4);
  23. zWriter->schreibe((char*)&level, 4);
  24. zWriter->schreibe((char*)&itemTypeId, 4);
  25. }
  26. bool ItemSkill::interact(Entity* zActor, Item* zUsedItem, Block* zTarget)
  27. {
  28. bool itemChanged = 0;
  29. zTarget->interact(zUsedItem, zActor, itemChanged);
  30. return itemChanged;
  31. }
  32. bool ItemSkill::interact(Entity* zActor, Item* zUsedItem, Entity* zTarget)
  33. {
  34. return zTarget->interact(zUsedItem, zActor);
  35. }
  36. void ItemSkill::setXp(float xp)
  37. {
  38. this->xp = xp;
  39. }
  40. float ItemSkill::getXp() const
  41. {
  42. return xp;
  43. }
  44. void ItemSkill::setMaxXp(float maxXp)
  45. {
  46. this->maxXP = maxXp;
  47. }
  48. float ItemSkill::getMaxXp() const
  49. {
  50. return maxXP;
  51. }
  52. void ItemSkill::setLevel(float level)
  53. {
  54. this->level = level;
  55. }
  56. float ItemSkill::getLevel() const
  57. {
  58. return level;
  59. }
  60. void ItemSkill::setItemTypeId(int itemTypeId)
  61. {
  62. this->itemTypeId = itemTypeId;
  63. }
  64. int ItemSkill::getItemTypeId() const
  65. {
  66. return itemTypeId;
  67. }