explicit CreateTemplateCommand(WorldEditor& editor)
			: m_entity_system(
				  static_cast<EntityTemplateSystemImpl&>(editor.getEntityTemplateSystem()))
			, m_editor(editor)
			, m_name(editor.getAllocator())
		{
		}
Beispiel #2
0
	explicit EditorIconsImpl(WorldEditor& editor)
		: m_editor(editor)
		, m_icons(editor.getAllocator())
	{
		m_render_interface = nullptr;
		m_icons.reserve(200);
		editor.universeDestroyed().bind<EditorIconsImpl, &EditorIconsImpl::clear>(this);
		editor.universeCreated().bind<EditorIconsImpl, &EditorIconsImpl::onUniverseCreated>(this);
		if (m_editor.getUniverse()) onUniverseCreated();
	}
		CreateTemplateCommand(WorldEditor& editor,
			const char* template_name,
			Entity entity_template)
			: m_entity_system(
				  static_cast<EntityTemplateSystemImpl&>(editor.getEntityTemplateSystem()))
			, m_name(template_name, editor.getAllocator())
			, m_entity(entity_template)
			, m_editor(editor)
		{
		}
void ParticleEmitter::AttractorModule::drawGizmo(WorldEditor& editor, RenderScene& scene)
{
	for (int i = 0; i < m_count; ++i)
	{
		if(m_entities[i] != INVALID_ENTITY) editor.getGizmo().add(m_entities[i]);
	}
}
Beispiel #5
0
EditorIcon::EditorIcon(WorldEditor& editor, RenderScene& scene, Entity entity)
{
	m_scale = 1;
	m_scene = &scene;
	m_entity = entity;
	m_is_visible = true;
	const WorldEditor::ComponentList& cmps =
		editor.getComponents(entity);
	m_type = ENTITY;
	for (int i = 0; i < cmps.size(); ++i)
	{
		if (cmps[i].type == crc32("physical_controller"))
		{
			m_type = PHYSICAL_CONTROLLER;
			break;
		}
		else if (cmps[i].type == crc32("box_rigid_actor"))
		{
			m_type = PHYSICAL_BOX;
			break;
		}
		else if (cmps[i].type == crc32("camera"))
		{
			m_type = CAMERA;
			break;
		}
		else if (cmps[i].type == crc32("global_light") ||
				 cmps[i].type == crc32("point_light"))
		{
			m_type = LIGHT;
			break;
		}
		else if (cmps[i].type == crc32("terrain"))
		{
			m_type = TERRAIN;
			break;
		}
	}
	m_model = static_cast<Model*>(editor.getEngine()
									  .getResourceManager()
									  .get(ResourceManager::MODEL)
									  ->load(Path(ICON_NAMES[m_type])));
}
Beispiel #6
0
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    // set these values so we can use default settings constructor
    QCoreApplication::setOrganizationName("Motrs INC");
    QCoreApplication::setOrganizationDomain("motrs.superjoesoftware.com");
    QCoreApplication::setApplicationName("Motrs Game Editor");

    // move updater.exe.new to updater.exe
    QDir appDir(QApplication::applicationDirPath());
    QFile updater(appDir.absoluteFilePath("updater.exe.new"));
    if( updater.exists() ) {
        // delete updater.exe
        appDir.remove("updater.exe");
        // rename updater.exe.new to updater.exe
        updater.rename("updater.exe");
    }

    WorldEditor w;
    w.show();
    return a.exec();
}
	explicit EntityTemplateSystemImpl(WorldEditor& editor)
		: m_editor(editor)
		, m_universe(nullptr)
		, m_instances(editor.getAllocator())
		, m_updated(editor.getAllocator())
		, m_template_names(editor.getAllocator())
	{
		editor.universeCreated()
			.bind<EntityTemplateSystemImpl, &EntityTemplateSystemImpl::onUniverseCreated>(this);
		editor.universeDestroyed()
			.bind<EntityTemplateSystemImpl, &EntityTemplateSystemImpl::onUniverseDestroyed>(this);
		setUniverse(editor.getUniverse());
		editor.registerEditorCommandCreator("create_entity_template_instance",
			&EntityTemplateSystemImpl::createCreateInstanceCommand);
		editor.registerEditorCommandCreator(
			"create_entity_template", &EntityTemplateSystemImpl::createCreateTemplateCommand);
	}
Beispiel #8
0
	explicit PrefabSystemImpl(WorldEditor& editor)
		: m_editor(editor)
		, m_universe(nullptr)
		, m_instances(editor.getAllocator())
		, m_resources(editor.getAllocator())
		, m_prefabs(editor.getAllocator())
	{
		editor.universeCreated().bind<PrefabSystemImpl, &PrefabSystemImpl::onUniverseCreated>(this);
		editor.universeDestroyed().bind<PrefabSystemImpl, &PrefabSystemImpl::onUniverseDestroyed>(this);
		setUniverse(editor.getUniverse());
		editor.registerEditorCommandCreator(
			"instantiate_prefab", &PrefabSystemImpl::createInstantiatePrefabCommand);
	}
void ParticleEmitter::PlaneModule::drawGizmo(WorldEditor& editor, RenderScene& scene)
{
	for (int i = 0; i < m_count; ++i)
	{
		Entity entity = m_entities[i];
		if (m_entities[i] != INVALID_ENTITY) editor.getGizmo().add(entity);
		if (entity == INVALID_ENTITY) continue;
		if (!m_emitter.m_universe.hasEntity(entity)) continue;

		Matrix mtx = m_emitter.m_universe.getMatrix(entity);
		Vec3 pos = mtx.getTranslation();
		Vec3 right = mtx.getXVector();
		Vec3 normal = mtx.getYVector();
		Vec3 forward = mtx.getZVector();
		uint32 color = 0xffff0000;

		for (int i = 0; i < 9; ++i)
		{
			float w = i / 4.0f - 1.0f;
			scene.addDebugLine(pos - right - forward * w, pos + right - forward * w, color, 0);
			scene.addDebugLine(pos - right * w - forward, pos - right * w + forward, color, 0);
		}
	}
}
		explicit CreateInstanceCommand(WorldEditor& editor)
			: m_entity_system(
				  static_cast<EntityTemplateSystemImpl&>(editor.getEntityTemplateSystem()))
			, m_editor(editor)
		{
		}