mirror of
https://github.com/zoriya/My3D.git
synced 2026-05-30 17:27:49 +00:00
Finishing the toolbar
This commit is contained in:
+1
-1
@@ -252,7 +252,7 @@ add_executable(My3D
|
||||
lib/gamacon/src/components/isometry/map_manager_component.c
|
||||
lib/gamacon/include/components/isometry/map_manager_component.h
|
||||
lib/gamacon/src/components/isometry/vertex_data_loader.c
|
||||
lib/gamacon/include/vertex_data_loader.h)
|
||||
lib/gamacon/include/vertex_data_loader.h src/toolbar.c lib/gamacon/include/callbacks.h)
|
||||
|
||||
add_compile_options(-W -Wall -Wextra -Wshadow)
|
||||
|
||||
|
||||
+6
-1
@@ -24,4 +24,9 @@ void resolution_set_text(gc_entity *entity, gc_engine *engine);
|
||||
|
||||
bool fullscreen(gc_engine *engine, gc_entity *entity, gc_vector2 _);
|
||||
bool resolution_down(gc_engine *engine, gc_entity *entity, gc_vector2 _);
|
||||
bool resolution_up(gc_engine *engine, gc_entity *entity, gc_vector2 _);
|
||||
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 rotate(gc_engine *engine, gc_entity *entity, gc_vector2 _);
|
||||
+1
-1
Submodule lib/gamacon updated: 2cc17bef75...609122329b
@@ -49,10 +49,10 @@
|
||||
</gc_entity>
|
||||
|
||||
<panel src="panel" x="7%" y="3%" width="30%" height="6%"/>
|
||||
<button sprite="tile_select" x="3%" y="3%" width="%" height="3%" tooltip="Select a tile." tooltip_x="5" tooltip_y="-5" size="15"/>
|
||||
<button sprite="vertex_select" x="7%" y="3%" width="%" height="3%" tooltip="Select a Vertex." tooltip_y="-5" size="15"/>
|
||||
<button sprite="up_down" x="15%" y="3%" width="%" height="3%" tooltip="Move a tiles.\n - Up with left click.\n - Down with right click" tooltip_y="-15" size="15"/>
|
||||
<button sprite="rotate" x="19%" y="3%" width="%" height="3%" tooltip="Rotate a texture" tooltip_y="-5" size="15"/>
|
||||
<button sprite="tile_select" x="3%" y="3%" width="%" height="3%" tooltip="Select a tile." tooltip_x="5" tooltip_y="-5" size="15" click="tile_select" />
|
||||
<button sprite="vertex_select" x="7%" y="3%" width="%" height="3%" tooltip="Select a Vertex." tooltip_y="-5" size="15" click="vertex_select" />
|
||||
<button sprite="up_down" x="15%" y="3%" width="%" height="3%" tooltip="Move a tiles.\n - Up with left click.\n - Down with right click" tooltip_y="-15" size="15" click="up_down" />
|
||||
<button sprite="rotate" x="19%" y="3%" width="%" height="3%" tooltip="Rotate a texture" tooltip_y="-5" size="15" click="rotate" />
|
||||
|
||||
<panel src="panel" x="100%" y="50%" width="50%" height="120%"/>
|
||||
<text text="TEAMS" x="88%" y="40"/>
|
||||
|
||||
+26
-14
@@ -12,11 +12,35 @@
|
||||
#include "systems/teams_system.h"
|
||||
#include <SFML/System.h>
|
||||
#include "teams.h"
|
||||
#include "callbacks.h"
|
||||
#include "components/game_display.h"
|
||||
#include "components/game_manager.h"
|
||||
#include "systems/game_manager_system.h"
|
||||
#include "map_interactions.h"
|
||||
|
||||
const struct callback callbacks[] = {
|
||||
{"start_button", &start_button},
|
||||
{"options", &options},
|
||||
{"goto_main_menu", &goto_main_menu},
|
||||
{"quit", &quit},
|
||||
{"fullscreen", &fullscreen},
|
||||
{"map_manage_click", &tile_interact},
|
||||
{"resolution_down", &resolution_down},
|
||||
{"resolution_up", &resolution_up},
|
||||
{"absent_check", &absent_check},
|
||||
{"absent_cross", &absent_cross},
|
||||
{"forgot_lmfao", &forgot_lmfao},
|
||||
{"forgot_ok", &forgot_ok},
|
||||
{"catch", &catch},
|
||||
{"toggle_pause", &toggle_pause},
|
||||
{"toggle_pause", &toggle_pause},
|
||||
{"tile_select", &tile_select},
|
||||
{"vertex_select", &vertex_select},
|
||||
{"up_down", &up_down},
|
||||
{"rotate", &rotate},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
int register_customcmps(gc_engine *engine)
|
||||
{
|
||||
engine->add_component(engine, &game_manager);
|
||||
@@ -26,20 +50,8 @@ int register_customcmps(gc_engine *engine)
|
||||
engine->add_component(engine, &teams_component);
|
||||
engine->add_system(engine, &teams_system);
|
||||
engine->finish_physics(engine);
|
||||
engine->add_callback(engine, "start_button", &start_button);
|
||||
engine->add_callback(engine, "options", &options);
|
||||
engine->add_callback(engine, "goto_main_menu", &goto_main_menu);
|
||||
engine->add_callback(engine, "quit", &quit);
|
||||
engine->add_callback(engine, "fullscreen", &fullscreen);
|
||||
engine->add_callback(engine, "map_manage_click", &tile_interact);
|
||||
engine->add_callback(engine, "resolution_down", &resolution_down);
|
||||
engine->add_callback(engine, "resolution_up", &resolution_up);
|
||||
engine->add_callback(engine, "absent_check", &absent_check);
|
||||
engine->add_callback(engine, "absent_cross", &absent_cross);
|
||||
engine->add_callback(engine, "forgot_lmfao", &forgot_lmfao);
|
||||
engine->add_callback(engine, "forgot_ok", &forgot_ok);
|
||||
engine->add_callback(engine, "catch", &catch);
|
||||
engine->add_callback(engine, "toggle_pause", &toggle_pause);
|
||||
for (int i = 0; callbacks[i].func; i++)
|
||||
engine->add_callback(engine, callbacks[i].name, callbacks[i].func);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
//
|
||||
// Created by anonymus-raccoon on 3/11/20.
|
||||
//
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <components/isometry/map_manager_component.h>
|
||||
#include "engine.h"
|
||||
#include "entity.h"
|
||||
|
||||
bool tile_select(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->tile_mode = true;
|
||||
return (true);
|
||||
}
|
||||
|
||||
bool vertex_select(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->tile_mode = false;
|
||||
return (true);
|
||||
}
|
||||
|
||||
bool up_down(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 = MOVE;
|
||||
return (true);
|
||||
}
|
||||
|
||||
bool rotate(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 = ROTATE;
|
||||
return (true);
|
||||
}
|
||||
Reference in New Issue
Block a user