@@ -7359,39 +7359,368 @@ void editor::Properties::drawTimedActionComponent(ComponentType cpType, ScenePro
73597359}
73607360
73617361void editor::Properties::drawPositionActionComponent (ComponentType cpType, SceneProject* sceneProject, std::vector<Entity> entities){
7362+ Scene* scene = sceneProject->scene ;
7363+
73627364 beginTable (cpType, getLabelSize (" Start position" ));
7363- propertyRow (RowPropertyType::Vector3, cpType, " startPosition" , " Start position" , sceneProject, entities);
7364- propertyRow (RowPropertyType::Vector3, cpType, " endPosition" , " End position" , sceneProject, entities);
7365+
7366+ // We compute a width that offsets the button
7367+ float buttonSize = ImGui::GetFrameHeight ();
7368+ float reservedWidth = -(buttonSize + ImGui::GetStyle ().ItemSpacing .x );
7369+ RowSettings vectorSettings;
7370+ vectorSettings.secondColSize = reservedWidth;
7371+
7372+ // Start Position Row
7373+ propertyRow (RowPropertyType::Vector3, cpType, " startPosition" , " Start position" , sceneProject, entities, vectorSettings);
7374+
7375+ if (entities.size () == 1 ) {
7376+ Entity entity = entities[0 ];
7377+ ActionComponent* actionComp = scene->findComponent <ActionComponent>(entity);
7378+ Entity target = (actionComp && actionComp->target != NULL_ENTITY && scene->isEntityCreated (actionComp->target )) ? actionComp->target : NULL_ENTITY ;
7379+ Transform* targetTransform = (target != NULL_ENTITY ) ? scene->findComponent <Transform>(target) : nullptr ;
7380+
7381+ ImGui::SameLine ();
7382+ ImGui::BeginDisabled (!targetTransform);
7383+ ImVec2 iconSize = ImGui::CalcTextSize (ICON_FA_LOCATION_CROSSHAIRS );
7384+ float padX = std::max (0 .0f , (buttonSize - iconSize.x ) / 2 .0f );
7385+ float padY = std::max (0 .0f , (buttonSize - iconSize.y ) / 2 .0f );
7386+ ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, ImVec2 (padX, padY));
7387+ if (ImGui::Button (ICON_FA_LOCATION_CROSSHAIRS " ##get_start_pos" )) {
7388+ Vector3 pos = targetTransform->position ;
7389+ auto * cmd = new PropertyCmd<Vector3>(project, sceneProject->id , entity, cpType, " startPosition" , pos);
7390+ CommandHandle::get (sceneProject->id )->addCommand (cmd);
7391+ }
7392+ ImGui::PopStyleVar ();
7393+ ImGui::EndDisabled ();
7394+ if (ImGui::IsItemHovered (ImGuiHoveredFlags_AllowWhenDisabled)) {
7395+ ImGui::SetTooltip (" Get current position from target" );
7396+ }
7397+ }
7398+
7399+ // End Position Row
7400+ propertyRow (RowPropertyType::Vector3, cpType, " endPosition" , " End position" , sceneProject, entities, vectorSettings);
7401+
7402+ if (entities.size () == 1 ) {
7403+ Entity entity = entities[0 ];
7404+ ActionComponent* actionComp = scene->findComponent <ActionComponent>(entity);
7405+ Entity target = (actionComp && actionComp->target != NULL_ENTITY && scene->isEntityCreated (actionComp->target )) ? actionComp->target : NULL_ENTITY ;
7406+ Transform* targetTransform = (target != NULL_ENTITY ) ? scene->findComponent <Transform>(target) : nullptr ;
7407+
7408+ ImGui::SameLine ();
7409+ ImGui::BeginDisabled (!targetTransform);
7410+ ImVec2 iconSize = ImGui::CalcTextSize (ICON_FA_LOCATION_CROSSHAIRS );
7411+ float padX = std::max (0 .0f , (buttonSize - iconSize.x ) / 2 .0f );
7412+ float padY = std::max (0 .0f , (buttonSize - iconSize.y ) / 2 .0f );
7413+ ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, ImVec2 (padX, padY));
7414+ if (ImGui::Button (ICON_FA_LOCATION_CROSSHAIRS " ##get_end_pos" )) {
7415+ Vector3 pos = targetTransform->position ;
7416+ auto * cmd = new PropertyCmd<Vector3>(project, sceneProject->id , entity, cpType, " endPosition" , pos);
7417+ CommandHandle::get (sceneProject->id )->addCommand (cmd);
7418+ }
7419+ ImGui::PopStyleVar ();
7420+ ImGui::EndDisabled ();
7421+ if (ImGui::IsItemHovered (ImGuiHoveredFlags_AllowWhenDisabled)) {
7422+ ImGui::SetTooltip (" Get current position from target" );
7423+ }
7424+ }
7425+
73657426 endTable ();
73667427}
73677428
73687429void editor::Properties::drawRotationActionComponent (ComponentType cpType, SceneProject* sceneProject, std::vector<Entity> entities){
7430+ Scene* scene = sceneProject->scene ;
7431+
73697432 beginTable (cpType, getLabelSize (" Start rotation" ));
7370- propertyRow (RowPropertyType::Quat, cpType, " startRotation" , " Start rotation" , sceneProject, entities);
7371- propertyRow (RowPropertyType::Quat, cpType, " endRotation" , " End rotation" , sceneProject, entities);
7433+
7434+ float buttonSize = ImGui::GetFrameHeight ();
7435+ float reservedWidth = -(buttonSize + ImGui::GetStyle ().ItemSpacing .x );
7436+ RowSettings quatSettings;
7437+ quatSettings.secondColSize = reservedWidth;
7438+
7439+ propertyRow (RowPropertyType::Quat, cpType, " startRotation" , " Start rotation" , sceneProject, entities, quatSettings);
7440+
7441+ if (entities.size () == 1 ) {
7442+ Entity entity = entities[0 ];
7443+ ActionComponent* actionComp = scene->findComponent <ActionComponent>(entity);
7444+ Entity target = (actionComp && actionComp->target != NULL_ENTITY && scene->isEntityCreated (actionComp->target )) ? actionComp->target : NULL_ENTITY ;
7445+ Transform* targetTransform = (target != NULL_ENTITY ) ? scene->findComponent <Transform>(target) : nullptr ;
7446+
7447+ ImGui::SameLine ();
7448+ ImGui::BeginDisabled (!targetTransform);
7449+ ImVec2 iconSize = ImGui::CalcTextSize (ICON_FA_LOCATION_CROSSHAIRS );
7450+ float padX = std::max (0 .0f , (buttonSize - iconSize.x ) / 2 .0f );
7451+ float padY = std::max (0 .0f , (buttonSize - iconSize.y ) / 2 .0f );
7452+ ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, ImVec2 (padX, padY));
7453+ if (ImGui::Button (ICON_FA_LOCATION_CROSSHAIRS " ##get_start_rot" )) {
7454+ Quaternion rot = targetTransform->rotation ;
7455+ auto * cmd = new PropertyCmd<Quaternion>(project, sceneProject->id , entity, cpType, " startRotation" , rot);
7456+ CommandHandle::get (sceneProject->id )->addCommand (cmd);
7457+ }
7458+ ImGui::PopStyleVar ();
7459+ ImGui::EndDisabled ();
7460+ if (ImGui::IsItemHovered (ImGuiHoveredFlags_AllowWhenDisabled)) {
7461+ ImGui::SetTooltip (" Get current rotation from target" );
7462+ }
7463+ }
7464+
7465+ propertyRow (RowPropertyType::Quat, cpType, " endRotation" , " End rotation" , sceneProject, entities, quatSettings);
7466+
7467+ if (entities.size () == 1 ) {
7468+ Entity entity = entities[0 ];
7469+ ActionComponent* actionComp = scene->findComponent <ActionComponent>(entity);
7470+ Entity target = (actionComp && actionComp->target != NULL_ENTITY && scene->isEntityCreated (actionComp->target )) ? actionComp->target : NULL_ENTITY ;
7471+ Transform* targetTransform = (target != NULL_ENTITY ) ? scene->findComponent <Transform>(target) : nullptr ;
7472+
7473+ ImGui::SameLine ();
7474+ ImGui::BeginDisabled (!targetTransform);
7475+ ImVec2 iconSize = ImGui::CalcTextSize (ICON_FA_LOCATION_CROSSHAIRS );
7476+ float padX = std::max (0 .0f , (buttonSize - iconSize.x ) / 2 .0f );
7477+ float padY = std::max (0 .0f , (buttonSize - iconSize.y ) / 2 .0f );
7478+ ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, ImVec2 (padX, padY));
7479+ if (ImGui::Button (ICON_FA_LOCATION_CROSSHAIRS " ##get_end_rot" )) {
7480+ Quaternion rot = targetTransform->rotation ;
7481+ auto * cmd = new PropertyCmd<Quaternion>(project, sceneProject->id , entity, cpType, " endRotation" , rot);
7482+ CommandHandle::get (sceneProject->id )->addCommand (cmd);
7483+ }
7484+ ImGui::PopStyleVar ();
7485+ ImGui::EndDisabled ();
7486+ if (ImGui::IsItemHovered (ImGuiHoveredFlags_AllowWhenDisabled)) {
7487+ ImGui::SetTooltip (" Get current rotation from target" );
7488+ }
7489+ }
7490+
73727491 propertyRow (RowPropertyType::Bool, cpType, " shortestPath" , " Shortest path" , sceneProject, entities);
73737492 endTable ();
73747493}
73757494
73767495void editor::Properties::drawScaleActionComponent (ComponentType cpType, SceneProject* sceneProject, std::vector<Entity> entities){
7496+ Scene* scene = sceneProject->scene ;
7497+
73777498 beginTable (cpType, getLabelSize (" Start scale" ));
7378- propertyRow (RowPropertyType::Vector3, cpType, " startScale" , " Start scale" , sceneProject, entities);
7379- propertyRow (RowPropertyType::Vector3, cpType, " endScale" , " End scale" , sceneProject, entities);
7499+
7500+ float buttonSize = ImGui::GetFrameHeight ();
7501+ float reservedWidth = -(buttonSize + ImGui::GetStyle ().ItemSpacing .x );
7502+ RowSettings vectorSettings;
7503+ vectorSettings.secondColSize = reservedWidth;
7504+
7505+ propertyRow (RowPropertyType::Vector3, cpType, " startScale" , " Start scale" , sceneProject, entities, vectorSettings);
7506+
7507+ if (entities.size () == 1 ) {
7508+ Entity entity = entities[0 ];
7509+ ActionComponent* actionComp = scene->findComponent <ActionComponent>(entity);
7510+ Entity target = (actionComp && actionComp->target != NULL_ENTITY && scene->isEntityCreated (actionComp->target )) ? actionComp->target : NULL_ENTITY ;
7511+ Transform* targetTransform = (target != NULL_ENTITY ) ? scene->findComponent <Transform>(target) : nullptr ;
7512+
7513+ ImGui::SameLine ();
7514+ ImGui::BeginDisabled (!targetTransform);
7515+ ImVec2 iconSize = ImGui::CalcTextSize (ICON_FA_LOCATION_CROSSHAIRS );
7516+ float padX = std::max (0 .0f , (buttonSize - iconSize.x ) / 2 .0f );
7517+ float padY = std::max (0 .0f , (buttonSize - iconSize.y ) / 2 .0f );
7518+ ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, ImVec2 (padX, padY));
7519+ if (ImGui::Button (ICON_FA_LOCATION_CROSSHAIRS " ##get_start_scale" )) {
7520+ Vector3 scl = targetTransform->scale ;
7521+ auto * cmd = new PropertyCmd<Vector3>(project, sceneProject->id , entity, cpType, " startScale" , scl);
7522+ CommandHandle::get (sceneProject->id )->addCommand (cmd);
7523+ }
7524+ ImGui::PopStyleVar ();
7525+ ImGui::EndDisabled ();
7526+ if (ImGui::IsItemHovered (ImGuiHoveredFlags_AllowWhenDisabled)) {
7527+ ImGui::SetTooltip (" Get current scale from target" );
7528+ }
7529+ }
7530+
7531+ propertyRow (RowPropertyType::Vector3, cpType, " endScale" , " End scale" , sceneProject, entities, vectorSettings);
7532+
7533+ if (entities.size () == 1 ) {
7534+ Entity entity = entities[0 ];
7535+ ActionComponent* actionComp = scene->findComponent <ActionComponent>(entity);
7536+ Entity target = (actionComp && actionComp->target != NULL_ENTITY && scene->isEntityCreated (actionComp->target )) ? actionComp->target : NULL_ENTITY ;
7537+ Transform* targetTransform = (target != NULL_ENTITY ) ? scene->findComponent <Transform>(target) : nullptr ;
7538+
7539+ ImGui::SameLine ();
7540+ ImGui::BeginDisabled (!targetTransform);
7541+ ImVec2 iconSize = ImGui::CalcTextSize (ICON_FA_LOCATION_CROSSHAIRS );
7542+ float padX = std::max (0 .0f , (buttonSize - iconSize.x ) / 2 .0f );
7543+ float padY = std::max (0 .0f , (buttonSize - iconSize.y ) / 2 .0f );
7544+ ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, ImVec2 (padX, padY));
7545+ if (ImGui::Button (ICON_FA_LOCATION_CROSSHAIRS " ##get_end_scale" )) {
7546+ Vector3 scl = targetTransform->scale ;
7547+ auto * cmd = new PropertyCmd<Vector3>(project, sceneProject->id , entity, cpType, " endScale" , scl);
7548+ CommandHandle::get (sceneProject->id )->addCommand (cmd);
7549+ }
7550+ ImGui::PopStyleVar ();
7551+ ImGui::EndDisabled ();
7552+ if (ImGui::IsItemHovered (ImGuiHoveredFlags_AllowWhenDisabled)) {
7553+ ImGui::SetTooltip (" Get current scale from target" );
7554+ }
7555+ }
7556+
73807557 endTable ();
73817558}
73827559
73837560void editor::Properties::drawColorActionComponent (ComponentType cpType, SceneProject* sceneProject, std::vector<Entity> entities){
7561+ Scene* scene = sceneProject->scene ;
7562+
73847563 beginTable (cpType, getLabelSize (" Start color" ));
7385- propertyRow (RowPropertyType::Color3L, cpType, " startColor" , " Start color" , sceneProject, entities);
7386- propertyRow (RowPropertyType::Color3L, cpType, " endColor" , " End color" , sceneProject, entities);
7564+
7565+ float buttonSize = ImGui::GetFrameHeight ();
7566+ float reservedWidth = -(buttonSize + ImGui::GetStyle ().ItemSpacing .x );
7567+ RowSettings colorSettings;
7568+ colorSettings.secondColSize = reservedWidth;
7569+
7570+ propertyRow (RowPropertyType::Color3L, cpType, " startColor" , " Start color" , sceneProject, entities, colorSettings);
7571+
7572+ if (entities.size () == 1 ) {
7573+ Entity entity = entities[0 ];
7574+ ActionComponent* actionComp = scene->findComponent <ActionComponent>(entity);
7575+ Entity target = (actionComp && actionComp->target != NULL_ENTITY && scene->isEntityCreated (actionComp->target )) ? actionComp->target : NULL_ENTITY ;
7576+
7577+ Vector3 targetColor;
7578+ bool hasColor = false ;
7579+ if (target != NULL_ENTITY ) {
7580+ UIComponent* ui = scene->findComponent <UIComponent>(target);
7581+ if (ui) { targetColor = Vector3 (ui->color .x , ui->color .y , ui->color .z ); hasColor = true ; }
7582+ else {
7583+ MeshComponent* mesh = scene->findComponent <MeshComponent>(target);
7584+ if (mesh) { targetColor = Vector3 (mesh->submeshes [0 ].material .baseColorFactor .x , mesh->submeshes [0 ].material .baseColorFactor .y , mesh->submeshes [0 ].material .baseColorFactor .z ); hasColor = true ; }
7585+ }
7586+ }
7587+
7588+ ImGui::SameLine ();
7589+ ImGui::BeginDisabled (!hasColor);
7590+ ImVec2 iconSize = ImGui::CalcTextSize (ICON_FA_LOCATION_CROSSHAIRS );
7591+ float padX = std::max (0 .0f , (buttonSize - iconSize.x ) / 2 .0f );
7592+ float padY = std::max (0 .0f , (buttonSize - iconSize.y ) / 2 .0f );
7593+ ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, ImVec2 (padX, padY));
7594+ if (ImGui::Button (ICON_FA_LOCATION_CROSSHAIRS " ##get_start_color" )) {
7595+ auto * cmd = new PropertyCmd<Vector3>(project, sceneProject->id , entity, cpType, " startColor" , targetColor);
7596+ CommandHandle::get (sceneProject->id )->addCommand (cmd);
7597+ }
7598+ ImGui::PopStyleVar ();
7599+ ImGui::EndDisabled ();
7600+ if (ImGui::IsItemHovered (ImGuiHoveredFlags_AllowWhenDisabled)) {
7601+ ImGui::SetTooltip (" Get current color from target" );
7602+ }
7603+ }
7604+
7605+ propertyRow (RowPropertyType::Color3L, cpType, " endColor" , " End color" , sceneProject, entities, colorSettings);
7606+
7607+ if (entities.size () == 1 ) {
7608+ Entity entity = entities[0 ];
7609+ ActionComponent* actionComp = scene->findComponent <ActionComponent>(entity);
7610+ Entity target = (actionComp && actionComp->target != NULL_ENTITY && scene->isEntityCreated (actionComp->target )) ? actionComp->target : NULL_ENTITY ;
7611+
7612+ Vector3 targetColor;
7613+ bool hasColor = false ;
7614+ if (target != NULL_ENTITY ) {
7615+ UIComponent* ui = scene->findComponent <UIComponent>(target);
7616+ if (ui) { targetColor = Vector3 (ui->color .x , ui->color .y , ui->color .z ); hasColor = true ; }
7617+ else {
7618+ MeshComponent* mesh = scene->findComponent <MeshComponent>(target);
7619+ if (mesh) { targetColor = Vector3 (mesh->submeshes [0 ].material .baseColorFactor .x , mesh->submeshes [0 ].material .baseColorFactor .y , mesh->submeshes [0 ].material .baseColorFactor .z ); hasColor = true ; }
7620+ }
7621+ }
7622+
7623+ ImGui::SameLine ();
7624+ ImGui::BeginDisabled (!hasColor);
7625+ ImVec2 iconSize = ImGui::CalcTextSize (ICON_FA_LOCATION_CROSSHAIRS );
7626+ float padX = std::max (0 .0f , (buttonSize - iconSize.x ) / 2 .0f );
7627+ float padY = std::max (0 .0f , (buttonSize - iconSize.y ) / 2 .0f );
7628+ ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, ImVec2 (padX, padY));
7629+ if (ImGui::Button (ICON_FA_LOCATION_CROSSHAIRS " ##get_end_color" )) {
7630+ auto * cmd = new PropertyCmd<Vector3>(project, sceneProject->id , entity, cpType, " endColor" , targetColor);
7631+ CommandHandle::get (sceneProject->id )->addCommand (cmd);
7632+ }
7633+ ImGui::PopStyleVar ();
7634+ ImGui::EndDisabled ();
7635+ if (ImGui::IsItemHovered (ImGuiHoveredFlags_AllowWhenDisabled)) {
7636+ ImGui::SetTooltip (" Get current color from target" );
7637+ }
7638+ }
7639+
73877640 propertyRow (RowPropertyType::Bool, cpType, " useSRGB" , " Use sRGB" , sceneProject, entities);
73887641 endTable ();
73897642}
73907643
73917644void editor::Properties::drawAlphaActionComponent (ComponentType cpType, SceneProject* sceneProject, std::vector<Entity> entities){
7645+ Scene* scene = sceneProject->scene ;
7646+
73927647 beginTable (cpType, getLabelSize (" Start alpha" ));
7393- propertyRow (RowPropertyType::Float, cpType, " startAlpha" , " Start alpha" , sceneProject, entities);
7394- propertyRow (RowPropertyType::Float, cpType, " endAlpha" , " End alpha" , sceneProject, entities);
7648+
7649+ float buttonSize = ImGui::GetFrameHeight ();
7650+ float reservedWidth = -(buttonSize + ImGui::GetStyle ().ItemSpacing .x );
7651+ RowSettings alphaSettings;
7652+ alphaSettings.secondColSize = reservedWidth;
7653+
7654+ propertyRow (RowPropertyType::Float, cpType, " startAlpha" , " Start alpha" , sceneProject, entities, alphaSettings);
7655+
7656+ if (entities.size () == 1 ) {
7657+ Entity entity = entities[0 ];
7658+ ActionComponent* actionComp = scene->findComponent <ActionComponent>(entity);
7659+ Entity target = (actionComp && actionComp->target != NULL_ENTITY && scene->isEntityCreated (actionComp->target )) ? actionComp->target : NULL_ENTITY ;
7660+
7661+ float targetAlpha = 1 .0f ;
7662+ bool hasAlpha = false ;
7663+ if (target != NULL_ENTITY ) {
7664+ UIComponent* ui = scene->findComponent <UIComponent>(target);
7665+ if (ui) { targetAlpha = ui->color .w ; hasAlpha = true ; }
7666+ else {
7667+ MeshComponent* mesh = scene->findComponent <MeshComponent>(target);
7668+ if (mesh) { targetAlpha = mesh->submeshes [0 ].material .baseColorFactor .w ; hasAlpha = true ; }
7669+ }
7670+ }
7671+
7672+ ImGui::SameLine ();
7673+ ImGui::BeginDisabled (!hasAlpha);
7674+ ImVec2 iconSize = ImGui::CalcTextSize (ICON_FA_LOCATION_CROSSHAIRS );
7675+ float padX = std::max (0 .0f , (buttonSize - iconSize.x ) / 2 .0f );
7676+ float padY = std::max (0 .0f , (buttonSize - iconSize.y ) / 2 .0f );
7677+ ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, ImVec2 (padX, padY));
7678+ if (ImGui::Button (ICON_FA_LOCATION_CROSSHAIRS " ##get_start_alpha" )) {
7679+ auto * cmd = new PropertyCmd<float >(project, sceneProject->id , entity, cpType, " startAlpha" , targetAlpha);
7680+ CommandHandle::get (sceneProject->id )->addCommand (cmd);
7681+ }
7682+ ImGui::PopStyleVar ();
7683+ ImGui::EndDisabled ();
7684+ if (ImGui::IsItemHovered (ImGuiHoveredFlags_AllowWhenDisabled)) {
7685+ ImGui::SetTooltip (" Get current alpha from target" );
7686+ }
7687+ }
7688+
7689+ propertyRow (RowPropertyType::Float, cpType, " endAlpha" , " End alpha" , sceneProject, entities, alphaSettings);
7690+
7691+ if (entities.size () == 1 ) {
7692+ Entity entity = entities[0 ];
7693+ ActionComponent* actionComp = scene->findComponent <ActionComponent>(entity);
7694+ Entity target = (actionComp && actionComp->target != NULL_ENTITY && scene->isEntityCreated (actionComp->target )) ? actionComp->target : NULL_ENTITY ;
7695+
7696+ float targetAlpha = 1 .0f ;
7697+ bool hasAlpha = false ;
7698+ if (target != NULL_ENTITY ) {
7699+ UIComponent* ui = scene->findComponent <UIComponent>(target);
7700+ if (ui) { targetAlpha = ui->color .w ; hasAlpha = true ; }
7701+ else {
7702+ MeshComponent* mesh = scene->findComponent <MeshComponent>(target);
7703+ if (mesh) { targetAlpha = mesh->submeshes [0 ].material .baseColorFactor .w ; hasAlpha = true ; }
7704+ }
7705+ }
7706+
7707+ ImGui::SameLine ();
7708+ ImGui::BeginDisabled (!hasAlpha);
7709+ ImVec2 iconSize = ImGui::CalcTextSize (ICON_FA_LOCATION_CROSSHAIRS );
7710+ float padX = std::max (0 .0f , (buttonSize - iconSize.x ) / 2 .0f );
7711+ float padY = std::max (0 .0f , (buttonSize - iconSize.y ) / 2 .0f );
7712+ ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, ImVec2 (padX, padY));
7713+ if (ImGui::Button (ICON_FA_LOCATION_CROSSHAIRS " ##get_end_alpha" )) {
7714+ auto * cmd = new PropertyCmd<float >(project, sceneProject->id , entity, cpType, " endAlpha" , targetAlpha);
7715+ CommandHandle::get (sceneProject->id )->addCommand (cmd);
7716+ }
7717+ ImGui::PopStyleVar ();
7718+ ImGui::EndDisabled ();
7719+ if (ImGui::IsItemHovered (ImGuiHoveredFlags_AllowWhenDisabled)) {
7720+ ImGui::SetTooltip (" Get current alpha from target" );
7721+ }
7722+ }
7723+
73957724 endTable ();
73967725}
73977726
0 commit comments