Mario: slightly better editor UI
This commit is contained in:
@@ -6,12 +6,14 @@
|
||||
|
||||
#define SELECTED_LEFT_MAP 0x00000001
|
||||
#define SELECTED_RIGHT_MAP 0x00000002
|
||||
#define SELECTED_LEFT_SELECT 0x00000004
|
||||
#define SELECTED_RIGHT_SELECT 0x00000004
|
||||
#define SELECTED_REMOVE_BLOCK 0x00000008
|
||||
#define SELECTED_REMOVE_MODIFIER 0x00000010
|
||||
#define SELECTED_RIGHT_TOOL 0x00000020
|
||||
#define SELECTED_LEFT_TOOL 0x00000040
|
||||
#define SELECTED_REMOVE_BLOCK 0x00000004
|
||||
#define SELECTED_REMOVE_MODIFIER 0x00000008
|
||||
#define SELECTED_RIGHT_TOOL 0x00000010
|
||||
#define SELECTED_LEFT_TOOL 0x00000020
|
||||
#define SELECTED_RIGHT_MOD 0x00000040
|
||||
#define SELECTED_LEFT_MOD 0x00000080
|
||||
#define SELECTED_RIGHT_CHARACTER 0x00000100
|
||||
#define SELECTED_LEFT_CHARACTER 0x00000200
|
||||
|
||||
void MouseVisitor::visit( const SDLPP::RenderObject &obj ) {
|
||||
auto id = obj.getId();
|
||||
@@ -28,6 +30,18 @@ void MouseVisitor::visit( const SDLPP::RenderObject &obj ) {
|
||||
case EDITOR_RIGHT_TOOL_ID:
|
||||
select_flags |= SELECTED_RIGHT_TOOL;
|
||||
break;
|
||||
case EDITOR_LEFT_MOD_ID:
|
||||
select_flags |= SELECTED_LEFT_MOD;
|
||||
break;
|
||||
case EDITOR_RIGHT_MOD_ID:
|
||||
select_flags |= SELECTED_RIGHT_MOD;
|
||||
break;
|
||||
case EDITOR_LEFT_CHARACTER_ID:
|
||||
select_flags |= SELECTED_LEFT_CHARACTER;
|
||||
break;
|
||||
case EDITOR_RIGHT_CHARACTER_ID:
|
||||
select_flags |= SELECTED_RIGHT_CHARACTER;
|
||||
break;
|
||||
case EDITOR_EDIT_SQUARE:
|
||||
edit_box = true;
|
||||
edit_box_location = dynamic_cast< const EditBox & >( obj ).getIndexes();
|
||||
@@ -35,6 +49,7 @@ void MouseVisitor::visit( const SDLPP::RenderObject &obj ) {
|
||||
case EDITOR_TOOL_ID:
|
||||
tool_box = true;
|
||||
tool_box_location = dynamic_cast< const ToolBox & >( obj ).getIndexes();
|
||||
tool_box_type = dynamic_cast< const ToolBox & >( obj ).getType();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -57,6 +72,22 @@ bool MouseVisitor::moveToolsRight( uint64_t flags ) {
|
||||
return flags & SELECTED_RIGHT_TOOL;
|
||||
}
|
||||
|
||||
bool MouseVisitor::moveModsLeft( uint64_t flags ) {
|
||||
return flags & SELECTED_LEFT_MOD;
|
||||
}
|
||||
|
||||
bool MouseVisitor::moveModsRight( uint64_t flags ) {
|
||||
return flags & SELECTED_RIGHT_MOD;
|
||||
}
|
||||
|
||||
bool MouseVisitor::moveCharactersLeft( uint64_t flags ) {
|
||||
return flags & SELECTED_LEFT_CHARACTER;
|
||||
}
|
||||
|
||||
bool MouseVisitor::moveCharactersRight( uint64_t flags ) {
|
||||
return flags & SELECTED_RIGHT_CHARACTER;
|
||||
}
|
||||
|
||||
void ToolVisitor::visit( const SDLPP::RenderObject &obj ) {
|
||||
auto id = obj.getCollisions()[0]->getId();
|
||||
switch ( id ) {
|
||||
|
||||
Reference in New Issue
Block a user