void EditorGeometryManager::_updateEditorGrid(G2::FrameInfo const& frame)
{
	auto* camera = G2::ECSManager::getShared().getSystem<G2::CameraSystem, G2::CameraComponent>()->getRenderCamera();

	glm::vec4 pos(0.f, 0.f, 0.f, 1.f);
	pos = glm::inverse(G2::ECSManager::getShared().getSystem<G2::TransformSystem, G2::TransformComponent>()->get(camera->getEntityId())->getWorldSpaceMatrix()) * pos;

	float posY = std::abs(pos.y);

	for (auto it = mGrids.begin(); it != mGrids.end(); ++it)
	{
		((G2::Entity*)(*it))->getComponent<G2::RenderComponent>()->disable();
	}

	for (auto it = mGrids.begin(); it != mGrids.end(); ++it)
	{
		float maxY = it->getUnitSize() * 25.f;
		if (maxY > posY)
		{
			// found the closest grid match
			((G2::Entity*)(*it))->getComponent<G2::RenderComponent>()->enable();
			mActiveGrid = &(*it);
			_updateGridPosition();
			return;
		}
	}
	((G2::Entity*)(*mGrids.begin()))->getComponent<G2::RenderComponent>()->enable();
	mActiveGrid = &(*mGrids.begin());
	_updateGridPosition();
}
Example #2
0
size_t CDirectiveData::getDataSize() const
{
	switch (mode)
	{
	case EncodingMode::Sjis:
	case EncodingMode::Custom:
		return customData.size();
	case EncodingMode::U8:
	case EncodingMode::Ascii:
	case EncodingMode::U16:
	case EncodingMode::U32:
	case EncodingMode::U64:
	case EncodingMode::Float:
	case EncodingMode::Double:
		return normalData.size()*getUnitSize();
	}

	return 0;
}
Example #3
0
Void metadata::ClassField::LogArrayRecord(StdUInt class_id, UInt32 count, UInt32 index) const
{
    if(!enable_logging)
        return;
    WriteTransaction(getOffset() + class_id * getStep() + index * getUnitSize(), count * getUnitSize());
}
Example #4
0
Void metadata::ClassField::LogRecord(StdUInt class_id) const
{
    if(!enable_logging)
        return;
    WriteTransaction(getOffset() + class_id * getStep(), getUnitSize());
}