minor usability updates
This commit is contained in:
+37
-31
@@ -117,13 +117,19 @@ void BeginTranslate()
|
||||
translator_active = true;
|
||||
translator->Clear();
|
||||
|
||||
XMVECTOR centerV = XMVectorSet(0, 0, 0, 0);
|
||||
float count = 0;
|
||||
set<Transform*> uniqueTransforms;
|
||||
for (auto& x : selected)
|
||||
{
|
||||
if (x->transform != nullptr)
|
||||
uniqueTransforms.insert(x->transform);
|
||||
}
|
||||
|
||||
XMVECTOR centerV = XMVectorSet(0, 0, 0, 0);
|
||||
float count = 0;
|
||||
for (auto& x : uniqueTransforms)
|
||||
{
|
||||
if (x != nullptr)
|
||||
{
|
||||
centerV = XMVectorAdd(centerV, XMLoadFloat3(&x->transform->translation));
|
||||
centerV = XMVectorAdd(centerV, XMLoadFloat3(&x->translation));
|
||||
count += 1.0f;
|
||||
}
|
||||
}
|
||||
@@ -695,43 +701,42 @@ void EditorComponent::Update()
|
||||
{
|
||||
wiRenderer::Picked* picked = new wiRenderer::Picked(hovered);
|
||||
|
||||
if (!selected.empty() && wiInputManager::GetInstance()->down(VK_LSHIFT))
|
||||
if (picked->transform != nullptr)
|
||||
{
|
||||
list<wiRenderer::Picked*>::iterator it = selected.begin();
|
||||
for (; it != selected.end(); ++it)
|
||||
if (!selected.empty() && wiInputManager::GetInstance()->down(VK_LSHIFT))
|
||||
{
|
||||
if ((*it) == picked)
|
||||
list<wiRenderer::Picked*>::iterator it = selected.begin();
|
||||
for (; it != selected.end(); ++it)
|
||||
{
|
||||
break;
|
||||
if ((*it) == picked)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (it == selected.end() && picked->transform != nullptr)
|
||||
{
|
||||
selected.push_back(picked);
|
||||
savedParents.insert(pair<Transform*, Transform*>(picked->transform, picked->transform->parent));
|
||||
}
|
||||
else
|
||||
{
|
||||
EndTranslate();
|
||||
selected.erase(it);
|
||||
savedParents.erase((*it)->transform);
|
||||
}
|
||||
}
|
||||
if (it==selected.end() && picked->transform != nullptr)
|
||||
{
|
||||
selected.push_back(picked);
|
||||
savedParents.insert(pair<Transform*, Transform*>(picked->transform, picked->transform->parent));
|
||||
}
|
||||
else
|
||||
{
|
||||
EndTranslate();
|
||||
selected.erase(it);
|
||||
savedParents.erase((*it)->transform);
|
||||
ClearSelected();
|
||||
selected.push_back(picked);
|
||||
if (picked->transform != nullptr)
|
||||
{
|
||||
savedParents.insert(pair<Transform*, Transform*>(picked->transform, picked->transform->parent));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
EndTranslate();
|
||||
ClearSelected();
|
||||
selected.push_back(picked);
|
||||
if (picked->transform != nullptr)
|
||||
{
|
||||
savedParents.insert(pair<Transform*, Transform*>(picked->transform, picked->transform->parent));
|
||||
}
|
||||
}
|
||||
|
||||
objectWnd->SetObject(picked->object);
|
||||
|
||||
if (picked->transform != nullptr)
|
||||
{
|
||||
EndTranslate();
|
||||
|
||||
if (picked->object != nullptr)
|
||||
@@ -766,7 +771,6 @@ void EditorComponent::Update()
|
||||
decalWnd->SetDecal(picked->decal);
|
||||
|
||||
BeginTranslate();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -776,6 +780,8 @@ void EditorComponent::Update()
|
||||
EndTranslate();
|
||||
ClearSelected();
|
||||
}
|
||||
|
||||
objectWnd->SetObject(picked->object);
|
||||
}
|
||||
|
||||
// Delete
|
||||
|
||||
@@ -24,7 +24,7 @@ wiInputManager::wiInputManager()
|
||||
while (true)
|
||||
{
|
||||
Update();
|
||||
Sleep(10);
|
||||
Sleep(1);
|
||||
}
|
||||
|
||||
}).detach();
|
||||
|
||||
@@ -1240,6 +1240,10 @@ Transform* wiRenderer::getTransformByName(const string& get)
|
||||
//}
|
||||
return GetScene().GetWorldNode()->find(get);
|
||||
}
|
||||
Transform* wiRenderer::getTransformByID(unsigned long long id)
|
||||
{
|
||||
return GetScene().GetWorldNode()->find(id);
|
||||
}
|
||||
Armature* wiRenderer::getArmatureByName(const string& get)
|
||||
{
|
||||
for (Model* model : GetScene().models)
|
||||
|
||||
@@ -339,6 +339,7 @@ public:
|
||||
static wiWaterPlane GetWaterPlane();
|
||||
|
||||
static Transform* getTransformByName(const string& name);
|
||||
static Transform* getTransformByID(unsigned long long id);
|
||||
static Armature* getArmatureByName(const string& get);
|
||||
static int getActionByName(Armature* armature, const string& get);
|
||||
static int getBoneByName(Armature* armature, const string& get);
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace wiVersion
|
||||
// minor features, major updates
|
||||
const int minor = 9;
|
||||
// minor bug fixes, alterations, refactors, updates
|
||||
const int revision = 27;
|
||||
const int revision = 28;
|
||||
|
||||
|
||||
long GetVersion()
|
||||
|
||||
Reference in New Issue
Block a user