Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation of ObjectiveManager Core #137

Open
5 tasks
SergeyShorokhov opened this issue Nov 27, 2024 · 0 comments
Open
5 tasks

Implementation of ObjectiveManager Core #137

SergeyShorokhov opened this issue Nov 27, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@SergeyShorokhov
Copy link
Collaborator

Title: Implementation of ObjectiveManager Core

Description:
Develop and integrate the core system for ObjectiveManager, which will manage game objectives. The manager should provide functionality to create, update, retrieve progress, and delete objectives. This will serve as the foundation for integrating game modes in future iterations.

Requirements:

  1. Create the main module ObjectiveManager with the following CRUD functions:

    • ObjectiveManager_Create — to create a new objective.
    • ObjectiveManager_Get — to retrieve objective information by index.
    • ObjectiveManager_Update — to update progress or properties of an objective.
    • ObjectiveManager_Remove — to remove an objective.
  2. Implement in-memory storage for objectives using an array or other data structure.

  3. Add the following basic properties for each objective:

    • Name (name).
    • Description (description).
    • Index (index).
    • Progress (progress).
  4. Enable support for managing multiple objectives simultaneously (multitasking).

  5. Provide functions to export objective data for use by other modules:

    • Retrieve a list of all objectives.
    • Retrieve the current progress of each objective.

Acceptance Criteria:

  • ObjectiveManager correctly creates and manages multiple objectives.
  • Information about objectives is accessible via public API functions.
  • CRUD functions are implemented and tested.

Tasks:

  • Create the Objective structure.
  • Develop CRUD functions.
  • Implement data storage and management using an array.
  • Write a test scenario to verify proper functionality.
  • Add user-facing documentation. (?)

Time Estimate: 8-10 hours

Additional Notes:
This module must be flexible and independent of specific game modes, ensuring compatibility with future integrations like CTF, TDM, and others.

@SergeyShorokhov SergeyShorokhov added the enhancement New feature or request label Nov 27, 2024
@SergeyShorokhov SergeyShorokhov added this to the 1.1.0 milestone Nov 27, 2024
@SergeyShorokhov SergeyShorokhov self-assigned this Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant