MCPcopy Create free account
hub / github.com/BohemiaInteractive/CWR / ParamValueSpec

Class ParamValueSpec

engine/Poseidon/IO/ParamFile/ParamFile.cpp:478–2222  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

476
477template <class ParamRawValueSpec>
478class ParamValueSpec : public ParamEntry, public ParamRawValueSpec
479{
480 public:
481 ParamValueSpec();
482 ParamValueSpec(const RStringB& name);
483
484 RStringB GetValue() const override { return ParamRawValueSpec::GetValue(); }
485 RStringB GetValueRaw() const override { return ParamRawValueSpec::GetValueRaw(); }
486 float GetFloat() const { return ParamRawValueSpec::GetFloat(); }
487 int GetInt() const override { return ParamRawValueSpec::GetInt(); }
488
489 operator RStringB() const override { return ParamRawValueSpec::GetValue(); }
490 operator float() const override { return ParamRawValueSpec::GetFloat(); }
491 operator int() const override { return ParamRawValueSpec::GetInt(); }
492 operator bool() const override { return ParamRawValueSpec::GetInt() != 0; }
493
494 void SetValue(const RStringB& val) override { ParamRawValueSpec::SetValue(val); }
495 void SetValue(float val) override { ParamRawValueSpec::SetValue(val); }
496 void SetValue(int val) override { ParamRawValueSpec::SetValue(val); }
497 void SetFile(ParamFile* file) override { ParamRawValueSpec::SetFile(file); }
498
499 bool IsTextValue() const override { return ParamRawValueSpec::IsTextValue(); }
500 bool IsFloatValue() const override { return ParamRawValueSpec::IsFloatValue(); }
501 bool IsIntValue() const override { return ParamRawValueSpec::IsIntValue(); }
502 bool IsArrayValue() const { return false; }
503
504 void Save(QOStream& f, int indent) const override;
505
506 void SerializeBin(SerializeBinStream& f) override;
507 void CalculateCheckValue(PASumCalculator& sum) const override;
508
509 USE_FAST_ALLOCATOR
510};
511
512template <class ParamRawValueSpec>
513class ParamArrayValueSpec : public IParamArrayValue, public ParamRawValueSpec
514{
515 public:
516 ParamArrayValueSpec(const RStringB& val) { ParamRawValueSpec::SetValue(val); }
517 ParamArrayValueSpec(float val) { ParamRawValueSpec::SetValue(val); }
518 ParamArrayValueSpec(int val) { ParamRawValueSpec::SetValue(val); }
519
520 RStringB GetValue() const override { return ParamRawValueSpec::GetValue(); }
521 RStringB GetValueRaw() const override { return ParamRawValueSpec::GetValueRaw(); }
522 int GetInt() const override { return ParamRawValueSpec::GetInt(); }
523 float GetFloat() const override { return ParamRawValueSpec::GetFloat(); }
524
525 void SetValue(const RStringB& val) override { ParamRawValueSpec::SetValue(val); }
526 void SetValue(float val) override { ParamRawValueSpec::SetValue(val); }
527 void SetValue(int val) override { ParamRawValueSpec::SetValue(val); }
528 void SetFile(ParamFile* file) override { ParamRawValueSpec::SetFile(file); }
529
530 bool IsTextValue() const override { return ParamRawValueSpec::IsTextValue(); }
531 bool IsFloatValue() const override { return ParamRawValueSpec::IsFloatValue(); }
532 bool IsIntValue() const override { return ParamRawValueSpec::IsIntValue(); }
533 bool IsArrayValue() const override { return false; }
534
535 void Save(QOStream& f, int indent) const override;

Callers

nothing calls this directly

Calls 15

GetValueFunction · 0.85
GetIntFunction · 0.85
AddClass · 0.85
GetEntryCountFunction · 0.85
ErrorMessageFunction · 0.85
GetAlphaWordFunction · 0.85
FindFunction · 0.85
GetWordFunction · 0.85
toLargeIntFunction · 0.85
sprintfFunction · 0.85
GetAccessModeFunction · 0.85
SetAccessModeForAllMethod · 0.80

Tested by

no test coverage detected