Integrating latest 47acbe8

This commit is contained in:
alexpete
2021-03-25 13:57:57 -07:00
parent 448c549698
commit 75dc720198
10312 changed files with 2711566 additions and 671451 deletions
@@ -1,55 +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.
// Description : Multicast multiple functors.
#ifndef CRYINCLUDE_EDITOR_UTIL_FUNCTORMULTICASTER_H
#define CRYINCLUDE_EDITOR_UTIL_FUNCTORMULTICASTER_H
#pragma once
//////////////////////////////////////////////////////////////////////////
template <class _event>
class FunctorMulticaster
{
public:
typedef Functor1<_event> callback;
FunctorMulticaster() {}
virtual ~FunctorMulticaster() {}
void AddListener(const callback& func)
{
m_listeners.push_back(func);
}
void RemoveListener(const callback& func)
{
m_listeners.remove(func);
}
void Call(_event evt)
{
typename std::list<callback>::iterator iter;
for (iter = m_listeners.begin(); iter != m_listeners.end(); ++iter)
{
(*iter)(evt);
}
}
private:
std::list<callback> m_listeners;
};
#endif // CRYINCLUDE_EDITOR_UTIL_FUNCTORMULTICASTER_H
+6 -6
View File
@@ -293,7 +293,7 @@ void CVarBlock::Unwire(CVarBlock* toVarBlock)
}
//////////////////////////////////////////////////////////////////////////
void CVarBlock::AddOnSetCallback(IVariable::OnSetCallback func)
void CVarBlock::AddOnSetCallback(IVariable::OnSetCallback* func)
{
for (Variables::iterator it = m_vars.begin(); it != m_vars.end(); ++it)
{
@@ -303,7 +303,7 @@ void CVarBlock::AddOnSetCallback(IVariable::OnSetCallback func)
}
//////////////////////////////////////////////////////////////////////////
void CVarBlock::RemoveOnSetCallback(IVariable::OnSetCallback func)
void CVarBlock::RemoveOnSetCallback(IVariable::OnSetCallback* func)
{
for (Variables::iterator it = m_vars.begin(); it != m_vars.end(); ++it)
{
@@ -313,7 +313,7 @@ void CVarBlock::RemoveOnSetCallback(IVariable::OnSetCallback func)
}
//////////////////////////////////////////////////////////////////////////
void CVarBlock::SetCallbackToVar(IVariable::OnSetCallback func, IVariable* pVar, bool bAdd)
void CVarBlock::SetCallbackToVar(IVariable::OnSetCallback* func, IVariable* pVar, bool bAdd)
{
if (bAdd)
{
@@ -396,7 +396,7 @@ CVarObject::~CVarObject()
{}
//////////////////////////////////////////////////////////////////////////
void CVarObject::AddVariable(CVariableBase& var, const QString& varName, VarOnSetCallback cb, unsigned char dataType)
void CVarObject::AddVariable(CVariableBase& var, const QString& varName, VarOnSetCallback* cb, unsigned char dataType)
{
if (!m_vars)
{
@@ -413,7 +413,7 @@ void CVarObject::AddVariable(CVariableBase& var, const QString& varName, VarOnSe
}
//////////////////////////////////////////////////////////////////////////
void CVarObject::AddVariable(CVariableBase& var, const QString& varName, const QString& varHumanName, VarOnSetCallback cb, unsigned char dataType)
void CVarObject::AddVariable(CVariableBase& var, const QString& varName, const QString& varHumanName, VarOnSetCallback* cb, unsigned char dataType)
{
if (!m_vars)
{
@@ -431,7 +431,7 @@ void CVarObject::AddVariable(CVariableBase& var, const QString& varName, const Q
}
//////////////////////////////////////////////////////////////////////////
void CVarObject::AddVariable(CVariableArray& table, CVariableBase& var, const QString& varName, const QString& varHumanName, VarOnSetCallback cb, unsigned char dataType)
void CVarObject::AddVariable(CVariableArray& table, CVariableBase& var, const QString& varName, const QString& varHumanName, VarOnSetCallback* cb, unsigned char dataType)
{
if (!m_vars)
{
+20 -21
View File
@@ -17,7 +17,6 @@
#include "RefCountBase.h"
#include <functor.h>
#include "Include/EditorCoreAPI.h"
@@ -196,7 +195,7 @@ struct IVariable
UI_CREATE_SPLINE = BIT(12), //!< To indicate the spline need to be re-created. This is usually because the data was changed directly through the data address
};
typedef Functor1<IVariable*> OnSetCallback;
typedef AZStd::function<void(IVariable*)> OnSetCallback;
using OnSetEnumCallback = OnSetCallback;
// Store IGetCustomItems into IVariable's UserData and set datatype to
@@ -335,15 +334,15 @@ struct IVariable
//////////////////////////////////////////////////////////////////////////
// Assign on set callback.
//////////////////////////////////////////////////////////////////////////
virtual void AddOnSetCallback(OnSetCallback func) = 0;
virtual void RemoveOnSetCallback(OnSetCallback func) = 0;
virtual void AddOnSetCallback(OnSetCallback* func) = 0;
virtual void RemoveOnSetCallback(OnSetCallback* func) = 0;
virtual void ClearOnSetCallbacks() {}
//////////////////////////////////////////////////////////////////////////
// Assign callback triggered when enums change.
//////////////////////////////////////////////////////////////////////////
virtual void AddOnSetEnumCallback(OnSetEnumCallback func) = 0;
virtual void RemoveOnSetEnumCallback(OnSetCallback func) = 0;
virtual void AddOnSetEnumCallback(OnSetEnumCallback* func) = 0;
virtual void RemoveOnSetEnumCallback(OnSetCallback* func) = 0;
virtual void ClearOnSetEnumCallbacks() {}
//////////////////////////////////////////////////////////////////////////
@@ -489,7 +488,7 @@ public:
}
//////////////////////////////////////////////////////////////////////////
void AddOnSetCallback(OnSetCallback func)
void AddOnSetCallback(OnSetCallback* func)
{
if (!stl::find(m_onSetFuncs, func))
{
@@ -498,7 +497,7 @@ public:
}
//////////////////////////////////////////////////////////////////////////
void RemoveOnSetCallback(OnSetCallback func)
void RemoveOnSetCallback(OnSetCallback* func)
{
stl::find_and_erase(m_onSetFuncs, func);
}
@@ -509,7 +508,7 @@ public:
m_onSetFuncs.clear();
}
void AddOnSetEnumCallback(OnSetEnumCallback func) override
void AddOnSetEnumCallback(OnSetEnumCallback* func) override
{
if (!stl::find(m_onSetEnumFuncs, func))
{
@@ -518,7 +517,7 @@ public:
}
//////////////////////////////////////////////////////////////////////////
void RemoveOnSetEnumCallback(OnSetCallback func)
void RemoveOnSetEnumCallback(OnSetCallback* func)
{
stl::find_and_erase(m_onSetEnumFuncs, func);
}
@@ -553,7 +552,7 @@ public:
for (auto it = m_onSetFuncs.begin(); it != m_onSetFuncs.end(); ++it)
{
// Call on set callback.
(*it)(this);
(*it)->operator()(this);
}
}
@@ -607,13 +606,13 @@ protected:
{
return *this;
}
//////////////////////////////////////////////////////////////////////////
// Variables.
//////////////////////////////////////////////////////////////////////////
typedef std::vector<OnSetCallback> OnSetCallbackList;
typedef std::vector<OnSetCallback*> OnSetCallbackList;
typedef std::vector<IVariablePtr> WiredList;
using OnSetEnumCallbackList = std::vector<OnSetEnumCallback>;
using OnSetEnumCallbackList = std::vector<OnSetEnumCallback*>;
QString m_name;
QString m_humanName;
@@ -1637,7 +1636,7 @@ protected:
for (auto it = m_onSetEnumFuncs.begin(); it != m_onSetEnumFuncs.end(); ++it)
{
// Call on set callback.
(*it)(this);
(*it)->operator()(this);
}
}
@@ -1829,9 +1828,9 @@ public:
void Unwire(CVarBlock* varBlock);
//! Add this callback to every variable in block (recursively).
void AddOnSetCallback(IVariable::OnSetCallback func);
void AddOnSetCallback(IVariable::OnSetCallback* func);
//! Remove this callback from every variable in block (recursively).
void RemoveOnSetCallback(IVariable::OnSetCallback func);
void RemoveOnSetCallback(IVariable::OnSetCallback* func);
//////////////////////////////////////////////////////////////////////////
void Serialize(XmlNodeRef vbNode, bool load);
@@ -1848,7 +1847,7 @@ public:
void Sort();
protected:
void SetCallbackToVar(IVariable::OnSetCallback func, IVariable* pVar, bool bAdd);
void SetCallbackToVar(IVariable::OnSetCallback* func, IVariable* pVar, bool bAdd);
void WireVar(IVariable* src, IVariable* trg, bool bWire);
void GatherUsedResourcesInVar(IVariable* pVar, CUsedResources& resources);
@@ -1874,9 +1873,9 @@ public:
void Serialize(XmlNodeRef node, bool load);
CVarBlock* GetVarBlock() const { return m_vars; };
void AddVariable(CVariableBase& var, const QString& varName, VarOnSetCallback cb = NULL, unsigned char dataType = IVariable::DT_SIMPLE);
void AddVariable(CVariableBase& var, const QString& varName, const QString& varHumanName, VarOnSetCallback cb = NULL, unsigned char dataType = IVariable::DT_SIMPLE);
void AddVariable(CVariableArray& table, CVariableBase& var, const QString& varName, const QString& varHumanName, VarOnSetCallback cb = NULL, unsigned char dataType = IVariable::DT_SIMPLE);
void AddVariable(CVariableBase& var, const QString& varName, VarOnSetCallback* cb = NULL, unsigned char dataType = IVariable::DT_SIMPLE);
void AddVariable(CVariableBase& var, const QString& varName, const QString& varHumanName, VarOnSetCallback* cb = NULL, unsigned char dataType = IVariable::DT_SIMPLE);
void AddVariable(CVariableArray& table, CVariableBase& var, const QString& varName, const QString& varHumanName, VarOnSetCallback* cb = NULL, unsigned char dataType = IVariable::DT_SIMPLE);
void ReserveNumVariables(int numVars);
void RemoveVariable(IVariable* var);