Skip to main content

Score.ixx File

Abstract base class for score types. More...

Included Headers

Namespaces Index

namespacehelios
namespaceengine

Main engine module aggregating core infrastructure and game systems. More...

namespacemechanics

High-level gameplay systems and components for game logic. More...

namespacescoring

Score management and tracking system for game mechanics. More...

namespacetypes

Score data types and value classes. More...

Classes Index

classScore

Abstract base class for score value types. More...

Description

Abstract base class for score types.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file Score.ixx
3 * @brief Abstract base class for score types.
4 */
5module;
6
7
8export module helios.engine.mechanics.scoring.types.Score;
9
10import helios.engine.mechanics.scoring.types.ScoreTypeId;
11
13
14
15 /**
16 * @brief Abstract base class for score value types.
17 *
18 * Provides a common interface for different score types (e.g., KillReward).
19 * Each concrete type must provide a unique ScoreTypeId.
20 */
21 class Score {
22
23 protected:
24
25 /**
26 * @brief The numeric score value.
27 */
28 double value_;
29
30 public:
31
32 virtual ~Score() = default;
33
34 /**
35 * @brief Constructs a Score with the given value.
36 *
37 * @param value The numeric score value.
38 */
39 explicit Score(const double value) : value_(value){}
40
41 /**
42 * @brief Returns the score value.
43 *
44 * @return The numeric score value.
45 */
46 [[nodiscard]] double value() const noexcept {
47 return value_;
48 }
49
50 /**
51 * @brief Returns the unique type identifier for this score type.
52 *
53 * @return The ScoreTypeId for this concrete score type.
54 */
55 [[nodiscard]] virtual helios::engine::mechanics::scoring::types::ScoreTypeId typeId() const noexcept = 0;
56
57 };
58
59
60}

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.