CSC8503_Advanced_Game_Technologies / CSC8503 / CSC8503Common / Layer.h
Layer.h
Raw
#pragma once

namespace NCL
{
	namespace CSC8503
	{
		#define RAYCAST_LAYER_ID 0

		class Layer {
		public:
			Layer() : layerID(0) {}
			~Layer() = default;

			void SetLayerID(unsigned newID) {
				layerID = newID;
			}

			unsigned& GetLayerID() {
				return layerID;
			}

			const unsigned& GetConstLayerID() const {
				return layerID;
			}

			bool operator==(const Layer& other) const {
				if (this->GetConstLayerID() == other.GetConstLayerID())
					return true;
				return false;
			}
		private:
			unsigned layerID;
		};
	}
}