GameConfig.php 15 KB

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