GameConfig.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613
  1. <?php
  2. ////////////////////
  3. // 由CodeGenerator创建。
  4. // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  5. // author: gwang
  6. // 日期: 2023-09-18 18:43:33
  7. ////////////////////
  8. /**
  9. * 常量配置数据
  10. */
  11. class GameConfig {
  12. // <editor-fold defaultstate="collapsed" desc=" 基础代码 ">
  13. /**
  14. * 是否启用codegen
  15. */
  16. private static function isCG() {
  17. return defined('CodeGen_Enabled') && CodeGen_Enabled;
  18. }
  19. /**
  20. * @var bool 分区是否使用独立的常量配置数据
  21. */
  22. private static $useZoneId = false;
  23. /**
  24. * 追加分区列表字符串
  25. * @return string
  26. */
  27. private static function zoneid() {
  28. global $zoneid;
  29. return self::$useZoneId ? "-zone$zoneid" : "";
  30. }
  31. /**
  32. * @return ClientVersion
  33. */
  34. private static function CV() {
  35. return req() ? req()->CV . '-' : "";
  36. }
  37. /**
  38. * 初始化指定变量, 非null的情况下直接跳出
  39. * 可能从文件中或者redis中获取原始数据对变量进行初始化
  40. * @param mixed $a 变量
  41. * @param string $modelName 用来初始化变量的资源名称
  42. * @param bool $isHash 数据是否采用hash结构(否:普通字符串)
  43. */
  44. static private function initValue(&$a, $modelName, $isHash = true) {
  45. $key = 'gamecfg-' . self::CV() . $modelName . self::zoneid();
  46. if (is_null($a)) {
  47. if (self::isCG()) {
  48. $a = include $key . '.php';
  49. if ($isHash) {
  50. $para = is_array($a) ? $a : (array) $a; # 转关联数组
  51. foreach ($para as $name => &$value) {
  52. $value = JsonUtil::decode($value); # 取参数中的或者默认值
  53. }
  54. $a = arr2obj($para);
  55. }
  56. } else {
  57. $a = $isHash ? gMem()->hgetall($key) : gMem()->get($key);
  58. }
  59. }
  60. return $a;
  61. }
  62. /**
  63. * 获取hash结构的一个item
  64. * @param string $modelName 模块名称
  65. * @param mixed/string/int $itemId 索引
  66. * @return mixed
  67. */
  68. private static function get_hash_item($modelName, $itemId) {
  69. if (self::isCG()) {
  70. $data = self::$modelName();
  71. if (property_exists($data, $itemId)) {
  72. return $data->$itemId;
  73. }
  74. } else {
  75. $key = 'gamecfg-' . self::CV() . $modelName . self::zoneid();
  76. return gMem()->hget($key, $itemId);
  77. }
  78. return null;
  79. }
  80. // </editor-fold>
  81. /**
  82. * 全局参数
  83. * @return \globalsettings
  84. */
  85. public static function globalsettings() {
  86. static $a = null;
  87. return self::initValue($a, 'globalsettings');
  88. }
  89. /**
  90. * 停服计划
  91. * @return \service_schedule
  92. */
  93. public static function service_schedule() {
  94. static $a = null;
  95. return self::initValue($a, 'service_schedule');
  96. }
  97. /**
  98. * @return \sm_service_schedule service_schedule item数据
  99. */
  100. public static function service_schedule_getItem($itemid) {
  101. return self::get_hash_item('service_schedule', $itemid);
  102. }
  103. /**
  104. * 道具表
  105. * @return \item
  106. */
  107. public static function item() {
  108. static $a = null;
  109. return self::initValue($a, 'item');
  110. }
  111. /**
  112. * @return \sm_item item item数据
  113. */
  114. public static function item_getItem($itemid) {
  115. return self::get_hash_item('item', $itemid);
  116. }
  117. /**
  118. * 系统邮件
  119. * @return \sysmail
  120. */
  121. public static function sysmail() {
  122. static $a = null;
  123. return self::initValue($a, 'sysmail');
  124. }
  125. /**
  126. * @return \sm_sysmail sysmail item数据
  127. */
  128. public static function sysmail_getItem($itemid) {
  129. return self::get_hash_item('sysmail', $itemid);
  130. }
  131. /**
  132. * 客户端版本信息
  133. * @return \clientVersionHistory
  134. */
  135. public static function clientVersionHistory() {
  136. static $a = null;
  137. return self::initValue($a, 'clientVersionHistory');
  138. }
  139. /**
  140. * @return \sm_clientVersionHistory clientVersionHistory item数据
  141. */
  142. public static function clientVersionHistory_getItem($itemid) {
  143. return self::get_hash_item('clientVersionHistory', $itemid);
  144. }
  145. /**
  146. * 分区列表
  147. * @return \zonelist
  148. */
  149. public static function zonelist() {
  150. static $a = null;
  151. return self::initValue($a, 'zonelist');
  152. }
  153. /**
  154. * @return \sm_zonelist zonelist item数据
  155. */
  156. public static function zonelist_getItem($itemid) {
  157. return self::get_hash_item('zonelist', $itemid);
  158. }
  159. /**
  160. * 错误信息表
  161. * @return \errmsg
  162. */
  163. public static function errmsg() {
  164. static $a = null;
  165. return self::initValue($a, 'errmsg');
  166. }
  167. /**
  168. * @return \sm_errmsg errmsg item数据
  169. */
  170. public static function errmsg_getItem($itemid) {
  171. return self::get_hash_item('errmsg', $itemid);
  172. }
  173. /**
  174. * 技能表
  175. * @return \skills
  176. */
  177. public static function skills() {
  178. static $a = null;
  179. return self::initValue($a, 'skills');
  180. }
  181. /**
  182. * @return \sm_skills skills item数据
  183. */
  184. public static function skills_getItem($itemid) {
  185. return self::get_hash_item('skills', $itemid);
  186. }
  187. /**
  188. * 活动: 七日签到
  189. * @return \activity_day7
  190. */
  191. public static function activity_day7() {
  192. static $a = null;
  193. return self::initValue($a, 'activity_day7');
  194. }
  195. /**
  196. * @return \sm_activity_day7 activity_day7 item数据
  197. */
  198. public static function activity_day7_getItem($itemid) {
  199. return self::get_hash_item('activity_day7', $itemid);
  200. }
  201. /**
  202. * 公共兑换码
  203. * @return \token_PublicGift
  204. */
  205. public static function token_PublicGift() {
  206. static $a = null;
  207. return self::initValue($a, 'token_PublicGift');
  208. }
  209. /**
  210. * @return \sm_token_PublicGift token_PublicGift item数据
  211. */
  212. public static function token_PublicGift_getItem($itemid) {
  213. return self::get_hash_item('token_PublicGift', $itemid);
  214. }
  215. /**
  216. * 活动: 体力加油站
  217. * @return \activity_tiligift
  218. */
  219. public static function activity_tiligift() {
  220. static $a = null;
  221. return self::initValue($a, 'activity_tiligift');
  222. }
  223. /**
  224. * @return \sm_activity_tiligift activity_tiligift item数据
  225. */
  226. public static function activity_tiligift_getItem($itemid) {
  227. return self::get_hash_item('activity_tiligift', $itemid);
  228. }
  229. /**
  230. * 活动: 等级礼包
  231. * @return \activity_levelgift
  232. */
  233. public static function activity_levelgift() {
  234. static $a = null;
  235. return self::initValue($a, 'activity_levelgift');
  236. }
  237. /**
  238. * @return \sm_activity_levelgift activity_levelgift item数据
  239. */
  240. public static function activity_levelgift_getItem($itemid) {
  241. return self::get_hash_item('activity_levelgift', $itemid);
  242. }
  243. /**
  244. * 技能表根据分类分组
  245. * @return \skillTypeArr
  246. */
  247. public static function skillTypeArr() {
  248. static $a = null;
  249. return self::initValue($a, 'skillTypeArr');
  250. }
  251. /**
  252. * @return \sm_skillTypeArr skillTypeArr itemArray
  253. */
  254. public static function skillTypeArr_getItemArray($key) {
  255. return self::get_hash_item('skillTypeArr', $key);
  256. }
  257. /**
  258. * 章节表
  259. * @return \gate
  260. */
  261. public static function gate() {
  262. static $a = null;
  263. return self::initValue($a, 'gate');
  264. }
  265. /**
  266. * @return \sm_gate gate item数据
  267. */
  268. public static function gate_getItem($itemid) {
  269. return self::get_hash_item('gate', $itemid);
  270. }
  271. /**
  272. * 角色
  273. * @return \hero
  274. */
  275. public static function hero() {
  276. static $a = null;
  277. return self::initValue($a, 'hero');
  278. }
  279. /**
  280. * @return \sm_hero hero item数据
  281. */
  282. public static function hero_getItem($itemid) {
  283. return self::get_hash_item('hero', $itemid);
  284. }
  285. /**
  286. * 装备表
  287. * @return \equip
  288. */
  289. public static function equip() {
  290. static $a = null;
  291. return self::initValue($a, 'equip');
  292. }
  293. /**
  294. * @return \sm_equip equip item数据
  295. */
  296. public static function equip_getItem($itemid) {
  297. return self::get_hash_item('equip', $itemid);
  298. }
  299. /**
  300. * 装备升级表
  301. * @return \equip_levelupgrade
  302. */
  303. public static function equip_levelupgrade() {
  304. static $a = null;
  305. return self::initValue($a, 'equip_levelupgrade');
  306. }
  307. /**
  308. * @return \sm_equip_levelupgrade equip_levelupgrade item数据
  309. */
  310. public static function equip_levelupgrade_getItem($itemid) {
  311. return self::get_hash_item('equip_levelupgrade', $itemid);
  312. }
  313. /**
  314. * 章节礼包表
  315. * @return \shop_gategift
  316. */
  317. public static function shop_gategift() {
  318. static $a = null;
  319. return self::initValue($a, 'shop_gategift');
  320. }
  321. /**
  322. * @return \sm_shop_gategift shop_gategift item数据
  323. */
  324. public static function shop_gategift_getItem($itemid) {
  325. return self::get_hash_item('shop_gategift', $itemid);
  326. }
  327. /**
  328. * 每日商店
  329. * @return \shop_daily
  330. */
  331. public static function shop_daily() {
  332. static $a = null;
  333. return self::initValue($a, 'shop_daily');
  334. }
  335. /**
  336. * @return \sm_shop_daily shop_daily item数据
  337. */
  338. public static function shop_daily_getItem($itemid) {
  339. return self::get_hash_item('shop_daily', $itemid);
  340. }
  341. /**
  342. * 钻石
  343. * @return \shop_cash
  344. */
  345. public static function shop_cash() {
  346. static $a = null;
  347. return self::initValue($a, 'shop_cash');
  348. }
  349. /**
  350. * @return \sm_shop_cash shop_cash item数据
  351. */
  352. public static function shop_cash_getItem($itemid) {
  353. return self::get_hash_item('shop_cash', $itemid);
  354. }
  355. /**
  356. * 金币
  357. * @return \shop_gold
  358. */
  359. public static function shop_gold() {
  360. static $a = null;
  361. return self::initValue($a, 'shop_gold');
  362. }
  363. /**
  364. * @return \sm_shop_gold shop_gold item数据
  365. */
  366. public static function shop_gold_getItem($itemid) {
  367. return self::get_hash_item('shop_gold', $itemid);
  368. }
  369. /**
  370. *
  371. * @return \shop_supply
  372. */
  373. public static function shop_supply() {
  374. static $a = null;
  375. return self::initValue($a, 'shop_supply');
  376. }
  377. /**
  378. * @return \sm_shop_supply shop_supply item数据
  379. */
  380. public static function shop_supply_getItem($itemid) {
  381. return self::get_hash_item('shop_supply', $itemid);
  382. }
  383. /**
  384. * 商城军备
  385. * @return \shop_junbei
  386. */
  387. public static function shop_junbei() {
  388. static $a = null;
  389. return self::initValue($a, 'shop_junbei');
  390. }
  391. /**
  392. * @return \sm_shop_junbei shop_junbei item数据
  393. */
  394. public static function shop_junbei_getItem($itemid) {
  395. return self::get_hash_item('shop_junbei', $itemid);
  396. }
  397. /**
  398. * 挑战表
  399. * @return \gate_challenge
  400. */
  401. public static function gate_challenge() {
  402. static $a = null;
  403. return self::initValue($a, 'gate_challenge');
  404. }
  405. /**
  406. * @return \sm_gate_challenge gate_challenge item数据
  407. */
  408. public static function gate_challenge_getItem($itemid) {
  409. return self::get_hash_item('gate_challenge', $itemid);
  410. }
  411. /**
  412. * 进化表
  413. * @return \evolve
  414. */
  415. public static function evolve() {
  416. static $a = null;
  417. return self::initValue($a, 'evolve');
  418. }
  419. /**
  420. * @return \sm_evolve evolve item数据
  421. */
  422. public static function evolve_getItem($itemid) {
  423. return self::get_hash_item('evolve', $itemid);
  424. }
  425. /**
  426. * 7日签到累计
  427. * @return \active_day7_accumulate
  428. */
  429. public static function active_day7_accumulate() {
  430. static $a = null;
  431. return self::initValue($a, 'active_day7_accumulate');
  432. }
  433. /**
  434. * @return \sm_active_day7_accumulate active_day7_accumulate item数据
  435. */
  436. public static function active_day7_accumulate_getItem($itemid) {
  437. return self::get_hash_item('active_day7_accumulate', $itemid);
  438. }
  439. /**
  440. * 装备合成(进化)品阶表
  441. * @return \equip_evolve
  442. */
  443. public static function equip_evolve() {
  444. static $a = null;
  445. return self::initValue($a, 'equip_evolve');
  446. }
  447. /**
  448. * @return \sm_equip_evolve equip_evolve item数据
  449. */
  450. public static function equip_evolve_getItem($rarity, $qual, $posId) {
  451. return self::get_hash_item('equip_evolve', "$rarity-$qual-$posId");
  452. }
  453. /**
  454. * 装备合成表
  455. * @return \equip_compose
  456. */
  457. public static function equip_compose() {
  458. static $a = null;
  459. return self::initValue($a, 'equip_compose');
  460. }
  461. /**
  462. * @return \sm_equip_compose equip_compose item数据
  463. */
  464. public static function equip_compose_getItem($itemid) {
  465. return self::get_hash_item('equip_compose', $itemid);
  466. }
  467. /**
  468. * 剧情表
  469. * @return \plot
  470. */
  471. public static function plot() {
  472. static $a = null;
  473. return self::initValue($a, 'plot');
  474. }
  475. /**
  476. * @return \sm_plot plot item数据
  477. */
  478. public static function plot_getItem($gateId, $stage) {
  479. return self::get_hash_item('plot', "$gateId-$stage");
  480. }
  481. /**
  482. * buff配置表
  483. * @return \buff
  484. */
  485. public static function buff() {
  486. static $a = null;
  487. return self::initValue($a, 'buff');
  488. }
  489. /**
  490. * @return \sm_buff buff item数据
  491. */
  492. public static function buff_getItem($itemid) {
  493. return self::get_hash_item('buff', $itemid);
  494. }
  495. /**
  496. * 每日任务累计表
  497. * @return \task_accumulate
  498. */
  499. public static function task_accumulate() {
  500. static $a = null;
  501. return self::initValue($a, 'task_accumulate');
  502. }
  503. /**
  504. * @return \sm_task_accumulate task_accumulate item数据
  505. */
  506. public static function task_accumulate_getItem($itemid) {
  507. return self::get_hash_item('task_accumulate', $itemid);
  508. }
  509. /**
  510. * 任务表
  511. * @return \task_step
  512. */
  513. public static function task_step() {
  514. static $a = null;
  515. return self::initValue($a, 'task_step');
  516. }
  517. /**
  518. * @return \sm_task_step task_step item数据
  519. */
  520. public static function task_step_getItem($itemid) {
  521. return self::get_hash_item('task_step', $itemid);
  522. }
  523. /**
  524. * 当前版本(时间戳)
  525. * @return \ver
  526. */
  527. public static function ver() {
  528. static $a = null;
  529. return self::initValue($a, 'ver', false);
  530. }
  531. /**
  532. * 客户端配置数据
  533. * @return \client
  534. */
  535. public static function client() {
  536. static $a = null;
  537. return self::initValue($a, 'client', false);
  538. }
  539. }