Files
o3de/Gems/LyShine/Code/Editor/Animation/UiAnimViewSequenceManager.h
T
Artur K 45b2336dce Legacy cleanup (#3383)
* WIP - small legacy cleanup

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* More cleanups + build fixes

Use AZstd instead of std types in a few places.
Remove m_nameTable.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Legacy code cleanups

Remove unused methods using legacy functionality

* EditorViewportWidget::AdjustObjectPosition
* DisplayContext - remove `renderer` pointer
* DisplayContext - log errors when functions using `renderer` are called
* CTrackGizmo::DrawAxis - log errors when function uses `renderer`.
* Legacy CCamera - remove Project, Unproject and CalcScreenBounds
* Remove all unused methods from Cry_GeoDistance.h/Cry_GeoIntersect.h
* Remove Lineseg_Triangle from Cry_GeoOverlap.h
* IEntityRenderState.h - remove unused types
* SMeshColor remove Lerp method and associated constructor.
* IMaterial.h - remove unused types and a few methods
* IRenderMesh.h - remove a few unused methods and use int8 instead of
byte
* IRender.h - remove almost all of the contents
* IShader.h - remove unused types and a few methods
* IStatObj.h - remove unused types and a few methods
* SSystemGlobalEnvironment - remove `renderer` pointer
* IRenderGraph - remove 2 unused methods
* physinterface.h - remove almost all of the contents
* CXmlUtils no longer inherits ISystemEventListener
* CXmlNode no longer has custom new/delete
* Remove IRenderer from some test mocks.

Removed files:
* CryName.h
* Cry_MatrixDiag.h
* Cry_XOptimise.h
* HeapAllocator.h
* IRendererMock.h
* PoolAllocator.h

Things to consider:
* Remove GetMemoryUsage & friends.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Apply review suggestions

IMovieSystem.h - remove unused includes.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Move unreachable code to `#if 0` block

This is hopefully temporary measure until the original functionality is
re-implemented

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix bad merge I messed up.

Fix bad merge I messed up, by re-removing FrameProfiler.h from crycommon_files.cmake (this was removed in an earlier commit this morning: https://github.com/o3de/o3de/pull/3394).

Signed-off-by: bosnichd <bosnichd@amazon.com>

* Update Code/Framework/AzCore/AzCore/std/string/string_view.h

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* implement review suggestion

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* following review, using LYSHINE_ATOM_TODO to guard

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Remove commented out include

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* EditorViewportWidget.cpp: Convert commented out code to  guarded one

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

Co-authored-by: bosnichd <bosnichd@amazon.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-08-25 15:04:38 -06:00

92 lines
2.9 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#pragma once
#include "Util/smartptr.h"
#include "UiAnimViewSequence.h"
#include <LyShine/Animation/IUiAnimation.h>
#include "UiEditorAnimationBus.h"
#include "UiAnimUndoManager.h"
#include "CryCommon/StlUtils.h"
#include <IEditor.h>
struct IUiAnimViewSequenceManagerListener
{
virtual void OnSequenceAdded([[maybe_unused]] CUiAnimViewSequence* pSequence) {}
virtual void OnSequenceRemoved([[maybe_unused]] CUiAnimViewSequence* pSequence) {}
};
class CUiAnimViewSequenceManager
: public IEditorNotifyListener
, public UiEditorAnimationBus::Handler
{
friend class CAbstractUndoSequenceTransaction;
public:
CUiAnimViewSequenceManager();
~CUiAnimViewSequenceManager();
virtual void OnEditorNotifyEvent(EEditorNotifyEvent event);
unsigned int GetCount() const { return static_cast<unsigned int>(m_sequences.size()); }
void CreateSequence(QString name);
void DeleteSequence(CUiAnimViewSequence* pSequence);
CUiAnimViewSequence* GetSequenceByName(QString name) const;
CUiAnimViewSequence* GetSequenceByIndex(unsigned int index) const;
CUiAnimViewSequence* GetSequenceByAnimSequence(IUiAnimSequence* pAnimSequence) const;
CUiAnimViewAnimNodeBundle GetAllRelatedAnimNodes(const AZ::Entity* pEntityObject) const;
CUiAnimViewAnimNode* GetActiveAnimNode(const AZ::Entity* pEntityObject) const;
void AddListener(IUiAnimViewSequenceManagerListener* pListener) { stl::push_back_unique(m_listeners, pListener); }
void RemoveListener(IUiAnimViewSequenceManagerListener* pListener) { stl::find_and_erase(m_listeners, pListener); }
// UI_ANIMATION_REVISIT, made this a singleton for now
static CUiAnimViewSequenceManager* GetSequenceManager();
static void Create();
static void Destroy();
// UiEditorAnimationInterface
CUiAnimationContext* GetAnimationContext() override;
IUiAnimationSystem* GetAnimationSystem() override;
CUiAnimViewSequence* GetCurrentSequence() override;
void ActiveCanvasChanged() override;
// ~UiEditorAnimationInterface
private:
void DeleteAllSequences();
void CreateSequencesFromAnimationSystem();
void SortSequences();
void OnSequenceAdded(CUiAnimViewSequence* pSequence);
void OnSequenceRemoved(CUiAnimViewSequence* pSequence);
std::vector<IUiAnimViewSequenceManagerListener*> m_listeners;
std::vector<std::unique_ptr<CUiAnimViewSequence> > m_sequences;
uint32 m_nextSequenceId;
// Used to handle object attach/detach
std::unordered_map<CUiAnimViewNode*, Matrix34> m_prevTransforms;
static CUiAnimViewSequenceManager* s_instance;
IUiAnimationSystem* m_animationSystem;
CUiAnimationContext* m_animationContext;
UiAnimUndoManager m_undoManager;
};