explicit CreateTemplateCommand(WorldEditor& editor) : m_entity_system( static_cast<EntityTemplateSystemImpl&>(editor.getEntityTemplateSystem())) , m_editor(editor) , m_name(editor.getAllocator()) { }
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]); } }
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]))); }
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); }
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) { }