CustomPropertyModel.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. //
  2. // CustomPropertyModel.cpp
  3. // cocos2d
  4. //
  5. // Created by ZhengSong on 2022/7/21.
  6. //
  7. #include "CustomPropertyModel.h"
  8. NS_CC_BEGIN
  9. CustomPropertyModel::CustomPropertyModel()
  10. :_isUseDefault(true)
  11. ,_type(0)
  12. {
  13. }
  14. bool CustomPropertyModel::init()
  15. {
  16. return true;
  17. }
  18. Value CustomPropertyModel::code()
  19. {
  20. ValueMap dict;
  21. dict["name"] = Value(_name);
  22. dict["type"] = Value(_type);
  23. dict["value"] = Value(_value);
  24. dict["override"] = Value(_isUseDefault);
  25. return Value(dict);
  26. }
  27. void CustomPropertyModel::decode(const Value& value)
  28. {
  29. const ValueMap& customProp = value.asValueMap();
  30. for(auto iter : customProp) {
  31. auto key = iter.first;
  32. if(key == "name")
  33. {
  34. _name = iter.second.asString();
  35. }
  36. else if (key == "type")
  37. {
  38. _type = iter.second.asInt();
  39. }
  40. else if (key == "value")
  41. {
  42. _value = iter.second;
  43. }
  44. else if (key == "override")
  45. {
  46. _isUseDefault = iter.second.asBool();
  47. }
  48. }
  49. }
  50. //获取属性
  51. bool CustomPropertyModel::isUseDefault()
  52. {
  53. return _isUseDefault;
  54. }
  55. void CustomPropertyModel::setIsUseDefault(bool isUse)
  56. {
  57. _isUseDefault = isUse;
  58. }
  59. int CustomPropertyModel::getType()
  60. {
  61. return _type;
  62. }
  63. void CustomPropertyModel::setType(int type)
  64. {
  65. _type = type;
  66. }
  67. const Value& CustomPropertyModel::getValue()
  68. {
  69. return _value;
  70. }
  71. void CustomPropertyModel::setValue(const Value& value)
  72. {
  73. _value = value;
  74. }
  75. const std::string& CustomPropertyModel::getName()
  76. {
  77. return _name;
  78. }
  79. void CustomPropertyModel::setName(const std::string &name)
  80. {
  81. _name = name;
  82. }
  83. NS_CC_END