IAPCtlArea23.cpp 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. //
  2. // IAPCtlArea23.cpp
  3. // TileManor
  4. //
  5. // Created by 徐炼新 on 2024/1/17.
  6. //
  7. #include "IAPCtlArea23.hpp"
  8. IAPCtlArea23* IAPCtlArea23::create(redream::ReboltRedManager* mgr, const GoodsInfo& gi) {
  9. IAPCtlArea23* ica = new IAPCtlArea23(mgr, gi);
  10. ica->autorelease();
  11. ica->retain();
  12. return ica;
  13. }
  14. IAPCtlArea23::IAPCtlArea23(redream::ReboltRedManager* mgr, const GoodsInfo& gi)
  15. : _gi(gi),
  16. _mgr(mgr) {
  17. }
  18. void IAPCtlArea23::doOwnInit() {
  19. _mgr->setNotifyDevelopmentDelegate4AllChildren(this);
  20. // 设置各个变量
  21. const auto& area2 = _gi.areas[1];
  22. _mgr->setCoderDataVar("P-tArea1Item1_cnt", "x"+area2[0].count);
  23. _mgr->setCoderDataVar("P-tArea1Item2_cnt", "x"+area2[1].count);
  24. _mgr->setCoderDataVar("P-tArea1Item3_cnt", "x"+area2[2].count);
  25. _mgr->setCoderDataVar("P-tArea1Item4_cnt", "x"+area2[3].count);
  26. _mgr->setCoderDataVar("P-tArea1Item1_name", area2[0].name);
  27. _mgr->setCoderDataVar("P-tArea1Item2_name", area2[1].name);
  28. _mgr->setCoderDataVar("P-tArea1Item3_name", area2[2].name);
  29. _mgr->setCoderDataVar("P-tArea1Item4_name", area2[3].name);
  30. if (_gi.areas.size() == 2) {
  31. _mgr->setCoderDataVar("P-tArea2Type", "4");
  32. } else {
  33. const auto& area3 = _gi.areas[2];
  34. if (area3.size() > 1) {
  35. // FIXME: 要求配置时,第一项是其他的,第二项是life
  36. _mgr->setCoderDataVar("P-tArea2Item1_cnt", area3[0].count);
  37. _mgr->setCoderDataVar("P-tArea2Item2_cnt", area3[1].count);
  38. _mgr->setCoderDataVar("P-tArea2Type", "3");
  39. } else {
  40. if (area3[0].name == "life") {
  41. _mgr->setCoderDataVar("P-tArea2Type", "2");
  42. _mgr->setCoderDataVar("P-tArea2Item2_cnt", area3[0].count);
  43. } else {
  44. _mgr->setCoderDataVar("P-tArea2Type", "1");
  45. _mgr->setCoderDataVar("P-tArea2Item1_cnt", area3[0].count);
  46. }
  47. }
  48. }
  49. _mgr->runBehaviacWhitFunName("本地初始化");
  50. }
  51. void IAPCtlArea23::onNotifyDevelopment(redream::ReboltRedManager* reboltRedManager,
  52. redream::NotifyDevelopmentWaiter* waiter,
  53. std::string notify,
  54. std::string param,
  55. bool reboltIsWait,
  56. Node* outNode) {
  57. }