Merge branch 'main' into hultonha_LYN-2315_camera-phase-2
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
#include <QPushButton>
|
||||
|
||||
// AzCore
|
||||
#include <AzCore/Utils/Utils.h>
|
||||
|
||||
#include <Pak/CryPakUtils.h>
|
||||
|
||||
// Editor
|
||||
@@ -70,12 +72,13 @@ void CAlembicCompileDialog::OnInitDialog()
|
||||
|
||||
SDirectoryEnumeratorHelper dirHelper;
|
||||
|
||||
dirHelper.ScanDirectoryRecursive(gEnv->pCryPak, "@engroot@/", "Editor/Presets/GeomCache", filePattern, presetFiles);
|
||||
auto engineAssetSourceRoot = AZ::IO::FixedMaxPath(AZ::Utils::GetEnginePath()) / "Assets";
|
||||
dirHelper.ScanDirectoryRecursive(gEnv->pCryPak, engineAssetSourceRoot.c_str(), "Editor/Presets/GeomCache", filePattern, presetFiles);
|
||||
|
||||
for (auto iter = presetFiles.begin(); iter != presetFiles.end(); ++iter)
|
||||
{
|
||||
const auto& file = *iter;
|
||||
const AZStd::string filePath = "@engroot@/" + file;
|
||||
const AZ::IO::FixedMaxPath filePath = engineAssetSourceRoot / file;
|
||||
m_presets.push_back(LoadConfig(Path::GetFileName(file.c_str()), XmlHelpers::LoadXmlFromFile(filePath.c_str())));
|
||||
m_ui->m_presetComboBox->addItem(m_presets.back().m_name);
|
||||
}
|
||||
|
||||
@@ -149,7 +149,6 @@ AZ_POP_DISABLE_WARNING
|
||||
#include "LevelFileDialog.h"
|
||||
#include "LevelIndependentFileMan.h"
|
||||
#include "WelcomeScreen/WelcomeScreenDialog.h"
|
||||
#include "Dialogs/DuplicatedObjectsHandlerDlg.h"
|
||||
|
||||
#include "Controls/ReflectedPropertyControl/PropertyCtrl.h"
|
||||
#include "Controls/ReflectedPropertyControl/ReflectedVar.h"
|
||||
@@ -400,9 +399,7 @@ void CCryEditApp::RegisterActionHandlers()
|
||||
ON_COMMAND(ID_OBJECTMODIFY_UNFREEZE, OnObjectmodifyUnfreeze)
|
||||
ON_COMMAND(ID_UNDO, OnUndo)
|
||||
ON_COMMAND(ID_TOOLBAR_WIDGET_REDO, OnUndo) // Can't use the same ID, because for the menu we can't have a QWidgetAction, while for the toolbar we want one
|
||||
ON_COMMAND(ID_SELECTION_SAVE, OnSelectionSave)
|
||||
ON_COMMAND(ID_IMPORT_ASSET, OnOpenAssetImporter)
|
||||
ON_COMMAND(ID_SELECTION_LOAD, OnSelectionLoad)
|
||||
ON_COMMAND(ID_LOCK_SELECTION, OnLockSelection)
|
||||
ON_COMMAND(ID_EDIT_LEVELDATA, OnEditLevelData)
|
||||
ON_COMMAND(ID_FILE_EDITLOGFILE, OnFileEditLogFile)
|
||||
@@ -1157,9 +1154,9 @@ BOOL CCryEditApp::CheckIfAlreadyRunning()
|
||||
m_mutexApplication = new QSharedMemory(O3DEApplicationName);
|
||||
if (!m_mutexApplication->create(16))
|
||||
{
|
||||
// Don't prompt the user in non-interactive export mode. Instead, default to allowing multiple instances to
|
||||
// run simultaneously, so that multiple level exports can be run in parallel on the same machine.
|
||||
// NOTE: If you choose to do this, be sure to export *different* levels, since nothing prevents multiple runs
|
||||
// Don't prompt the user in non-interactive export mode. Instead, default to allowing multiple instances to
|
||||
// run simultaneously, so that multiple level exports can be run in parallel on the same machine.
|
||||
// NOTE: If you choose to do this, be sure to export *different* levels, since nothing prevents multiple runs
|
||||
// from trying to write to the same level at the same time.
|
||||
// If we're running interactively, let's ask and make sure the user actually intended to do this.
|
||||
if (!m_bExportMode && QMessageBox::question(AzToolsFramework::GetActiveWindow(), QObject::tr("Too many apps"), QObject::tr("There is already an Open 3D Engine application running\nDo you want to start another one?")) != QMessageBox::Yes)
|
||||
@@ -1720,7 +1717,7 @@ BOOL CCryEditApp::InitInstance()
|
||||
AzQtComponents::StyleManager::addSearchPaths(
|
||||
QStringLiteral("style"),
|
||||
engineRoot.filePath(QStringLiteral("Code/Sandbox/Editor/Style")),
|
||||
QStringLiteral(":/Editor/Style"),
|
||||
QStringLiteral(":/Assets/Editor/Style"),
|
||||
engineRootPath);
|
||||
AzQtComponents::StyleManager::setStyleSheet(mainWindow, QStringLiteral("style:Editor.qss"));
|
||||
|
||||
@@ -3019,149 +3016,12 @@ void CCryEditApp::OnFileExportOcclusionMesh()
|
||||
pExportManager->Export(levelName.toUtf8().data(), "ocm", levelPath.toUtf8().data(), false, false, true);
|
||||
}
|
||||
|
||||
void CCryEditApp::OnSelectionSave()
|
||||
{
|
||||
char szFilters[] = "Object Group Files (*.grp)";
|
||||
QtUtil::QtMFCScopedHWNDCapture cap;
|
||||
CAutoDirectoryRestoreFileDialog dlg(QFileDialog::AcceptSave, QFileDialog::AnyFile, "grp", {}, szFilters, {}, {}, cap);
|
||||
|
||||
if (dlg.exec())
|
||||
{
|
||||
QWaitCursor wait;
|
||||
CSelectionGroup* sel = GetIEditor()->GetSelection();
|
||||
//CXmlArchive xmlAr( "Objects" );
|
||||
|
||||
|
||||
XmlNodeRef root = XmlHelpers::CreateXmlNode("Objects");
|
||||
CObjectArchive ar(GetIEditor()->GetObjectManager(), root, false);
|
||||
// Save all objects to XML.
|
||||
for (int i = 0; i < sel->GetCount(); i++)
|
||||
{
|
||||
ar.SaveObject(sel->GetObject(i));
|
||||
}
|
||||
QString fileName = dlg.selectedFiles().first();
|
||||
XmlHelpers::SaveXmlNode(GetIEditor()->GetFileUtil(), root, fileName.toStdString().c_str());
|
||||
//xmlAr.Save( dlg.GetPathName() );
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
struct SDuplicatedObject
|
||||
{
|
||||
SDuplicatedObject(const QString& name, const GUID& id)
|
||||
{
|
||||
m_name = name;
|
||||
m_id = id;
|
||||
}
|
||||
QString m_name;
|
||||
GUID m_id;
|
||||
};
|
||||
|
||||
void GatherAllObjects(XmlNodeRef node, std::vector<SDuplicatedObject>& outDuplicatedObjects)
|
||||
{
|
||||
if (!azstricmp(node->getTag(), "Object"))
|
||||
{
|
||||
GUID guid;
|
||||
if (node->getAttr("Id", guid))
|
||||
{
|
||||
if (GetIEditor()->GetObjectManager()->FindObject(guid))
|
||||
{
|
||||
QString name;
|
||||
node->getAttr("Name", name);
|
||||
outDuplicatedObjects.push_back(SDuplicatedObject(name, guid));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0, nChildCount(node->getChildCount()); i < nChildCount; ++i)
|
||||
{
|
||||
XmlNodeRef childNode = node->getChild(i);
|
||||
if (childNode == NULL)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
GatherAllObjects(childNode, outDuplicatedObjects);
|
||||
}
|
||||
}
|
||||
|
||||
void CCryEditApp::OnOpenAssetImporter()
|
||||
{
|
||||
QtViewPaneManager::instance()->OpenPane(LyViewPane::SceneSettings);
|
||||
}
|
||||
|
||||
void CCryEditApp::OnSelectionLoad()
|
||||
{
|
||||
// Load objects from .grp file.
|
||||
QtUtil::QtMFCScopedHWNDCapture cap;
|
||||
CAutoDirectoryRestoreFileDialog dlg(QFileDialog::AcceptOpen, QFileDialog::ExistingFile, "grp", {}, "Object Group Files (*.grp)", {}, {}, cap);
|
||||
if (dlg.exec() != QDialog::Accepted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
QWaitCursor wait;
|
||||
|
||||
XmlNodeRef root = XmlHelpers::LoadXmlFromFile(dlg.selectedFiles().first().toStdString().c_str());
|
||||
if (!root)
|
||||
{
|
||||
QMessageBox::critical(AzToolsFramework::GetActiveWindow(), QString(), QObject::tr("Error at loading group file."));
|
||||
return;
|
||||
}
|
||||
|
||||
std::vector<SDuplicatedObject> duplicatedObjects;
|
||||
GatherAllObjects(root, duplicatedObjects);
|
||||
|
||||
CDuplicatedObjectsHandlerDlg::EResult result(CDuplicatedObjectsHandlerDlg::eResult_None);
|
||||
int nDuplicatedObjectSize(duplicatedObjects.size());
|
||||
|
||||
if (!duplicatedObjects.empty())
|
||||
{
|
||||
QString msg = QObject::tr("The following object(s) already exist(s) in the level.\r\n\r\n");
|
||||
|
||||
for (int i = 0; i < nDuplicatedObjectSize; ++i)
|
||||
{
|
||||
msg += QStringLiteral("\t");
|
||||
msg += duplicatedObjects[i].m_name;
|
||||
if (i < nDuplicatedObjectSize - 1)
|
||||
{
|
||||
msg += QStringLiteral("\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
CDuplicatedObjectsHandlerDlg confirmDlg(msg);
|
||||
if (confirmDlg.exec() == QDialog::Rejected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
result = confirmDlg.GetResult();
|
||||
}
|
||||
|
||||
CUndo undo("Load Objects");
|
||||
GetIEditor()->ClearSelection();
|
||||
|
||||
CObjectArchive ar(GetIEditor()->GetObjectManager(), root, true);
|
||||
|
||||
if (result == CDuplicatedObjectsHandlerDlg::eResult_Override)
|
||||
{
|
||||
for (int i = 0; i < nDuplicatedObjectSize; ++i)
|
||||
{
|
||||
CBaseObject* pObj = GetIEditor()->GetObjectManager()->FindObject(duplicatedObjects[i].m_id);
|
||||
if (pObj)
|
||||
{
|
||||
GetIEditor()->GetObjectManager()->DeleteObject(pObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (result == CDuplicatedObjectsHandlerDlg::eResult_CreateCopies)
|
||||
{
|
||||
ar.MakeNewIds(true);
|
||||
}
|
||||
|
||||
GetIEditor()->GetObjectManager()->LoadObjects(ar, true);
|
||||
GetIEditor()->SetModifiedFlag();
|
||||
GetIEditor()->SetModifiedModule(eModifiedBrushes);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnUpdateSelected(QAction* action)
|
||||
{
|
||||
|
||||
@@ -232,9 +232,7 @@ public:
|
||||
void OnObjectmodifyFreeze();
|
||||
void OnObjectmodifyUnfreeze();
|
||||
void OnUndo();
|
||||
void OnSelectionSave();
|
||||
void OnOpenAssetImporter();
|
||||
void OnSelectionLoad();
|
||||
void OnUpdateSelected(QAction* action);
|
||||
void OnLockSelection();
|
||||
void OnEditLevelData();
|
||||
|
||||
@@ -83,7 +83,7 @@ static const char* kHoldFolder = "$tmp_hold"; // conform to the ignored file typ
|
||||
static const char* kSaveBackupFolder = "_savebackup";
|
||||
static const char* kResizeTempFolder = "$tmp_resize"; // conform to the ignored file types $tmp[0-9]*_ regex
|
||||
|
||||
static const char* kBackupOrTempFolders[] =
|
||||
static const char* kBackupOrTempFolders[] =
|
||||
{
|
||||
kAutoBackupFolder,
|
||||
kHoldFolder,
|
||||
@@ -1164,7 +1164,7 @@ bool CCryEditDoc::OnSaveDocument(const QString& lpszPathName)
|
||||
{
|
||||
DoSaveDocument(lpszPathName, context);
|
||||
saveSuccess = AfterSaveDocument(lpszPathName, context);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return saveSuccess;
|
||||
@@ -1436,7 +1436,7 @@ bool CCryEditDoc::SaveLevel(const QString& filename)
|
||||
// Save AZ entities to the editor level.
|
||||
|
||||
bool contentsAllSaved = false; // abort level save if anything within it fails
|
||||
|
||||
|
||||
auto tempFilenameStrData = tempSaveFile.toStdString();
|
||||
auto filenameStrData = fullPathName.toStdString();
|
||||
|
||||
@@ -1458,7 +1458,7 @@ bool CCryEditDoc::SaveLevel(const QString& filename)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
AZStd::vector<AZ::Entity*> editorEntities;
|
||||
AzToolsFramework::EditorEntityContextRequestBus::Broadcast(
|
||||
&AzToolsFramework::EditorEntityContextRequestBus::Events::GetLooseEditorEntities,
|
||||
@@ -1815,7 +1815,7 @@ bool CCryEditDoc::LoadLevel(TDocMultiArchive& arrXmlAr, const QString& absoluteC
|
||||
AzFramework::ApplicationRequests::Bus::BroadcastResult(isPrefabEnabled, &AzFramework::ApplicationRequests::IsPrefabSystemEnabled);
|
||||
|
||||
auto pIPak = GetIEditor()->GetSystem()->GetIPak();
|
||||
|
||||
|
||||
QString folderPath = QFileInfo(absoluteCryFilePath).absolutePath();
|
||||
|
||||
OnStartLevelResourceList();
|
||||
@@ -2391,7 +2391,8 @@ void CCryEditDoc::InitEmptyLevel(int /*resolution*/, int /*unitSize*/, bool /*bU
|
||||
GetIEditor()->GetGameEngine()->SetLevelCreated(false);
|
||||
|
||||
// Default time of day.
|
||||
XmlNodeRef root = GetISystem()->LoadXmlFromFile("@engroot@/Editor/default_time_of_day.xml");
|
||||
auto defaultTimeOfDayPath = AZ::IO::FixedMaxPath(AZ::Utils::GetEnginePath()) / "Assets" / "Editor" / "default_time_of_day.xml";
|
||||
XmlNodeRef root = GetISystem()->LoadXmlFromFile(defaultTimeOfDayPath.c_str());
|
||||
if (root)
|
||||
{
|
||||
ITimeOfDay* pTimeOfDay = gEnv->p3DEngine ? gEnv->p3DEngine->GetTimeOfDay() : nullptr;
|
||||
@@ -2454,7 +2455,7 @@ void CCryEditDoc::CreateDefaultLevelAssets(int resolution, int unitSize)
|
||||
|
||||
AZ::Transform worldTransform = AZ::Transform::CreateIdentity();
|
||||
worldTransform = AZ::Transform::CreateTranslation(AZ::Vector3(halfTerrainSize, halfTerrainSize, m_envProbeHeight / 2));
|
||||
|
||||
|
||||
AzToolsFramework::SliceEditorEntityOwnershipServiceNotificationBus::Handler::BusConnect();
|
||||
GetIEditor()->SuspendUndo();
|
||||
AzToolsFramework::SliceEditorEntityOwnershipServiceRequestBus::Broadcast(
|
||||
@@ -2613,7 +2614,7 @@ void CCryEditDoc::OnSliceInstantiated(const AZ::Data::AssetId& sliceAssetId, AZ:
|
||||
sliceAddress.SetReference(nullptr);
|
||||
SetModifiedFlag(true);
|
||||
SetModifiedModules(eModifiedEntities);
|
||||
|
||||
|
||||
AzToolsFramework::SliceEditorEntityOwnershipServiceNotificationBus::Handler::BusDisconnect();
|
||||
|
||||
//save after level default slice fully instantiated
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
// Original file Copyright Crytek GMBH or its affiliates, used under license.
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "DuplicatedObjectsHandlerDlg.h"
|
||||
|
||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
#include <Dialogs/ui_DuplicatedObjectsHandlerDlg.h>
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
|
||||
CDuplicatedObjectsHandlerDlg::CDuplicatedObjectsHandlerDlg(const QString& msg, QWidget* pParent)
|
||||
: QDialog(pParent)
|
||||
, m_ui(new Ui::DuplicatedObjectsHandlerDlg)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||
m_ui->textBrowser->setPlainText(msg);
|
||||
|
||||
connect(m_ui->buttonOverride, &QPushButton::clicked, this, &CDuplicatedObjectsHandlerDlg::OnBnClickedOverrideBtn);
|
||||
connect(m_ui->buttonCreateCopies, &QPushButton::clicked, this, &CDuplicatedObjectsHandlerDlg::OnBnClickedCreateCopiesBtn);
|
||||
}
|
||||
|
||||
CDuplicatedObjectsHandlerDlg::~CDuplicatedObjectsHandlerDlg()
|
||||
{
|
||||
}
|
||||
|
||||
void CDuplicatedObjectsHandlerDlg::OnBnClickedOverrideBtn()
|
||||
{
|
||||
m_result = eResult_Override;
|
||||
accept();
|
||||
}
|
||||
|
||||
void CDuplicatedObjectsHandlerDlg::OnBnClickedCreateCopiesBtn()
|
||||
{
|
||||
m_result = eResult_CreateCopies;
|
||||
accept();
|
||||
}
|
||||
|
||||
#include <Dialogs/moc_DuplicatedObjectsHandlerDlg.cpp>
|
||||
@@ -1,57 +0,0 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
// Original file Copyright Crytek GMBH or its affiliates, used under license.
|
||||
|
||||
#ifndef CRYINCLUDE_EDITOR_DIALOGS_DUPLICATEDOBJECTSHANDLERDLG_H
|
||||
#define CRYINCLUDE_EDITOR_DIALOGS_DUPLICATEDOBJECTSHANDLERDLG_H
|
||||
#pragma once
|
||||
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <QDialog>
|
||||
#endif
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class DuplicatedObjectsHandlerDlg;
|
||||
}
|
||||
|
||||
class CDuplicatedObjectsHandlerDlg
|
||||
: public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CDuplicatedObjectsHandlerDlg(const QString& msg, QWidget* pParent = nullptr);
|
||||
virtual ~CDuplicatedObjectsHandlerDlg();
|
||||
|
||||
enum EResult
|
||||
{
|
||||
eResult_None,
|
||||
eResult_Override,
|
||||
eResult_CreateCopies
|
||||
};
|
||||
|
||||
EResult GetResult() const
|
||||
{
|
||||
return m_result;
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
EResult m_result;
|
||||
|
||||
void OnBnClickedOverrideBtn();
|
||||
void OnBnClickedCreateCopiesBtn();
|
||||
|
||||
QScopedPointer<Ui::DuplicatedObjectsHandlerDlg> m_ui;
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_EDITOR_DIALOGS_DUPLICATEDOBJECTSHANDLERDLG_H
|
||||
@@ -1,83 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>DuplicatedObjectsHandlerDlg</class>
|
||||
<widget class="QDialog" name="DuplicatedObjectsHandlerDlg">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>474</width>
|
||||
<height>204</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Duplicated Objects Dialog</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTextBrowser" name="textBrowser">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonOverride">
|
||||
<property name="text">
|
||||
<string>Override</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonCreateCopies">
|
||||
<property name="text">
|
||||
<string>Create Copies</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>pushButton</sender>
|
||||
<signal>clicked()</signal>
|
||||
<receiver>DuplicatedObjectsHandlerDlg</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>258</x>
|
||||
<y>183</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>190</x>
|
||||
<y>184</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
@@ -71,24 +71,8 @@ CPythonScriptsDialog::CPythonScriptsDialog(QWidget* parent)
|
||||
AzQtComponents::LineEdit::applySearchStyle(ui->searchField);
|
||||
|
||||
QStringList scriptFolders;
|
||||
|
||||
const auto editorEnvStr = gSettings.strEditorEnv.toLocal8Bit();
|
||||
AZStd::string editorScriptsPath = AZStd::string::format("@engroot@/%s", editorEnvStr.constData());
|
||||
XmlNodeRef envNode = XmlHelpers::LoadXmlFromFile(editorScriptsPath.c_str());
|
||||
if (envNode)
|
||||
{
|
||||
QString scriptPath;
|
||||
int childrenCount = envNode->getChildCount();
|
||||
for (int idx = 0; idx < childrenCount; ++idx)
|
||||
{
|
||||
XmlNodeRef child = envNode->getChild(idx);
|
||||
if (child->haveAttr("scriptPath"))
|
||||
{
|
||||
scriptPath = child->getAttr("scriptPath");
|
||||
scriptFolders.push_back(scriptPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
auto engineScriptPath = AZ::IO::FixedMaxPath(AZ::Utils::GetEnginePath()) / "Assets" / "Editor" / "Scripts";
|
||||
scriptFolders.push_back(engineScriptPath.c_str());
|
||||
|
||||
AZ::IO::FixedMaxPathString projectPath = AZ::Utils::GetProjectPath();
|
||||
ScanFolderForScripts(QString("%1/Editor/Scripts").arg(projectPath.c_str()), scriptFolders);
|
||||
|
||||
@@ -1,218 +0,0 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "NewEntityDialog.h"
|
||||
|
||||
// Qt
|
||||
#include <QPushButton>
|
||||
#include <QToolTip>
|
||||
#include <QMessageBox>
|
||||
|
||||
// Editor
|
||||
#include "Dialogs/QT/ui_NewEntityDialog.h"
|
||||
|
||||
|
||||
NewEntityDialog::NewEntityDialog(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
, ui(new Ui::NewEntityDialog)
|
||||
{
|
||||
entityNameValidator = new EntityNameValidator(this);
|
||||
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->entityName->setFocus();
|
||||
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
|
||||
connect(ui->entityName, SIGNAL(textChanged(QString)), this, SLOT(ValidateInput()));
|
||||
connect(ui->categoryName, SIGNAL(textChanged(QString)), this, SLOT(ValidateInput()));
|
||||
|
||||
SetCategoryCompleterPath((Path::GetEditingGameDataFolder() + "/Scripts/Entities").c_str());
|
||||
SetNameValidatorPath((Path::GetEditingGameDataFolder() + "/Entities").c_str());
|
||||
}
|
||||
|
||||
NewEntityDialog::~NewEntityDialog()
|
||||
{
|
||||
SAFE_DELETE(entityNameValidator);
|
||||
SAFE_DELETE(folderNameCompleter);
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void NewEntityDialog::SetCategoryCompleterPath(CryStringT<char> path)
|
||||
{
|
||||
SAFE_DELETE(folderNameCompleter);
|
||||
|
||||
QDirIterator directoryIt(QString::fromLocal8Bit(path.c_str(), path.length()), QDir::NoDotAndDotDot | QDir::AllDirs, QDirIterator::Subdirectories);
|
||||
baseDir = directoryIt.path() + "/";
|
||||
|
||||
QStringList dirs;
|
||||
while (directoryIt.hasNext())
|
||||
{
|
||||
QString dir = directoryIt.next().remove(baseDir);
|
||||
dirs.append(dir);
|
||||
}
|
||||
|
||||
folderNameCompleter = new QCompleter(dirs);
|
||||
folderNameCompleter->setCompletionMode(QCompleter::UnfilteredPopupCompletion);
|
||||
folderNameCompleter->setCaseSensitivity(Qt::CaseInsensitive);
|
||||
ui->categoryName->setCompleter(folderNameCompleter);
|
||||
}
|
||||
|
||||
void NewEntityDialog::SetNameValidatorPath(CryStringT<char> path)
|
||||
{
|
||||
QDir dir(QString::fromLocal8Bit(path.c_str(), path.length()));
|
||||
nameBaseDir = dir.path() + "/";
|
||||
}
|
||||
|
||||
void NewEntityDialog::ValidateInput()
|
||||
{
|
||||
int cursorPos = ui->entityName->cursorPosition();
|
||||
QString text = ui->entityName->text();
|
||||
bool validText = entityNameValidator->validate(text, cursorPos);
|
||||
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(validText);
|
||||
}
|
||||
|
||||
void NewEntityDialog::accept()
|
||||
{
|
||||
if (ui->categoryName->text().isEmpty()
|
||||
&& QMessageBox::question(this, "Are you sure?", "Create entity without category?", QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes)
|
||||
{
|
||||
return;
|
||||
}
|
||||
const char* devRoot = gEnv->pFileIO->GetAlias("@engroot@");
|
||||
QString devRootPath(devRoot);
|
||||
QFile entTemplateFile(devRootPath + "/Editor/NewEntityTemplate.ent_template");
|
||||
QFile luaTemplateFile(devRootPath + "/Editor/NewEntityTemplate.lua_template");
|
||||
QFile entDestFile(nameBaseDir + ui->entityName->text() + ".ent");
|
||||
QFile luaDestFile(baseDir + ui->categoryName->text() + "/" + ui->entityName->text() + ".lua");
|
||||
|
||||
if (!entTemplateFile.exists() || !luaTemplateFile.exists())
|
||||
{
|
||||
QMessageBox::critical(this, tr("Missing Template Files"), tr("In order to create default entities the NewEntityTemplate.lua and NewEntityTemplate.ent template files must exist in the Templates folder!"));
|
||||
return;
|
||||
}
|
||||
|
||||
//generate the .ent file
|
||||
QDir pathMaker(nameBaseDir);
|
||||
pathMaker.mkpath(pathMaker.path());
|
||||
QString entFileString;
|
||||
if (!entTemplateFile.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
{
|
||||
AZ_Warning("Editor", false, "Enable to open template file for ent : %s", entTemplateFile.fileName().toUtf8().constData());
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
entFileString = entTemplateFile.readAll();
|
||||
entTemplateFile.close();
|
||||
}
|
||||
|
||||
entFileString.replace(QString("[CATEGORY_NAME]"), ui->categoryName->text());
|
||||
entFileString.replace(QString("[ENTITY_NAME]"), ui->entityName->text());
|
||||
if (!entDestFile.open(QIODevice::WriteOnly | QIODevice::Text))
|
||||
{
|
||||
AZ_Warning("Editor", false, "Enable to open destination file for ent : %s", entDestFile.fileName().toUtf8().constData());
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
entDestFile.write(entFileString.toUtf8());
|
||||
entDestFile.close();
|
||||
}
|
||||
|
||||
//generate the .lua file
|
||||
pathMaker.setPath(baseDir);
|
||||
pathMaker.mkpath(ui->categoryName->text() + "/");
|
||||
|
||||
QString luaFileString;
|
||||
if (!luaTemplateFile.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
{
|
||||
AZ_Warning("Editor", false, "Enable to open template file for lua : %s", luaTemplateFile.fileName().toUtf8().constData());
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
luaFileString = luaTemplateFile.readAll();
|
||||
luaTemplateFile.close();
|
||||
}
|
||||
|
||||
luaFileString.replace(QString("[ENTITY_NAME]"), ui->entityName->text());
|
||||
if (!luaDestFile.open(QIODevice::WriteOnly | QIODevice::Text))
|
||||
{
|
||||
AZ_Warning("Editor", false, "Enable to open destination file for lua : %s", luaDestFile.fileName().toUtf8().constData());
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
luaDestFile.write(luaFileString.toUtf8());
|
||||
luaDestFile.close();
|
||||
}
|
||||
|
||||
|
||||
if (ui->openLuaCB->isChecked())
|
||||
{
|
||||
CFileUtil::EditTextFile(luaDestFile.fileName().toLocal8Bit().data());
|
||||
}
|
||||
|
||||
QDialog::accept();
|
||||
}
|
||||
|
||||
QValidator::State NewEntityDialog::EntityNameValidator::validate(QString& input, [[maybe_unused]] int& pos) const
|
||||
{
|
||||
if (!m_Parent)
|
||||
{
|
||||
return Invalid;
|
||||
}
|
||||
|
||||
if (input.isEmpty())
|
||||
{
|
||||
return Invalid;
|
||||
}
|
||||
|
||||
if (input.contains("/"))
|
||||
{
|
||||
return Invalid;
|
||||
}
|
||||
|
||||
QString fileBaseName = m_Parent->ui->entityName->text();
|
||||
|
||||
// Characters
|
||||
const char* notAllowedChars = ",^@=+{}[]~!?:&*\"|#%<>$\"'();`' ";
|
||||
for (const char* c = notAllowedChars; *c; c++)
|
||||
{
|
||||
if (fileBaseName.contains(QLatin1Char(*c)))
|
||||
{
|
||||
const QChar qc = QLatin1Char(*c);
|
||||
if (qc.isSpace())
|
||||
{
|
||||
QToolTip::showText(m_Parent->ui->entityName->mapToGlobal(QPoint()), tr("Name may not contain white space."), m_Parent->ui->entityName, m_Parent->ui->entityName->rect(), 2000);
|
||||
}
|
||||
else
|
||||
{
|
||||
QToolTip::showText(m_Parent->ui->entityName->mapToGlobal(QPoint()), tr("Invalid character \"%1\".").arg(qc), m_Parent->ui->entityName, m_Parent->ui->entityName->rect(), 2000);
|
||||
}
|
||||
return Invalid;
|
||||
}
|
||||
}
|
||||
|
||||
QString filename(m_Parent->nameBaseDir + m_Parent->ui->entityName->text() + ".ent");
|
||||
QFile newFile(filename);
|
||||
|
||||
if (newFile.exists())
|
||||
{
|
||||
QToolTip::showText(m_Parent->ui->entityName->mapToGlobal(QPoint()), tr("Filename already exists!"), m_Parent->ui->entityName, m_Parent->ui->entityName->rect(), 2000);
|
||||
return Invalid;
|
||||
}
|
||||
|
||||
return Acceptable;
|
||||
}
|
||||
|
||||
#include <Dialogs/QT/moc_NewEntityDialog.cpp>
|
||||
@@ -1,69 +0,0 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
#ifndef NEWENTITYDIALOG_H
|
||||
#define NEWENTITYDIALOG_H
|
||||
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <QDialog>
|
||||
#include <QCompleter>
|
||||
#include <QDirIterator>
|
||||
#include <QStringListModel>
|
||||
#include <QValidator>
|
||||
#include <QEvent>
|
||||
#include <QLineEdit>
|
||||
#endif
|
||||
|
||||
namespace Ui {
|
||||
class NewEntityDialog;
|
||||
}
|
||||
|
||||
class NewEntityDialog
|
||||
: public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit NewEntityDialog(QWidget* parent = 0);
|
||||
~NewEntityDialog();
|
||||
|
||||
private:
|
||||
Ui::NewEntityDialog* ui;
|
||||
QString baseDir = "";
|
||||
QString nameBaseDir = "";
|
||||
QCompleter* folderNameCompleter = NULL;
|
||||
|
||||
void SetCategoryCompleterPath(CryStringT<char> path);
|
||||
void SetNameValidatorPath(CryStringT<char> path);
|
||||
|
||||
virtual void accept();
|
||||
|
||||
class EntityNameValidator
|
||||
: public QValidator
|
||||
{
|
||||
public:
|
||||
explicit EntityNameValidator(NewEntityDialog* parent = 0)
|
||||
: QValidator(parent)
|
||||
, m_Parent(parent)
|
||||
{
|
||||
}
|
||||
virtual State validate(QString& input, int& pos) const;
|
||||
|
||||
NewEntityDialog* m_Parent;
|
||||
};
|
||||
|
||||
EntityNameValidator* entityNameValidator;
|
||||
|
||||
public slots:
|
||||
void ValidateInput();
|
||||
};
|
||||
|
||||
#endif // NEWENTITYDIALOG_H
|
||||
@@ -1,161 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>NewEntityDialog</class>
|
||||
<widget class="QDialog" name="NewEntityDialog">
|
||||
<property name="windowModality">
|
||||
<enum>Qt::WindowModal</enum>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>111</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::PreventContextMenu</enum>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>New Entity</string>
|
||||
</property>
|
||||
<property name="sizeGripEnabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="modal">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>70</y>
|
||||
<width>341</width>
|
||||
<height>32</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="entityName">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>10</y>
|
||||
<width>281</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>71</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Entity Name:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>entityName</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>40</y>
|
||||
<width>91</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Entity Category:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>categoryName</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="categoryName">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>40</y>
|
||||
<width>281</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="openLuaCB">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>80</y>
|
||||
<width>141</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Open Lua After Creating</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>entityName</tabstop>
|
||||
<tabstop>categoryName</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>NewEntityDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>248</x>
|
||||
<y>254</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>157</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>NewEntityDialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>316</x>
|
||||
<y>260</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
#include "EditorPanelUtils.h"
|
||||
|
||||
#include <AzCore/Utils/Utils.h>
|
||||
|
||||
// Qt
|
||||
#include <QInputDialog>
|
||||
#include <QFileDialog>
|
||||
@@ -147,7 +149,8 @@ public:
|
||||
|
||||
virtual void HotKey_Export() override
|
||||
{
|
||||
QString filepath = QFileDialog::getSaveFileName(nullptr, "Select shortcut configuration to load", "Editor/Plugins/ParticleEditorPlugin/settings", "HotKey Config Files (*.hkxml)");
|
||||
auto settingDir = AZ::IO::FixedMaxPath(AZ::Utils::GetEnginePath()) / "Editor" / "Plugins" / "ParticleEditorPlugin" / "settings";
|
||||
QString filepath = QFileDialog::getSaveFileName(nullptr, "Select shortcut configuration to load", settingDir.c_str(), "HotKey Config Files (*.hkxml)");
|
||||
QFile file(filepath);
|
||||
if (!file.open(QIODevice::WriteOnly))
|
||||
{
|
||||
|
||||
@@ -230,9 +230,6 @@ EditorViewportWidget::~EditorViewportWidget()
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
int EditorViewportWidget::OnCreate()
|
||||
{
|
||||
m_renderer = GetIEditor()->GetRenderer();
|
||||
m_engine = GetIEditor()->Get3DEngine();
|
||||
|
||||
CreateRenderContext();
|
||||
|
||||
return 0;
|
||||
@@ -426,7 +423,7 @@ void EditorViewportWidget::Update()
|
||||
return;
|
||||
}
|
||||
|
||||
if (!m_engine || m_rcClient.isEmpty() || GetIEditor()->IsInMatEditMode())
|
||||
if (m_rcClient.isEmpty() || GetIEditor()->IsInMatEditMode())
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -796,10 +793,6 @@ void EditorViewportWidget::OnRender()
|
||||
{
|
||||
GetIEditor()->GetRenderer()->SetCamera(gEnv->pSystem->GetViewCamera());
|
||||
}
|
||||
if (m_engine)
|
||||
{
|
||||
m_engine->RenderWorld(0, SRenderingPassInfo::CreateGeneralPassRenderingInfo(m_Camera), __FUNCTION__);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1814,11 +1807,6 @@ void EditorViewportWidget::SetViewTM(const Matrix34& viewTM, bool bMoveOnly)
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void EditorViewportWidget::RenderSelectedRegion()
|
||||
{
|
||||
if (!m_engine)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
AABB box;
|
||||
GetIEditor()->GetSelectedRegion(box);
|
||||
if (box.IsEmpty())
|
||||
|
||||
@@ -395,9 +395,6 @@ protected:
|
||||
};
|
||||
void ResetToViewSourceType(const ViewSourceType& viewSourType);
|
||||
|
||||
//! Assigned renderer.
|
||||
IRenderer* m_renderer = nullptr;
|
||||
I3DEngine* m_engine = nullptr;
|
||||
bool m_bRenderContextCreated = false;
|
||||
bool m_bInRotateMode = false;
|
||||
bool m_bInMoveMode = false;
|
||||
|
||||
@@ -27,27 +27,27 @@
|
||||
#include "Util/ImageUtil.h"
|
||||
|
||||
|
||||
#define HELPER_MATERIAL "Editor/Objects/Helper"
|
||||
#define HELPER_MATERIAL "Objects/Helper"
|
||||
|
||||
namespace
|
||||
{
|
||||
// Object names in this array must correspond to EObject enumeration.
|
||||
const char* g_ObjectNames[eStatObject_COUNT] =
|
||||
{
|
||||
"Editor/Objects/Arrow.cgf",
|
||||
"Editor/Objects/Axis.cgf",
|
||||
"Editor/Objects/Sphere.cgf",
|
||||
"Editor/Objects/Anchor.cgf",
|
||||
"Editor/Objects/entrypoint.cgf",
|
||||
"Editor/Objects/hidepoint.cgf",
|
||||
"Editor/Objects/hidepoint_sec.cgf",
|
||||
"Editor/Objects/reinforcement_point.cgf",
|
||||
"Objects/Arrow.cgf",
|
||||
"Objects/Axis.cgf",
|
||||
"Objects/Sphere.cgf",
|
||||
"Objects/Anchor.cgf",
|
||||
"Objects/entrypoint.cgf",
|
||||
"Objects/hidepoint.cgf",
|
||||
"Objects/hidepoint_sec.cgf",
|
||||
"Objects/reinforcement_point.cgf",
|
||||
};
|
||||
|
||||
const char* g_IconNames[eIcon_COUNT] =
|
||||
{
|
||||
"Editor/Icons/ScaleWarning.png",
|
||||
"Editor/Icons/RotationWarning.png",
|
||||
"Icons/ScaleWarning.png",
|
||||
"Icons/RotationWarning.png",
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
// ...
|
||||
// return previousValue;
|
||||
// }
|
||||
// REGISTER_RESOURCE_SELECTOR("Sound", SoundFileSelector, "Editor/icons/sound_16x16.png")
|
||||
// REGISTER_RESOURCE_SELECTOR("Sound", SoundFileSelector, "Icons/sound_16x16.png")
|
||||
//
|
||||
// To expose it to serialization:
|
||||
//
|
||||
|
||||
@@ -228,7 +228,7 @@ AzToolsFramework::AssetBrowser::SourceFileDetails CLensFlareManager::GetSourceFi
|
||||
{
|
||||
if (IsLensFlareLibraryXML(fullSourceFileName))
|
||||
{
|
||||
return AzToolsFramework::AssetBrowser::SourceFileDetails("Editor/Icons/AssetBrowser/LensFlare_16.png");
|
||||
return AzToolsFramework::AssetBrowser::SourceFileDetails("Icons/AssetBrowser/LensFlare_16.png");
|
||||
}
|
||||
return AzToolsFramework::AssetBrowser::SourceFileDetails();
|
||||
}
|
||||
|
||||
@@ -96,25 +96,25 @@ void CMatEditPreviewDlg::SetupMenuBar()
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CMatEditPreviewDlg::OnPreviewSphere()
|
||||
{
|
||||
m_previewCtrl->LoadModelFile("Editor/Objects/MtlSphere.cgf");
|
||||
m_previewCtrl->LoadModelFile("Objects/MtlSphere.cgf");
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CMatEditPreviewDlg::OnPreviewBox()
|
||||
{
|
||||
m_previewCtrl->LoadModelFile("Editor/Objects/MtlBox.cgf");
|
||||
m_previewCtrl->LoadModelFile("Objects/MtlBox.cgf");
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CMatEditPreviewDlg::OnPreviewTeapot()
|
||||
{
|
||||
m_previewCtrl->LoadModelFile("Editor/Objects/MtlTeapot.cgf");
|
||||
m_previewCtrl->LoadModelFile("Objects/MtlTeapot.cgf");
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CMatEditPreviewDlg::OnPreviewPlane()
|
||||
{
|
||||
m_previewCtrl->LoadModelFile("Editor/Objects/MtlPlane.cgf");
|
||||
m_previewCtrl->LoadModelFile("Objects/MtlPlane.cgf");
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -25,26 +25,26 @@
|
||||
#include "MaterialBrowser.h"
|
||||
#include "Util/Image.h"
|
||||
|
||||
#define ME_BG_TEXTURE "Editor/Materials/Stripes.dds"
|
||||
#define ME_BG_TEXTURE "Materials/Stripes.dds"
|
||||
|
||||
|
||||
#define MATERIAL_EDITOR_SPHERE_MODEL_FILE "Editor/Objects/MtlSphere.cgf"
|
||||
#define MATERIAL_EDITOR_SPHERE_MODEL_FILE "Objects/MtlSphere.cgf"
|
||||
#define MATERIAL_EDITOR_SPHERE_CAMERA_RADIUS 1.6f
|
||||
#define MATERIAL_EDITOR_SPHERE_CAMERA_FROM_DIRECTION Vec3(0.1f, -1.0f, -0.1f)
|
||||
|
||||
#define MATERIAL_EDITOR_BOX_MODEL_FILE "Editor/Objects/MtlBox.cgf"
|
||||
#define MATERIAL_EDITOR_BOX_MODEL_FILE "Objects/MtlBox.cgf"
|
||||
#define MATERIAL_EDITOR_BOX_CAMERA_RADIUS 2.0f
|
||||
#define MATERIAL_EDITOR_BOX_CAMERA_FROM_DIRECTION Vec3(0.75f, -0.75f, -0.5f)
|
||||
|
||||
#define MATERIAL_EDITOR_TEAPOT_MODEL_FILE "Editor/Objects/MtlTeapot.cgf"
|
||||
#define MATERIAL_EDITOR_TEAPOT_MODEL_FILE "Objects/MtlTeapot.cgf"
|
||||
#define MATERIAL_EDITOR_TEAPOT_CAMERA_RADIUS 1.6f
|
||||
#define MATERIAL_EDITOR_TEAPOT_CAMERA_FROM_DIRECTION Vec3(0.1f, -0.75f, -0.25f)
|
||||
|
||||
#define MATERIAL_EDITOR_PLANE_MODEL_FILE "Editor/Objects/MtlPlane.cgf"
|
||||
#define MATERIAL_EDITOR_PLANE_MODEL_FILE "Objects/MtlPlane.cgf"
|
||||
#define MATERIAL_EDITOR_PLANE_CAMERA_RADIUS 1.6f
|
||||
#define MATERIAL_EDITOR_PLANE_CAMERA_FROM_DIRECTION Vec3(-0.5f, 0.5f, -0.5f)
|
||||
|
||||
#define MATERIAL_EDITOR_SWATCH_MODEL_FILE "Editor/Objects/MtlSwatch.cgf"
|
||||
#define MATERIAL_EDITOR_SWATCH_MODEL_FILE "Objects/MtlSwatch.cgf"
|
||||
#define MATERIAL_EDITOR_SWATCH_CAMERA_RADIUS 1.0f
|
||||
#define MATERIAL_EDITOR_SWATCH_CAMERA_FROM_DIRECTION Vec3(0.0f, 0.0f, -1.0f)
|
||||
|
||||
|
||||
@@ -298,7 +298,7 @@ namespace
|
||||
AZ::IO::FixedMaxPathString engineRoot = AZ::Utils::GetEnginePath();
|
||||
QDir engineDir = !engineRoot.empty() ? QDir(QString(engineRoot.c_str())) : QDir::current();
|
||||
|
||||
QString scriptFolder = engineDir.absoluteFilePath("Editor/Scripts/");
|
||||
QString scriptFolder = engineDir.absoluteFilePath("Assets/Editor/Scripts/");
|
||||
Path::ConvertBackSlashToSlash(scriptFolder);
|
||||
path = scriptFolder + pFile;
|
||||
|
||||
@@ -524,7 +524,7 @@ namespace
|
||||
// for example: Hello
|
||||
return AZStd::make_any<AZStd::string>(stringValue.toUtf8().data());
|
||||
}
|
||||
else // then it looks like an integer
|
||||
else // then it looks like an integer
|
||||
{
|
||||
// for example: 456
|
||||
return AZStd::make_any<AZ::s64>(stringValue.toInt());
|
||||
|
||||
@@ -149,8 +149,6 @@
|
||||
#define ID_OBJECTMODIFY_UNFREEZE 33518
|
||||
#define ID_UNDO 33524
|
||||
#define ID_EDIT_CLONE 33525
|
||||
#define ID_SELECTION_SAVE 33527
|
||||
#define ID_SELECTION_LOAD 33529
|
||||
#define ID_GOTO_SELECTED 33535
|
||||
#define ID_EDIT_LEVELDATA 33542
|
||||
#define ID_FILE_EDITEDITORINI 33543
|
||||
|
||||
@@ -196,7 +196,6 @@ SEditorSettings::SEditorSettings()
|
||||
enableSceneInspector = false;
|
||||
|
||||
strStandardTempDirectory = "Temp";
|
||||
strEditorEnv = "Editor/Editor.env";
|
||||
|
||||
// Init source safe params.
|
||||
enableSourceControl = true;
|
||||
@@ -532,7 +531,6 @@ void SEditorSettings::Save()
|
||||
SaveValue("Settings", "editorConfigSpec", editorConfigSpec);
|
||||
|
||||
SaveValue("Settings", "TemporaryDirectory", strStandardTempDirectory);
|
||||
SaveValue("Settings", "EditorEnv", strEditorEnv);
|
||||
|
||||
SaveValue("Settings", "ConsoleBackgroundColorThemeV2", (int)consoleBackgroundColorTheme);
|
||||
|
||||
@@ -747,7 +745,6 @@ void SEditorSettings::Load()
|
||||
|
||||
|
||||
LoadValue("Settings", "TemporaryDirectory", strStandardTempDirectory);
|
||||
LoadValue("Settings", "EditorEnv", strEditorEnv);
|
||||
|
||||
int consoleBackgroundColorThemeInt = (int)consoleBackgroundColorTheme;
|
||||
LoadValue("Settings", "ConsoleBackgroundColorThemeV2", consoleBackgroundColorThemeInt);
|
||||
@@ -760,7 +757,7 @@ void SEditorSettings::Load()
|
||||
LoadValue("Settings", "ShowTimeInConsole", bShowTimeInConsole);
|
||||
|
||||
LoadValue("Settings", "EnableSceneInspector", enableSceneInspector);
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Viewport Settings.
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -419,7 +419,6 @@ AZ_POP_DISABLE_DLL_EXPORT_BASECLASS_WARNING
|
||||
|
||||
// This directory is related to the editor root.
|
||||
QString strStandardTempDirectory;
|
||||
QString strEditorEnv;
|
||||
|
||||
SGUI_Settings gui;
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "QtViewPaneManager.h"
|
||||
|
||||
|
||||
#define TOOLBOX_FILE "Editor/ToolBox.xml"
|
||||
#define TOOLBOX_FILE "ToolBox.xml"
|
||||
#define TOOLBOX_NODE "ToolBox"
|
||||
|
||||
CSettingsManager::CSettingsManager(EditorSettingsManagerType managerType)
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
|
||||
class QByteArray;
|
||||
|
||||
#define EDITOR_LAYOUT_FILE_PATH "@engroot@/Editor/EditorLayout.xml"
|
||||
#define EDITOR_SETTINGS_FILE_PATH "@engroot@/Editor/EditorSettings.xml"
|
||||
#define EDITOR_LAYOUT_FILE_PATH "@user@/Editor/EditorLayout.xml"
|
||||
#define EDITOR_SETTINGS_FILE_PATH "@user@/Editor/EditorSettings.xml"
|
||||
#define EDITOR_LAYOUT_ROOT_NODE "EditorLayout"
|
||||
#define EDITOR_SETTINGS_ROOT_NODE "EditorSettings"
|
||||
#define EDITOR_SETTINGS_CONTENT_NODE "EditorSettingsContent"
|
||||
@@ -30,7 +30,7 @@ class QByteArray;
|
||||
#define CVARS_NODE "CVars"
|
||||
#define CVAR_NODE "CVar"
|
||||
|
||||
#define EDITOR_EVENT_LOG_FILE_PATH "@engroot@/Editor/EditorEventLog.xml"
|
||||
#define EDITOR_EVENT_LOG_FILE_PATH "@user@/Editor/EditorEventLog.xml"
|
||||
#define EDITOR_EVENT_LOG_ROOT_NODE "EventRecorder"
|
||||
#define EVENT_LOG_EVENT_NAME "eventName"
|
||||
#define EDITOR_EVENT_LOG_ATTRIB_NAME "value"
|
||||
|
||||
@@ -71,7 +71,7 @@ int CShaderEnum::EnumShaders()
|
||||
m_shaders.push_back(sd);
|
||||
}
|
||||
|
||||
XmlNodeRef root = GetISystem()->GetXmlUtils()->LoadXmlFromFile("Editor/Materials/ShaderList.xml");
|
||||
XmlNodeRef root = GetISystem()->GetXmlUtils()->LoadXmlFromFile("Materials/ShaderList.xml");
|
||||
if (root)
|
||||
{
|
||||
for (int i = 0; i < root->getChildCount(); ++i)
|
||||
|
||||
@@ -1,488 +0,0 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#ResourceManagement QLabel
|
||||
{
|
||||
/*
|
||||
This sets the indent Q_PROPERTY on QLabel to 0. The default value is -1,
|
||||
which triggers some computation based on the font size. But that only
|
||||
happens under some cicumstances, such as when using a stylesheet to set
|
||||
margins or padding on the QLabel. Adding such styling suddenly causes
|
||||
the indent to be applied, causing the left alignment of the text to break.
|
||||
*/
|
||||
qproperty-indent: 0
|
||||
}
|
||||
|
||||
#ResourceManagement #TreeTitle
|
||||
{
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#ResourceManagement #ButtonBar {
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
#ResourceManagement #ButtonBar QPushButton {
|
||||
padding: 6px 9px 6px 9px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
#ResourceManagement #Message, #ResourceManagement *[class='Message'] {
|
||||
font-size: 12px;
|
||||
margin-top: 6;
|
||||
}
|
||||
|
||||
#ResourceManagement #Title {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#ResourceManagement #Refreshing {
|
||||
color: #F0C32D;
|
||||
}
|
||||
|
||||
#ResourceManagement #LinkButton, #ResourceManagement *[class='Link'] {
|
||||
border: none;
|
||||
color: #00A1C9;
|
||||
margin-top: 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#ResourceManagement QHeaderView::section {
|
||||
color: #999999;
|
||||
font-weight: bold;
|
||||
border: none;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 3px;
|
||||
padding-right: 3px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
#ResourceManagement #Table {
|
||||
qproperty-showGrid: false;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#ResourceManagement #Table::item {
|
||||
padding-right: 12px;
|
||||
padding-top: 3px;
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
#ResourceManagement #TextContentHelp
|
||||
{
|
||||
margin: 0px;
|
||||
padding: 12px;
|
||||
border-style: outset;
|
||||
border-width: 1px;
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
#ResourceManagement #TextContentEdit
|
||||
{
|
||||
}
|
||||
|
||||
#ResourceManagement #TextContentFooter
|
||||
{
|
||||
padding: 6px 12px 6px 12px;
|
||||
border-style: outset;
|
||||
border-width: 1px;
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
#ResourceManagement #TextContentFooter QLabel
|
||||
{
|
||||
min-width: 48px;
|
||||
max-width: 48px;
|
||||
margin-right: 12px;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
#ResourceManagement #TextContentFooter QPushButton
|
||||
{
|
||||
padding: 6px 9px 6px 9px;
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
|
||||
#ResourceManagement #Action {
|
||||
padding: 12px;
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Action #ButtonBar {
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Action #Heading {
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Heading #RefreshButton {
|
||||
margin-left: 12px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
#ResourceManagement #Action #Heading #Title {
|
||||
border: 0px solid #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Action #Heading #Message {
|
||||
border: 0px solid #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Action #LearnMore {
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Action #LearnMore #Title {
|
||||
font-size: 12px;
|
||||
margin-top: 24px;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
#ResourceManagement #Action #LearnMore #LinkButton {
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Action #Title, #ResourceManagement #Action #Message {
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Top {
|
||||
padding: 12px;
|
||||
border-style: outset;
|
||||
border-width: 1px;
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
#ResourceManagement #Bottom {
|
||||
background-color: #404040;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #Bottom #Title {
|
||||
background-color: #404040;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#ResourceManagement #Bottom #Message {
|
||||
background-color: #404040;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
#ResourceManagement #Bottom #Table {
|
||||
background-color: #404040;
|
||||
qproperty-alternatingRowColors: true;
|
||||
}
|
||||
|
||||
#ResourceManagement #Bottom #Table QHeaderView {
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Bottom #Table QHeaderView::section {
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Bottom #Table::item {
|
||||
background-color: #393a3c;
|
||||
}
|
||||
|
||||
#ResourceManagement #Bottom #Table::item:alternate {
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
#ResourceManagement #Bottom #Resources {
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Bottom #Refreshing {
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Stack #Heading #Message
|
||||
{
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#ResourceManagement #Stack #Status #Title
|
||||
{
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
margin-top: 6px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents #TitleBar {
|
||||
color: #CCCCCC;
|
||||
background-color: #393a3c;
|
||||
border-style: outset;
|
||||
border-width: 1px;
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents #TitleBar * {
|
||||
font-size:12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents #TitleBar #Title {
|
||||
font-weight:bold;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents #TitleBar #InProgress #Text {
|
||||
color: #F0C32D;
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents #TitleBar #Succeeded {
|
||||
color: #43d96a;
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents #TitleBar #Failed {
|
||||
color: #f44642;
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents #Content {
|
||||
border-style: inset;
|
||||
border-width: 1px;
|
||||
border-color: #303030;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents #Table {
|
||||
qproperty-alternatingRowColors: true;
|
||||
qproperty-showGrid: false;
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents QTableView::item {
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents QTableView::item:focus {
|
||||
selection-color: #FFFFFF;
|
||||
selection-background-color: rgba(255, 153, 0, 128);
|
||||
}
|
||||
|
||||
#ResourceManagement #StackEvents QTableView::item:alternate {
|
||||
background-color: #393a3c;
|
||||
}
|
||||
|
||||
#ResourceManagement #CreateDeployment #LearnMore
|
||||
{
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #CreateDeployment #WarningMessage
|
||||
{
|
||||
margin-top: 12px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #LoadingError, #ResourceManagement #LoadingError #Title, #ResourceManagement #LoadingError #Message, #ResourceManagement #LoadingError #ErrorText
|
||||
{
|
||||
background: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #LoadingError #ErrorText
|
||||
{
|
||||
padding: 12px;
|
||||
color: #f44642;
|
||||
}
|
||||
|
||||
#ResourceManagement #Loading, #ResourceManagement #Loading #Title, #ResourceManagement #Loading #Message
|
||||
{
|
||||
background: #404040;
|
||||
}
|
||||
|
||||
#ResourceManagement #Loading, #ResourceManagement #LoadingError
|
||||
{
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #MainToolbar
|
||||
{
|
||||
padding: 6px;
|
||||
border-style: inset;
|
||||
border-width: 1px;
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
#ResourceManagement #MainToolbar QPushButton
|
||||
{
|
||||
border: none;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#ResourceManagement #MainToolbar #AddNewButton
|
||||
{
|
||||
margin-left: 12px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #ResourceImporter #RegionBox:disabled
|
||||
{
|
||||
color: #555555;
|
||||
}
|
||||
|
||||
#ResourceManagement #ResourceImporter #ListTable
|
||||
{
|
||||
qproperty-alternatingRowColors: true;
|
||||
qproperty-showGrid: false;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#ResourceManagement #ResourceImporter #ListTable::item
|
||||
{
|
||||
padding-right: 12px;
|
||||
padding-top: 3px;
|
||||
padding-bottom: 3px;
|
||||
background-color: #333436;
|
||||
}
|
||||
|
||||
#ResourceManagement #ResourceImporter #ListTable::item:alternate
|
||||
{
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
#ResourceManagement #ResourceImporter #SelectionTable
|
||||
{
|
||||
qproperty-showGrid: false;
|
||||
border: none;
|
||||
gridline-color: #393a3c;
|
||||
}
|
||||
|
||||
#ResourceManagement #ResourceImporter #SelectionTable::item
|
||||
{
|
||||
padding: 1px 1px 1px 1px;
|
||||
|
||||
}
|
||||
|
||||
#ResourceManagement #ResourceImporter #LoadingLabel
|
||||
{
|
||||
color : #F0C32D;
|
||||
}
|
||||
|
||||
#ResourceManagement #MainToolbar #SaveButton,
|
||||
#ResourceManagement #MainToolbar #DeleteButton,
|
||||
#ResourceManagement #MainToolbar #SourceControlButton,
|
||||
#ResourceManagement #MainToolbar #AddNewButton
|
||||
{
|
||||
qproperty-flat: true;
|
||||
}
|
||||
|
||||
#ResourceManagement #MainToolbar #CurrentProfile
|
||||
{
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #MainToolbar #CurrentDeployment
|
||||
{
|
||||
margin-right: 12px;
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #UpdateStack #Refreshing
|
||||
{
|
||||
margin-top: 12px;
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
#ResourceManagement #UpdateStack #Message
|
||||
{
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
#ResourceManagement #UpdateStack #Table {
|
||||
qproperty-alternatingRowColors: true;
|
||||
qproperty-showGrid: false;
|
||||
}
|
||||
|
||||
#ResourceManagement #UpdateStack #Table::item {
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
#ResourceManagement #UpdateStack #Table::item:alternate {
|
||||
background-color: #393a3c;
|
||||
}
|
||||
|
||||
#ResourceManagement #UpdateStack #Status {
|
||||
color: #F0C32D;
|
||||
}
|
||||
|
||||
#ProfileSelector #DeleteProfile {
|
||||
width: 38px;
|
||||
height: 11px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#ProfileSelector #EditSelectedProfile {
|
||||
color: #00A1C9;
|
||||
}
|
||||
|
||||
#InitializeCloudCanvasProject #Profiles QRadioButton {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
#InitializeCloudCanvasProject #ProfileEditButtons {
|
||||
}
|
||||
|
||||
#InitializeCloudCanvasProject #ProfileEditButtons QPushButton {
|
||||
}
|
||||
|
||||
#InitializeCloudCanvasProject #ContentFrame {
|
||||
x-margin: 6px;
|
||||
x-padding: 6px;
|
||||
border: 1px solid rgb(34, 35, 38);
|
||||
x-background-color: purple;
|
||||
}
|
||||
|
||||
#LoginDialog
|
||||
{
|
||||
background-color: #F8F8F8;
|
||||
}
|
||||
|
||||
#LoginDialog Amazon--LoginWelcomeTitle
|
||||
{
|
||||
color: #444444;
|
||||
background-color: #F8F8F8;
|
||||
font-size: 21px;
|
||||
qproperty-alignment: AlignCenter;
|
||||
font-family: "Open Sans Semibold";
|
||||
}
|
||||
|
||||
#LoginDialog Amazon--LoginWelcomeText
|
||||
{
|
||||
color: #444444;
|
||||
background-color: #F8F8F8;
|
||||
font-size: 13px;
|
||||
qproperty-alignment: AlignLeft;
|
||||
}
|
||||
|
||||
#LoginDialog Amazon--LoginFooterText
|
||||
{
|
||||
color: #999999;
|
||||
background-color: #F8F8F8;
|
||||
font-size: 13px;
|
||||
qproperty-alignment: AlignCenter;
|
||||
}
|
||||
|
||||
#LoginDialog Amazon--LoginWebViewFrame
|
||||
{
|
||||
border: 2px solid #EEEEEE;
|
||||
}
|
||||
|
||||
#LoginDialog Amazon--LoginWebView
|
||||
{
|
||||
background-color: #F8F8F8;
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<file alias="Editor/Style/Editor.qss">Editor.qss</file>
|
||||
<file alias="Editor/Style/EditorPreferencesDialog.qss">EditorPreferencesDialog.qss</file>
|
||||
<file alias="Editor/Style/CloudCanvas.qss">CloudCanvas.qss</file>
|
||||
<file alias="Editor/Style/LayoutConfigDialog.qss">LayoutConfigDialog.qss</file>
|
||||
<file alias="Editor/Style/GraphicsSettingsDialog.qss">GraphicsSettingsDialog.qss</file>
|
||||
<file alias="Editor/Style/LensFlareEditor.qss">LensFlareEditor.qss</file>
|
||||
<file alias="Assets/Editor/Style/Editor.qss">Editor.qss</file>
|
||||
<file alias="Assets/Editor/Style/EditorPreferencesDialog.qss">EditorPreferencesDialog.qss</file>
|
||||
<file alias="Assets/Editor/Style/LayoutConfigDialog.qss">LayoutConfigDialog.qss</file>
|
||||
<file alias="Assets/Editor/Style/GraphicsSettingsDialog.qss">GraphicsSettingsDialog.qss</file>
|
||||
<file alias="Assets/Editor/Style/LensFlareEditor.qss">LensFlareEditor.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -1088,7 +1088,7 @@ void CTimeOfDayDialog::OnResetToDefaultValues()
|
||||
ITimeOfDay* pTimeOfDay = gEnv->p3DEngine->GetTimeOfDay();
|
||||
|
||||
// Load the default time of day settings and use those to reset the time of day.
|
||||
XmlNodeRef root = GetISystem()->LoadXmlFromFile("Editor/default_time_of_day.xml");
|
||||
XmlNodeRef root = GetISystem()->LoadXmlFromFile("default_time_of_day.xml");
|
||||
if (root)
|
||||
{
|
||||
pTimeOfDay->Serialize(root, true);
|
||||
|
||||
@@ -335,21 +335,9 @@ void CToolBoxManager::Load(ActionManager* actionManager)
|
||||
|
||||
if (actionManager)
|
||||
{
|
||||
QByteArray array = gSettings.strEditorEnv.toUtf8();
|
||||
AZStd::string actualPath = AZStd::string::format("@engroot@/%s", array.constData());
|
||||
XmlNodeRef envNode = XmlHelpers::LoadXmlFromFile(actualPath.c_str());
|
||||
if (envNode)
|
||||
{
|
||||
int childrenCount = envNode->getChildCount();
|
||||
for (int idx = 0; idx < childrenCount; ++idx)
|
||||
{
|
||||
XmlNodeRef child = envNode->getChild(idx);
|
||||
if (child->haveAttr("scriptPath") && child->haveAttr("shelvesPath"))
|
||||
{
|
||||
LoadShelves(child->getAttr("scriptPath"), child->getAttr("shelvesPath"), actionManager);
|
||||
}
|
||||
}
|
||||
}
|
||||
auto engineSourceAssetPath = AZ::IO::FixedMaxPath(AZ::Utils::GetEnginePath()) / "Assets";
|
||||
LoadShelves((engineSourceAssetPath / "Editor" / "Scripts").c_str(),
|
||||
(engineSourceAssetPath / "Editor" / "Scripts" / "Shelves").c_str(), actionManager);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -589,7 +589,7 @@ void CLayoutViewPane::ShowTitleMenu()
|
||||
action->setChecked(IsFullscreen());
|
||||
|
||||
action = root.addAction(tr("Configure Layout..."));
|
||||
if (AZ::Interface<AzFramework::AtomActiveInterface>::Get())
|
||||
if (!CViewManager::IsMultiViewportEnabled())
|
||||
{
|
||||
action->setDisabled(true);
|
||||
}
|
||||
|
||||
@@ -511,9 +511,6 @@ set(FILES
|
||||
DimensionsDialog.cpp
|
||||
DimensionsDialog.h
|
||||
DimensionsDialog.ui
|
||||
Dialogs/QT/NewEntityDialog.cpp
|
||||
Dialogs/QT/NewEntityDialog.h
|
||||
Dialogs/QT/NewEntityDialog.ui
|
||||
NewLevelDialog.cpp
|
||||
NewLevelDialog.h
|
||||
NewLevelDialog.ui
|
||||
@@ -551,7 +548,6 @@ set(FILES
|
||||
DatabaseFrameWnd.h
|
||||
DatabaseFrameWnd.ui
|
||||
DatabaseFrameWnd.qrc
|
||||
Dialogs/DuplicatedObjectsHandlerDlg.h
|
||||
DocMultiArchive.h
|
||||
EditMode/DeepSelection.h
|
||||
FBXExporterDialog.h
|
||||
@@ -711,8 +707,6 @@ set(FILES
|
||||
graphicssettingsdialog.ui
|
||||
AboutDialog.cpp
|
||||
DatabaseFrameWnd.cpp
|
||||
Dialogs/DuplicatedObjectsHandlerDlg.cpp
|
||||
Dialogs/DuplicatedObjectsHandlerDlg.ui
|
||||
ErrorReportTableModel.h
|
||||
ErrorReportTableModel.cpp
|
||||
EditMode/DeepSelection.cpp
|
||||
|
||||
@@ -376,9 +376,9 @@ private:
|
||||
// Tracks new entities that have not yet been saved.
|
||||
AZStd::unordered_set<AZ::EntityId> m_unsavedEntities;
|
||||
|
||||
const AZStd::string m_defaultComponentIconLocation = "Editor/Icons/Components/Component_Placeholder.svg";
|
||||
const AZStd::string m_defaultComponentViewportIconLocation = "Editor/Icons/Components/Viewport/Component_Placeholder.png";
|
||||
const AZStd::string m_defaultEntityIconLocation = "Editor/Icons/Components/Viewport/Transform.png";
|
||||
const AZStd::string m_defaultComponentIconLocation = "Icons/Components/Component_Placeholder.svg";
|
||||
const AZStd::string m_defaultComponentViewportIconLocation = "Icons/Components/Viewport/Component_Placeholder.png";
|
||||
const AZStd::string m_defaultEntityIconLocation = "Icons/Components/Viewport/Transform.png";
|
||||
|
||||
bool m_debugDisplayBusImplementationActive = false;
|
||||
|
||||
|
||||
+2
-2
@@ -33,8 +33,8 @@ void ComponentCategoryList::Init()
|
||||
headers << tr("Categories");
|
||||
setHeaderLabels(headers);
|
||||
|
||||
const QString parentCategoryIconPath = QString("Editor/Icons/PropertyEditor/Browse_on.png");
|
||||
const QString categoryIconPath = QString("Editor/Icons/PropertyEditor/Browse.png");
|
||||
const QString parentCategoryIconPath = QString("Icons/PropertyEditor/Browse_on.png");
|
||||
const QString categoryIconPath = QString("Icons/PropertyEditor/Browse.png");
|
||||
|
||||
QTreeWidgetItem* allCategory = new QTreeWidgetItem(this);
|
||||
allCategory->setText(0, "All");
|
||||
|
||||
@@ -94,7 +94,7 @@ namespace AZ
|
||||
{
|
||||
if (AzFramework::StringFunc::Equal(extensionString.c_str(), potentialExtension.c_str()))
|
||||
{
|
||||
return AzToolsFramework::AssetBrowser::SourceFileDetails("Editor/Icons/AssetBrowser/FBX_16.png");
|
||||
return AzToolsFramework::AssetBrowser::SourceFileDetails("Icons/AssetBrowser/FBX_16.png");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<RCC>
|
||||
<qresource prefix="/Icons">
|
||||
<file alias="Browse.png">../../../../Editor/Icons/PropertyEditor/Browse.png</file>
|
||||
<file alias="Browse_On.png">../../../../Editor/Icons/PropertyEditor/Browse_on.png</file>
|
||||
<file alias="DeleteRule.png">../../../../Editor/Icons/PropertyEditor/remove.png</file>
|
||||
<file alias="DeleteGroup.png">../../../../Editor/Icons/PropertyEditor/remove.png</file>
|
||||
<file alias="Error.png">../../../../Editor/Icons/PropertyEditor/error_icon.png</file>
|
||||
<file alias="RefreshGroup.png">../../../../Editor/Icons/PropertyEditor/reset_icon.png</file>
|
||||
<file alias="MeshSelectorBrowse.png">../../../../Editor/Icons/AssetImporter/mesh.png</file>
|
||||
<file alias="MeshSelectorBrowse_On.png">../../../../Editor/Icons/AssetImporter/mesh_on.png</file>
|
||||
<file alias="MeshTreeIcon.png">../../../../Editor/Icons/AssetImporter/mesh_on.png</file>
|
||||
<file alias="GroupTreeIcon.png">../../../../Editor/Icons/AssetImporter/group_icon.png</file>
|
||||
<file alias="CheckMark_Checked.png">../../../../Editor/Icons/checkmark_checked.png</file>
|
||||
<file alias="CheckMark_Hover.png">../../../../Editor/Icons/checkmark_checked_hover.png</file>
|
||||
<file alias="CheckMark_Unchecked_Hover.png">../../../../Editor/Icons/checkmark_unchecked_hover.png</file>
|
||||
<file alias="Browse.png">../../../../Assets/Editor/Icons/PropertyEditor/Browse.png</file>
|
||||
<file alias="Browse_On.png">../../../../Assets/Editor/Icons/PropertyEditor/Browse_on.png</file>
|
||||
<file alias="DeleteRule.png">../../../../Assets/Editor/Icons/PropertyEditor/remove.png</file>
|
||||
<file alias="DeleteGroup.png">../../../../Assets/Editor/Icons/PropertyEditor/remove.png</file>
|
||||
<file alias="Error.png">../../../../Assets/Editor/Icons/PropertyEditor/error_icon.png</file>
|
||||
<file alias="RefreshGroup.png">../../../../Assets/Editor/Icons/PropertyEditor/reset_icon.png</file>
|
||||
<file alias="MeshSelectorBrowse.png">../../../../Assets/Editor/Icons/AssetImporter/mesh.png</file>
|
||||
<file alias="MeshSelectorBrowse_On.png">../../../../Assets/Editor/Icons/AssetImporter/mesh_on.png</file>
|
||||
<file alias="MeshTreeIcon.png">../../../../Assets/Editor/Icons/AssetImporter/mesh_on.png</file>
|
||||
<file alias="GroupTreeIcon.png">../../../../Assets/Editor/Icons/AssetImporter/group_icon.png</file>
|
||||
<file alias="CheckMark_Checked.png">../../../../Assets/Editor/Icons/checkmark_checked.png</file>
|
||||
<file alias="CheckMark_Hover.png">../../../../Assets/Editor/Icons/checkmark_checked_hover.png</file>
|
||||
<file alias="CheckMark_Unchecked_Hover.png">../../../../Assets/Editor/Icons/checkmark_unchecked_hover.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -175,7 +175,7 @@ CDockTitleBarWidget::CDockTitleBarWidget(QDockWidget* dockWidget)
|
||||
m_layout->addLayout(m_buttonLayout, 0);
|
||||
|
||||
m_floatButton = new CDockWidgetTitleButton(dockWidget);
|
||||
m_floatButton->setIcon(QIcon("Editor/Icons/float.png"));
|
||||
m_floatButton->setIcon(QIcon("Icons/float.png"));
|
||||
m_floatButton->setVisible(opt.floatable);
|
||||
m_floatButton->setToolTip("Toggle Floating");
|
||||
connect(m_floatButton, SIGNAL(clicked()), SLOT(OnFloatButtonPressed()));
|
||||
@@ -185,7 +185,7 @@ CDockTitleBarWidget::CDockTitleBarWidget(QDockWidget* dockWidget)
|
||||
// close.png is a standard icon that looks similar to one in Fusion theme but
|
||||
// uses alpha so it can be used on dark theme as well.
|
||||
// style()->standardIcon(QStyle::SP_TitleBarCloseButton, &opt, dockWidget)
|
||||
QIcon closeIcon("Editor/Icons/close.png");
|
||||
QIcon closeIcon("Icons/close.png");
|
||||
m_closeButton->setIcon(closeIcon);
|
||||
m_closeButton->setVisible(opt.closable);
|
||||
m_closeButton->setToolTip("Close");
|
||||
|
||||
@@ -80,7 +80,7 @@ void PropertyRowLocalFrameBase::reset(QPropertyTree* tree)
|
||||
|
||||
void PropertyRowLocalFrameBase::redraw(const PropertyDrawContext& context)
|
||||
{
|
||||
static QIcon gizmo("Editor/Icons/animation/gizmo_location.png");
|
||||
static QIcon gizmo("Icons/animation/gizmo_location.png");
|
||||
gizmo.paint(context.painter, context.widgetRect.adjusted(1, 1, 1, 1), Qt::AlignRight);
|
||||
}
|
||||
|
||||
|
||||
@@ -292,7 +292,7 @@ const QIcon& PropertyRowResourceSelector::buttonIcon(const QPropertyTree* tree,
|
||||
}
|
||||
case BUTTON_CREATE:
|
||||
{
|
||||
static QIcon addIcon("Editor/Icons/animation/add.png");
|
||||
static QIcon addIcon("Icons/animation/add.png");
|
||||
;
|
||||
return addIcon;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user