From b4f6cd5dc161f89f7ca14f2e5e0654f977971fdb Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Thu, 9 Aug 2018 07:05:19 +0500 Subject: Refactored Block --- src/AssetManager.hpp | 1 + src/Block.cpp | 20 -------------------- src/Block.hpp | 24 +++++++++--------------- 3 files changed, 10 insertions(+), 35 deletions(-) diff --git a/src/AssetManager.hpp b/src/AssetManager.hpp index f3d0718..e05ba31 100644 --- a/src/AssetManager.hpp +++ b/src/AssetManager.hpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include diff --git a/src/Block.cpp b/src/Block.cpp index 41199de..56fa371 100644 --- a/src/Block.cpp +++ b/src/Block.cpp @@ -1,25 +1,5 @@ #include "Block.hpp" -#include - -Block::~Block() {} - -Block::Block(unsigned short id, unsigned char state, - unsigned char light, unsigned char sky) - : id(id), state(state), light(light), sky (sky) {} - -Block::Block() : id(0), state(0), light(0), sky(0) {} - -bool operator==(const BlockId& lhs, const BlockId &rhs) { - return (lhs.id == rhs.id) && (lhs.state == rhs.state); -} - -bool operator<(const BlockId& lhs, const BlockId &rhs) { - if (lhs.id < rhs.id) - return true; - return lhs.state < rhs.state; -} - std::pair TransformBlockIdToBlockStateName(BlockId blockId) { switch (blockId.id) { case 1: { diff --git a/src/Block.hpp b/src/Block.hpp index c922adf..fa8b51a 100644 --- a/src/Block.hpp +++ b/src/Block.hpp @@ -1,19 +1,7 @@ #pragma once -#include #include - -struct Block { - Block(); - Block(unsigned short id, unsigned char state, - unsigned char light, unsigned char sky); - ~Block(); - - unsigned short id : 13; - unsigned char state : 4; - unsigned char light : 4; - unsigned char sky : 4; -}; +#include struct BlockId { unsigned short id : 13; @@ -29,9 +17,15 @@ enum BlockFacing { East }; -bool operator==(const BlockId& lhs, const BlockId &rhs); +inline bool operator==(const BlockId& lhs, const BlockId &rhs) { + return (lhs.id == rhs.id) && (lhs.state == rhs.state); +} -bool operator<(const BlockId& lhs, const BlockId &rhs); +inline bool operator<(const BlockId& lhs, const BlockId &rhs) { + if (lhs.id != rhs.id) + return lhs.id < rhs.id; + return lhs.state < rhs.state; +} namespace std { template <> -- cgit v1.2.3