From b9d780e90bdd336ff42136abb50428374ecfdb53 Mon Sep 17 00:00:00 2001
From: AnonymusRaccoon
Date: Wed, 11 Mar 2020 11:35:34 +0100
Subject: [PATCH] Implementing the reset in the toolbar
---
assets/ui/{reset_icon.png => reset.png} | Bin
include/setup.h | 1 +
prefabs/game.gcprefab | 4 +++-
src/game_loader.c | 1 +
src/toolbar.c | 13 +++++++++++++
5 files changed, 18 insertions(+), 1 deletion(-)
rename assets/ui/{reset_icon.png => reset.png} (100%)
diff --git a/assets/ui/reset_icon.png b/assets/ui/reset.png
similarity index 100%
rename from assets/ui/reset_icon.png
rename to assets/ui/reset.png
diff --git a/include/setup.h b/include/setup.h
index 7883dad..bed6d75 100644
--- a/include/setup.h
+++ b/include/setup.h
@@ -29,4 +29,5 @@ bool resolution_up(gc_engine *engine, gc_entity *entity, gc_vector2 _);
bool tile_select(gc_engine *engine, gc_entity *entity, gc_vector2 _);
bool vertex_select(gc_engine *engine, gc_entity *entity, gc_vector2 _);
bool up_down(gc_engine *engine, gc_entity *entity, gc_vector2 _);
+bool reset(gc_engine *engine, gc_entity *entity, gc_vector2 _);
bool rotate(gc_engine *engine, gc_entity *entity, gc_vector2 _);
\ No newline at end of file
diff --git a/prefabs/game.gcprefab b/prefabs/game.gcprefab
index 8ced595..89ec06e 100644
--- a/prefabs/game.gcprefab
+++ b/prefabs/game.gcprefab
@@ -10,6 +10,7 @@
+
@@ -51,7 +52,8 @@
-
+
+
diff --git a/src/game_loader.c b/src/game_loader.c
index 1bd50fb..2f7d668 100644
--- a/src/game_loader.c
+++ b/src/game_loader.c
@@ -37,6 +37,7 @@ const struct callback callbacks[] = {
{"tile_select", &tile_select},
{"vertex_select", &vertex_select},
{"up_down", &up_down},
+ {"reset", &reset},
{"rotate", &rotate},
{NULL, NULL}
};
diff --git a/src/toolbar.c b/src/toolbar.c
index c5b6a85..9aec35a 100644
--- a/src/toolbar.c
+++ b/src/toolbar.c
@@ -46,6 +46,19 @@ bool up_down(gc_engine *engine, gc_entity *entity, gc_vector2 _)
return (true);
}
+bool reset(gc_engine *engine, gc_entity *entity, gc_vector2 _)
+{
+ gc_scene *scene = engine->scene;
+ gc_list *list = scene->get_entity_by_cmp(scene, "map_manager_component");
+ struct map_manager_component *manager;
+
+ if (!list)
+ return (false);
+ manager = GETCMP(list->data, map_manager_component);
+ manager->brush = RESET;
+ return (true);
+}
+
bool rotate(gc_engine *engine, gc_entity *entity, gc_vector2 _)
{
gc_scene *scene = engine->scene;