#pragma once #include #include #include //circular dependency warning: //don't include U_String //don't include U_Types #define REINTERPRET_AS(var, type) (*reinterpret_cast(&(var))) template struct are_same_template : std::conjunction< std::is_same::type, typename std::remove_cvref::type>, std::is_same> {}; //1 - r, 2 - g, 3 - b, 4 - a std::string GetLuaVectorColorIndex(size_t index); //1 - x, 2 - y, 3 - z, 4 - w std::string GetLuaVectorCharIndex(size_t index); //0 - r, 1 - g, 2 - b, 3 - a std::string GetVectorColorIndex(size_t index); //0 - x, 1 - y, 2 - z, 3 - w std::string GetVectorCharIndex(size_t index); constexpr glm::vec3 DefaultGravity = glm::vec3(0.0f, -500.0f, 0.0f); bool IsClient(); bool IsServer(); bool IsConnectedClient(); #define GET_CONST_FIELD(type, _class, expr) const_cast(const_cast<_class*>(this)->expr);