PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
mission_types.h
1#pragma once
2
3#include "pixelbullet/filesystem/virtual_path.h"
4#include "pixelbullet/scene/behavior_state_machine_types.h"
5
6#include <glm/vec2.hpp>
7
8#include <optional>
9#include <string>
10#include <vector>
11
12namespace pixelbullet
13{
15{
16 std::string title;
17 std::string detail;
18 std::vector<platform::scene_play::RuntimeUiAction> actions;
19
20 [[nodiscard]] bool operator==(const MissionStageMenuContent&) const noexcept = default;
21};
22
24{
25 std::string event_id;
26 std::string target_stage_id;
27
28 [[nodiscard]] bool operator==(const MissionStageTransition&) const noexcept = default;
29};
30
32{
33 std::string id;
34 pixelbullet::VirtualPath objective_asset;
35 std::string objective_stage_id;
36 std::vector<std::string> complete_objective_ids = {};
37 std::vector<std::string> fail_objective_ids = {};
38 std::optional<MissionStageMenuContent> paused_menu_content = std::nullopt;
39 std::optional<MissionStageMenuContent> completed_menu_content = std::nullopt;
40 std::vector<MissionStageTransition> transitions = {};
41
42 [[nodiscard]] bool operator==(const MissionStage&) const noexcept = default;
43};
44
46{
47 std::string stage_id;
48 glm::vec2 position = glm::vec2(0.0f);
49
50 [[nodiscard]] bool operator==(const MissionEditorGraphNodeLayout&) const noexcept = default;
51};
52
54{
55 std::vector<MissionEditorGraphNodeLayout> nodes;
56
57 [[nodiscard]] bool Empty() const noexcept
58 {
59 return nodes.empty();
60 }
61
62 [[nodiscard]] bool operator==(const MissionEditorGraphLayout&) const noexcept = default;
63};
64
66{
67 std::string mission_id;
68 std::string initial_stage_id;
69 std::vector<MissionStage> stages;
70 std::optional<MissionEditorGraphLayout> editor_graph;
71
72 [[nodiscard]] bool operator==(const MissionAsset&) const noexcept = default;
73};
74} // namespace pixelbullet
Definition virtual_path.h:10
Definition mission_types.h:66
Definition mission_types.h:54
Definition mission_types.h:46
Definition mission_types.h:15
Definition mission_types.h:24
Definition mission_types.h:32