@@ -25,9 +25,20 @@ namespace FlaxEditor.CustomEditors.Dedicated
|
||||
get
|
||||
{
|
||||
// All selected particle effects use the same system
|
||||
var effect = (ParticleEffect)Values[0];
|
||||
var system = effect.ParticleSystem;
|
||||
return system != null && Values.TrueForAll(x => (x as ParticleEffect)?.ParticleSystem == system);
|
||||
var effect = Values[0] as ParticleEffect;
|
||||
var system = effect ? effect.ParticleSystem : null;
|
||||
if (system && Values.TrueForAll(x => x is ParticleEffect fx && fx && fx.ParticleSystem == system))
|
||||
{
|
||||
// All parameters can be accessed
|
||||
var parameters = effect.Parameters;
|
||||
foreach (var parameter in parameters)
|
||||
{
|
||||
if (!parameter)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -402,7 +402,7 @@ SceneRenderTask* ParticleEffect::GetRenderTask() const
|
||||
|
||||
#if USE_EDITOR
|
||||
|
||||
Array<ParticleEffect::ParameterOverride> ParticleEffect::GetParametersOverrides()
|
||||
Array<ParticleEffect::ParameterOverride>& ParticleEffect::GetParametersOverrides()
|
||||
{
|
||||
CacheModifiedParameters();
|
||||
return _parametersOverrides;
|
||||
@@ -461,7 +461,6 @@ void ParticleEffect::CacheModifiedParameters()
|
||||
{
|
||||
if (_parameters.IsEmpty())
|
||||
return;
|
||||
|
||||
_parametersOverrides.Clear();
|
||||
auto& parameters = GetParameters();
|
||||
for (auto& param : parameters)
|
||||
|
||||
@@ -382,7 +382,7 @@ public:
|
||||
#if USE_EDITOR
|
||||
protected:
|
||||
// Exposed parameters overrides for Editor Undo.
|
||||
API_PROPERTY(Attributes="HideInEditor, Serialize") Array<ParticleEffect::ParameterOverride> GetParametersOverrides();
|
||||
API_PROPERTY(Attributes="HideInEditor, Serialize") Array<ParticleEffect::ParameterOverride>& GetParametersOverrides();
|
||||
API_PROPERTY() void SetParametersOverrides(const Array<ParticleEffect::ParameterOverride>& value);
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user