Info_UserBase.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <?php
  2. namespace loyalsoft;
  3. /**
  4. * 玩家基本信息
  5. * @author gwang(wanggangzero@qq.com)
  6. */
  7. class Info_UserBase extends Object_ext {
  8. /**
  9. * 第一次登录时间
  10. * @var int
  11. */
  12. public $firstLogin;
  13. /**
  14. * 上次登录时间
  15. * @var int
  16. */
  17. public $lastLogin;
  18. /**
  19. * 上次活动时间
  20. * @var int
  21. */
  22. public $lastSaveTs;
  23. /**
  24. * @var int 当前等级
  25. */
  26. public $level;
  27. /**
  28. * @var string 昵称
  29. */
  30. public $name;
  31. /**
  32. * @var string 头像
  33. */
  34. public $headImg;
  35. /**
  36. * @var int 头像框Id
  37. */
  38. public $imgBorderId = 0;
  39. /**
  40. * @var string 形象(龙骨)
  41. */
  42. public $img;
  43. /**
  44. * @var int 金币
  45. */
  46. public $gold;
  47. /**
  48. * 钻石
  49. * @var int
  50. */
  51. public $cash;
  52. /**
  53. * 体力值
  54. * @var int
  55. */
  56. public $tili = 120;
  57. /**
  58. * 当前经验
  59. */
  60. public $xp = 0;
  61. /**
  62. * 升级经验
  63. * @var type
  64. */
  65. public $maxXp = 0;
  66. /**
  67. * @var int 历史充值总金额(单位:分)
  68. */
  69. public $charge_amt = 0;
  70. /**
  71. * 新解锁的头像框
  72. * @var type
  73. */
  74. #[ArrayType]
  75. public $headImgFrameList = array();
  76. public function initialize() {
  77. // my_Assert(GameConfig::primordial_data(), "找不到账号初始化数据"); # 防御
  78. // $this->gold = GameConfig::primordial_data()->User_Gold;
  79. // $this->cash = GameConfig::primordial_data()->User_Cash;
  80. // $this->xp = GameConfig::primordial_data()->User_XP;
  81. // $this->tili = GameConfig::globalsettings()->TiliMaxVal; # 最大体力
  82. // $this->maxXp = 0;
  83. // $this->level = 1;
  84. // $this->name = '步惊云';
  85. // $this->spar = 0;
  86. // $this->headImg = GameConfig::primordial_data()->User_head;
  87. // $this->img = GameConfig::primordial_data()->User_img;
  88. }
  89. // <editor-fold defaultstate="collapsed" desc=" 方法 ">
  90. //
  91. /**
  92. * 给玩家增加体力
  93. * @param int $amt
  94. */
  95. function Add_tili($amt) {
  96. my_Assert($amt >= 0, "体力amt小于0");
  97. //ActiveProc::ChangeTili($amt);
  98. }
  99. /**
  100. * 用户获得金币
  101. * @param int $amt
  102. */
  103. function Add_Gold($amt, $mask = 0) {
  104. my_Assert($amt >= 0, "参数为负");
  105. $this->gold += $amt;
  106. }
  107. /**
  108. * 扣除玩家金币
  109. * @param int $amt
  110. * @return boolean true:成功, false:金币不足
  111. */
  112. function Consume_Gold($amt) {
  113. if ($amt > 0) {
  114. if ($this->gold - $amt >= 0) {
  115. $this->gold -= $amt;
  116. return true;
  117. }
  118. }
  119. return false;
  120. }
  121. /**
  122. * 增加用户钻石
  123. * @param type $amt
  124. */
  125. function Add_Cash($amt) {
  126. my_Assert($amt >= 0, "amt值为负");
  127. $this->cash += $amt;
  128. }
  129. /**
  130. * 扣除玩家钻石
  131. * @param int $amt
  132. * @return bool 成功与否
  133. */
  134. function Consume_Cash($amt) {
  135. if ($amt >= 0) {
  136. if ($this->cash - $amt >= 0) {
  137. $this->cash -= $amt;
  138. return true;
  139. }
  140. }
  141. return false;
  142. }
  143. /**
  144. * 用户获得经验值
  145. * @param int $amt
  146. */
  147. function Add_Exp($amt) {
  148. // my_Assert($amt >= 0, "amt值为负");
  149. // $cfgLVs = GameConfig::playerlevel();
  150. //
  151. // $this->xp += $amt;
  152. // $initLevel = $curLevel = $this->level;
  153. // $nextLevel = $curLevel + 1;
  154. // while ($this->xp >= $cfgLVs->$nextLevel->xp_need) { # 超过升级所需经验
  155. // if ($this->level < glc()->Game_MaxPlayerLevel) { # 如果未到达最大等级
  156. // $this->level++;
  157. // $this->xp -= $cfgLVs->$nextLevel->xp_need;
  158. // $curLevel = $this->level;
  159. // $nextLevel = $curLevel + 1;
  160. // my_Assert(CommUtil::isPropertyExists($cfgLVs, $nextLevel), ErrCode::err_const_no); // "取英雄升级常量数据失败." . $nextLevel . "级");
  161. // $this->maxXp = $cfgLVs->$nextLevel->xp_need;
  162. //// StatProc::UserLevel($nowlv); # 等级统计
  163. // } else { # 如果已到达最大等级则仅补齐缺失的经验即可
  164. // $this->xp = $this->maxXp; # 经验不能超过最大值
  165. // break;
  166. // }
  167. // }
  168. // if ($this->level != $initLevel) { # 插入玩家升级的系统消息
  169. //
  170. // }
  171. }
  172. //
  173. // </editor-fold>
  174. }