Info_NewMap.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. namespace loyalsoft;
  3. /**
  4. * Description of Info_NewMap
  5. * 玩家地图数据
  6. * @author gwang
  7. * @version
  8. * 2022.3.11 改版 据点 >> 大地图 >> 世界地图模式
  9. */
  10. class Info_NewMap extends Object_ext {
  11. /**
  12. * 当前所在地图的id
  13. * @var type
  14. */
  15. public $curMapId;
  16. /**
  17. * 已解锁据点列表
  18. * @var dic< 据点id, Ins_FootHold >
  19. */
  20. public $unlockedFootholds;
  21. /**
  22. * 已经解锁的地图上的区域、npc、道具等等信息
  23. * @var type
  24. */
  25. public $unlockMapTypeList;
  26. /**
  27. * 回城券使用的传送阵记录
  28. * @var type
  29. */
  30. public $huichengquanRecord = null;
  31. /**
  32. * 当前地图所在区里面的传送门目的地的mapid
  33. * 回城券=>从当前地图回据点
  34. * 传送门=>从据点回到回城前的地图
  35. * @var type
  36. */
  37. public $lastMapId = 0;
  38. /**
  39. * 当前据点id
  40. * @var type
  41. */
  42. public $curFootholdId = 0;
  43. function __construct($arg = null) {
  44. if (null === $arg) {
  45. // 直接初始化8个大陆的基本数据
  46. $initMapid = 503099; # 新手村的id
  47. $this->lastMapId = $initMapid;
  48. $this->curMapId = $initMapid; # 当前位置为新手村
  49. $this->curFootholdId = $initMapid; # 当前据点id
  50. $this->unlockedFootholds = ObjectInit();
  51. $gateZonemo = GameConfig::gate_zone_getItem(501007);
  52. if ($gateZonemo != null) {
  53. $list = explode(',', $gateZonemo->contains);
  54. foreach ($list as $id) {
  55. $mo = GameConfig::gate_getItem($id);
  56. $footHold = new Ins_FootHold();
  57. $footHold->mapId = $mo->gateId;
  58. $footHold->curMapType = $mo->mapType;
  59. $this->unlockedFootholds->$id = $footHold;
  60. }
  61. }
  62. // $mo = GameConfig::gate_getItem($initMapid);
  63. // $footHold = new Ins_FootHold();
  64. // $footHold->mapId = $mo->gateId;
  65. // $footHold->curMapType = $mo->mapType;
  66. // $this->unlockedFootholds->$initMapid = $footHold; # 初始化解锁新手村据点数据
  67. #
  68. // 把2号据点也解锁
  69. // $initMapid = 503100; # 新手村的id
  70. // // $this->curMapId = $initMapid; # 当前位置为新手村
  71. // // $this->unlockedFootholds = ObjectInit();
  72. // $mo = GameConfig::gate_getItem($initMapid);
  73. // $footHold = new Ins_FootHold();
  74. // $footHold->mapId = $mo->gateId;
  75. // $footHold->curMapType = $mo->mapType;
  76. // $this->unlockedFootholds->$initMapid = $footHold; # 初始化解锁新手村据点数据
  77. //
  78. // $dixiachengId = 503001;
  79. // $mo = GameConfig::gate_getItem($dixiachengId);
  80. // $footHold = new Ins_FootHold();
  81. // $footHold->mapId = $mo->gateId;
  82. // $footHold->curMapType = $mo->mapType;
  83. // $this->unlockedFootholds->$dixiachengId = $footHold;
  84. //
  85. // $dixiachengId = 503002;
  86. // $mo = GameConfig::gate_getItem($dixiachengId);
  87. // $footHold = new Ins_FootHold();
  88. // $footHold->mapId = $mo->gateId;
  89. // $footHold->curMapType = $mo->mapType;
  90. // $this->unlockedFootholds->$dixiachengId = $footHold;
  91. $this->unlockMapTypeList = ObjectInit(); #初始化--已经解锁的地图上的区域、npc、道具等等信息
  92. $this->huichengquanRecord = ObjectInit(); #
  93. } else {
  94. parent::__construct($arg);
  95. }
  96. }
  97. }