Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
BehaviorTreeEditorPlugin.h
Go to the documentation of this file.
1/*
2 * Olympe Blueprint Editor - Behavior Tree Plugin
3 *
4 * Plugin for editing AI Behavior Tree blueprints
5 */
6
7#pragma once
8
10#include <map>
11
12namespace Olympe
13{
15 {
16 public:
19
20 // Identification
21 std::string GetBlueprintType() const override { return "BehaviorTree"; }
22 std::string GetDisplayName() const override { return "Behavior Tree"; }
23 std::string GetDescription() const override { return "AI Behavior Tree with nodes and decorators"; }
24 std::string GetIconPath() const override { return "Resources/Icons/behavior_tree.png"; }
25 std::string GetDefaultFolder() const override { return "Blueprints/AI/"; }
26
27 // Lifecycle
28 nlohmann::json CreateNew(const std::string& name) override;
29 bool CanHandle(const nlohmann::json& blueprint) const override;
30 std::vector<ValidationError> Validate(const nlohmann::json& blueprint) override;
31
32 // Rendering
33 void RenderEditor(nlohmann::json& blueprintData, EditorContext_st& ctx) override;
34 void RenderProperties(const nlohmann::json& blueprintData) override;
35 void RenderToolbar(nlohmann::json& blueprintData) override;
36
37 private:
39 std::string GetCurrentTimestamp();
40 };
41}
ComponentTypeID GetComponentTypeID_Static()
Definition ECS_Entity.h:56
std::string GetDisplayName() const override
void RenderToolbar(nlohmann::json &blueprintData) override
void RenderProperties(const nlohmann::json &blueprintData) override
nlohmann::json CreateNew(const std::string &name) override
std::vector< ValidationError > Validate(const nlohmann::json &blueprint) override
void RenderEditor(nlohmann::json &blueprintData, EditorContext_st &ctx) override
std::string GetBlueprintType() const override
std::string GetDescription() const override
std::string GetIconPath() const override
std::string GetDefaultFolder() const override
bool CanHandle(const nlohmann::json &blueprint) const override
void RenderBehaviorTreeGraph(nlohmann::json &data, EditorContext_st &ctx)
BlueprintEditorPlugin - Base interface for blueprint type plugins Each plugin handles a specific blue...
nlohmann::json json