PrivateStateModel.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. <?php
  2. namespace loyalsoft;
  3. /**
  4. * Description of UserGameDataModel
  5. * 私有状态标志字
  6. */
  7. class PrivateStateModel extends Object_ext
  8. {
  9. // ------------字段声明-------------
  10. // tian添加7日活动的数据结构
  11. /**
  12. * "day7": { // 初始化user的时候,初始化好day7模块的数据.
  13. "tasks":{
  14. "401101": {
  15. "state": 1, // 1.待完成,2.已完成,待领奖,3.已领奖.
  16. },
  17. "dianshu":11
  18. * }
  19. * @var object 7日活动数据
  20. */
  21. public $day7;
  22. /**
  23. *
  24. * @var int 物品的uid,递增
  25. */
  26. public $currentId;
  27. /**
  28. *
  29. * @var int 物品的背包格子的上限 目前和李宁协商的结果是:抽奖可以超上限,物品合成可以超上限,任务奖励可以超上限,只有战斗时候会有限制超过上限,如果继续战斗的话,战斗的奖励品将不会获取.
  30. */
  31. public $maxItemNum = 100;
  32. /**
  33. *
  34. * @var int 物品背包格子的数量.
  35. */
  36. public $ItemNum;
  37. /**
  38. *
  39. * @var int 当天英雄升级次数
  40. */
  41. public $heroshengji;
  42. /**
  43. *
  44. * @var int 当天英雄升阶次数
  45. */
  46. public $heroshengjie;
  47. /**
  48. *
  49. * @var int 当天英雄技能升级的次数
  50. */
  51. public $herojinhua;
  52. /**
  53. *
  54. * @var int 当天英雄升星次数
  55. */
  56. public $heroshengxing;
  57. /**
  58. *
  59. * @var int 当天装备升级次数
  60. */
  61. public $ItemUpgrage;
  62. /**
  63. *
  64. * @var int 当天宝石升级次数
  65. */
  66. public $GemUpgrage;
  67. /**
  68. * @var array 当天租借好友记录
  69. */
  70. public $rentedFriends;
  71. /**
  72. * @var UserLotteryModel
  73. */
  74. public $lottery;
  75. /**
  76. * "tasks":{
  77. * "401101": {
  78. * "state": 1, // 1.待完成,2.已完成,待领奖,3.已领奖.
  79. * }
  80. * @var object 任务数据
  81. */
  82. public $Tasks;
  83. /**
  84. * "tasks":{
  85. * "401101": {
  86. * "state": 1, // 1.待完成,2.已完成,待领奖,3.已领奖.
  87. * "extData": NULL
  88. * }
  89. * @var object 成就任务数据
  90. */
  91. public $AchiTasks;
  92. /**
  93. * 上次获取体力的时间戳
  94. * @var int
  95. */
  96. public $TiliTime;
  97. /**
  98. * 宝箱累计的冷却时间。(到这个时间戳才能完全没有冷却)
  99. * @var int
  100. */
  101. public $BoxCoolDownTime;
  102. /**
  103. * 宝箱是否被锁住,0代表没有锁住可以开,1代表锁住,不能开。
  104. * @var int
  105. */
  106. public $BoxLock;
  107. /**
  108. * 登录天数
  109. * @var array
  110. */
  111. public $LoginDays;
  112. /**
  113. * 是否领取过每次登录任务
  114. * @var int是1的话就领取过,0的话就没有领取
  115. */
  116. public $LoginTaskComplete;
  117. /**
  118. * @var array 兑换码使用记录
  119. */
  120. public $usedTokens = array();
  121. /**
  122. * @var int 在线礼包领取时间戳(每日清空)
  123. */
  124. public $onlineGiftts = 0;
  125. /**
  126. *
  127. * @var int 当前在线礼包ID(每天清空)
  128. */
  129. public $onlineGiftID;
  130. /**
  131. * @var array 全服注册礼包领取记录
  132. */
  133. public $drawedRegGift = array();
  134. /**
  135. * @var boolean 首付礼包是否领取
  136. */
  137. public $firstPayGift = false;
  138. /**
  139. * @var array 每日领取的体力奖励记录
  140. */
  141. public $dailyDrawedTiliGift = array();
  142. // <editor-fold defaultstate="collapsed" desc=" 初始化 ">
  143. /**
  144. * 玩家注册时初始化
  145. */
  146. public function initialize()
  147. {
  148. // 用于给各个字段赋默认初始值
  149. $this->day7 = JsonUtil::decode(JsonUtil::encode(array('tasks' => ObjectInit(), 'dianshu' => 0)));
  150. $this->Tasks = ObjectInit();
  151. $this->AchiTasks = ObjectInit();
  152. $this->maxItemNum = GameConfig::primordial_data()->User_Private_MaxItem_num; //100;
  153. $this->currentId = 1;
  154. $this->ItemNum = 0;
  155. $this->GemUpgrage = 0;
  156. $this->ItemUpgrage = 0;
  157. $this->herojinhua = 0;
  158. $this->heroshengji = 0;
  159. $this->heroshengjie = 0;
  160. $this->heroshengxing = 0;
  161. $this->TiliTime = now();
  162. $this->BoxCoolDownTime = now();
  163. $this->BoxLock = 0;
  164. $this->LoginDays = ArrayInit();
  165. $this->LoginTaskComplete = 0;
  166. $this->lottery = new UserLotteryModel;
  167. $this->usedTokens = ArrayInit();
  168. // <editor-fold defaultstate="collapsed" desc=" day7 相关">
  169. $con = GameConfig::day7();
  170. foreach ($con as $k => $v) {
  171. $this->day7->tasks->$k = json_decode('{"state":1}');
  172. }
  173. // var_dump($this->day7);
  174. // </editor-fold>
  175. // <editor-fold defaultstate="collapsed" desc=" 任务 相关">
  176. $conTasks = GameConfig::task();
  177. foreach ($conTasks as $k => $v) {
  178. $this->Tasks->$k = json_decode('{"state":1}');
  179. }
  180. // </editor-fold>
  181. // <editor-fold defaultstate="collapsed" desc=" 成就任务 相关">
  182. // $AchiTasks = GameConfig::task_achi();
  183. // foreach ($AchiTasks as $k => $v) {
  184. // $this->AchiTasks->$k = json_decode(json_encode(array(
  185. // 'state' => 1,
  186. // 'extData' => 0
  187. // )));
  188. // }
  189. // </editor-fold>
  190. }
  191. // </editor-fold>
  192. }