UserTaskInfo.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace loyalsoft;
  3. /**
  4. * 玩家任务数据
  5. * @author wanggangzero@qq.com
  6. * @version 1.0.0 2020.7.8 created by gwang
  7. */
  8. class UserTaskInfo {
  9. /**
  10. * 当前任务节点id
  11. * @var int
  12. */
  13. public $curTaskNode;
  14. /**
  15. * 当前关注任务id
  16. * @var int
  17. */
  18. public $curTaskId;
  19. /**
  20. * 剧情任务实例列表 {id:{progress:0.4,rewardgeted:0}...}
  21. * @var dict
  22. */
  23. public $taskListPlot;
  24. /**
  25. * 每日任务实例列表 {id:{progress:0.4,rewardgeted:0}...}
  26. * @var dict
  27. */
  28. public $taskListDaily;
  29. public function __construct() {
  30. $this->curTaskNode = 4000001;
  31. $this->curTaskId = 0;
  32. $this->taskListDaily = ObjectInit();
  33. $this->taskListPlot = ObjectInit();
  34. }
  35. public function initialize() {
  36. $nodeCfg = GameConfig::task_node_getItem($this->curTaskNode);
  37. $taskArr = explode(',', $nodeCfg->taskList);
  38. $this->curTaskId = $taskArr[0];
  39. foreach ($taskArr as $tid) {
  40. $tmo = GameConfig::task_getItem($tid);
  41. my_Assert(null != $tmo, ErrCode::err_const_no);
  42. $this->taskListPlot->$tid = new TaskInfo();
  43. }
  44. }
  45. }
  46. /**
  47. * 任务信息
  48. */
  49. class TaskInfo {
  50. /**
  51. * @var float 任务进度(浮点值好了>=1代表完成)
  52. */
  53. public $progress = 0;
  54. /**
  55. * 用于将进度更新的数据待会给客户端,比如当前PVP积分之类的,在客户端是无法即时拿到数据的
  56. * @var object
  57. */
  58. public $tag1;
  59. public $tag2;
  60. /**
  61. * @var int 奖励是否已领取 0/1
  62. */
  63. public $rewardGeted = 0;
  64. }